Two Buck Converters were used to generate stable voltages of 12V and 9V. The 12V line was used to power the motor drivers and the 9V line was used to power the Arduinos.
Four Equivalent IR sensing circuits were built to detect the IR beacon at different orientations. Each circuit included the following stages:
Sourcing Amplifier
Unity Gain Buffer
High Pass Filter (to filter sunlight and ambient IR light)
Cascaded Non Inverting Amplifiers (Gain of around 2500)
LED Indicator
Low Pass Filter (to convert AC to mean value)
The ICs on the top were used for the unity buffers.
The ICs on the bottom were used for the amplifiers.
The IR sensors on the left breadboard are used for initial orientation alignment. Both the green and red LEDs turn on only when the robot is properly aligned towards the beacons.
The IR sensors on the right breadboard are used to detect the hog line region. When the robot reaches this region, at least one of the yellow LEDs lights up.
We used an Arduino dedicated to controlling the motors. We called it the Spinal Cord Arduino.
Each L298N motor driver controls 2 motors. The commands to control the motors is received from the Brain Arduino in Pins 3,11 and 13
The brain Arduino integrates the sensor signals and outputs actuating commands according to the state diagram.
The IR detection outputs from the 4 directions are received in the analog pins A0, A1, A2 and A3
The ultrasonic sensors located in the back and side of the robot communicate with the digital pins D5, D6, D11 and D12.
The servo outputs to release the pucks are at pins D9 and D10.
The wheel motor commands are sent via digital pins D2, D3 and D4