Inspiration
We believe in a future where farming can be automated and the search for suitable farmland is intuitive and sustainable. Armed with this goal, we designed a robot that would be able to determine the agricultural potential over a large area.
What it does
We built hardware that collects data of the soil and sends the information to a program that interprets this data and creates a 3d graph which shows how viable the soil is for farming over a plot of land.
How we built it
We used an Arduino with a temperature and moisture sensor to gather data on soil. On every iteration, the data gets sent to a python program running on a laptop via serial communication. Then, the data sent is parsed and ran through an algorithm to calculate the 'healthiness' of the soil. This healthiness value is plotted on a 3d graph, with the base representing the area of the soil measured. The graph is then serialized and encoded into base64 and stored in memory, then sent to a quick website meant for data visualization via a GET request (python flask).
Challenges we ran into
We wanted to use websockets for streaming data, but didn't have a way to connect our Arduino to the internet. Due to this, we had to switch our implementation to use serial communication and everything that was supposed to be online was locally hosted instead.
Accomplishments that we're proud of
We are proud of the fact that we used a lot of new tools we never used before. We were also able to finish our core ideas and our main objectives before the deadline.
What we learned
How to:
- create 3d plots with Matplotlib
- stream data between hardware & services
- use the arduino and it's components
What's next for DirtBot
Pathfinding, automatic data collection, and a fully-featured dashboard website with a more interactive data viewer.
Log in or sign up for Devpost to join the conversation.