This line maze solver is being driven an ATmega168 microcontroller which is programmed using the Arduino IDE.
The device was able to follow the lines accordingly and makes it pre-programmed by using the PID control. It is also responsible for the timing-based turns once it has identified which way it wants to go at a given intersection. It will start to miss intersections if the robot is pushed much further which makes this seemingly at the limit of what it can do with the current programming and may turn cleaning the tires would make it function properly.
For storing the intersections, a 200-byte array was used which can be optimized to be capable of storing 800 intersections since only 2 bits are needed to encode the 4 possible intersection options. For storing the lengths of all the line segments between intersections, another 200-byte array were used which makes it possible to determine which ones were long enough to safely run at higher speeds. The robot never stores the entire maze since it prunes its intersection list as it runs such as reaching a dead end and backtracking which eliminates those dead end intersections.
Wire-to-board interconnection options from Sullins feature a wide range of sizes and applications
MCC’s TVS series high-power suppressors protect sensitive components from voltage spikes and transients
Evaluation boards that streamline evaluating circuit protection on RS-485 serial device ports
There are currently no comments.