For those who are not familiarized with the electronics:

HOW BREADBOARD WORKS

If you are not familiarized with breadboards try watching the following video: https://www.youtube.com/watch?v=gwcVr5VfXwA

KEY COMPONENTS

We have two key components on this circuit , the DAC ( Digital to analog converter ) and the OP AMP ( Operational Amplifier ). In simple words , the DAC send a current output to the OP AMP (value depends on the digital input calculated on the Arduino code), which is configured as a transconductance amplifier( a current-to-voltage converter ) , and the desired voltage is send to the Proportional Valve that control the cart movement.

In order to send the digital value calculated by the arduino code we need to convert the decimal number from the code to binary . The DAC0808 has 8 bits , so the minimum decimal value that can be send to it is 0 (0 in binary) and the maximum is 255 (11111111 in binary). This data will be send through 8 ports connected between the Arduino and the DAC. A quick look at the DAC0808 datasheet and we can found the way that the ports needs to be connected. The MSB (most significant bit) port is the first of the eight number of the binary number , and the LSB(least significant bit) is the eighty of the eight numbers. The way the arduino send this value is very simple , we can send a HIGH or a LOW signal to each DAC pin. HIGH represent 1 and LOW represent 0. For example , if we want to send the digital value of 100 ( in binary is 1100100 ) the signal send through the Arduino will be ( HIGH(MSB)-HIGH-LOW-LOW-HIGH-LOW-LOW(LSB) ). How to program this procedure on the Arduino Language ( we are using C ) , is described on the Code section.

If you are following the original tutorial you might have problem with the voltage output to the proportional valve. The problem can be one of the following: