Initial Project Plan

I began my design by having the end goal in mind a proof of concept system to show that an infrared perimeter could be used to map out the edges of a yard for an automated lawn mower. I wanted this project to be focused on being able to accomplish my goal of have a fully showcased project in only a few weeks and thus I had 2 main focuses in mind. First I wanted a good prototype housing that would store the real meat of the project (the coding and IR receiver parts) and I also wanted to make sure the IR receiver and code would function well enough to showcase the idea I had in mind.

CAD Design Progression

In order to create a robot that could help emulate an actual autonomous lawnmower I needed to create a model using Solid Works that could be 3D printed in order to house the components and allow for testing of code that I would later write. I have a home 3D printer and so I made the basic requirements that any design I 3D printed would have to be achievable with an Ender 3 Pro.

I wanted this project to be less than $100 since that was the limit to what the summer design intensive program would provide. As such, I reused an Arduino Uno and an Adafruit motor shield I had laying around to be the brains of the code and to run the movement of the project.

When Designing the CAD using Solidworks I created several iterations and learned how to maximize the efficiency for when the 3D printed parts would be created.

Code Implementation

The logic behind the code was whenever the IR receiver picked up a signal it would decode the transmission as boolean and follow a certain procedure. If the IR reliever was in the act of receiving a signal then it should stop moving forward and perform a maneuver to get inline with the IR beam.

For this project I ended up learning how to decode IR transmissions and implement IR decoding libraries in Arduino IDE. The result was that the code worked as planned and allowed for the final step of the project.

Fabrication

After 3D printing some the housing I used an Arduino Uno with an Adafruit motor shield in order to run some 12v motors. I used a IR receiver that requires 5v to operate and wired it up to the Arduino using pin 11 as the input. No resistors where needed seeing as the voltage and current tolerances were all within a reasonable range without them.

From here I used an IR transmitter that would ping the receiver onboard the Arduino and then proceed with the code I had written. The code's logic was that robot would turn a set number of degrees and back up before resuming its forward progress. If it his the IR interceptor beam again it would then backup once more and align itself with the IR beam.

Final Product

To the right is a video showing the proof of concept that an IR laser boundary can be used to create an easy to set up invisible wall for automated lawnmowers.

The red tape gives a visual representation of where the IR emitter's ray is.