Communicate with Birds
2023.12 (3 weeks)
Program: Arduino, IO feed(Adafruit)
Device: Distance Sensor, ESP32, Motor
Team: Leslie Ho, Giah Kim, Mary Zhang
(We made each bird system and connected each bird)
Birds' movements are usually led by experienced birds in the middle of the herd. The rest of the flock follows the movement of the most advanced bird. The geese fly in a V-shaped formation, which is one of the least wind-resistant ways of flying. We followed this bird's mechanism to create a communication system that exchanges and communicates with each other's location information via the io feed and resets its own location values.
Diagram
Process 1
First of all, we used knob sensors to map the sensor values from 0 to 4095 from 0 to 100 and tested the motor as forward when it was below 50, and backward when it was over 50.
Using Motor with ESP32
When we used the motor, we wanted the forward and backward to rotate 360 degrees, so we used the DC motor instead of the servo motor. To use the DC motor through Esp32, we used Adafruit Stepper and DC Motor Feather Wing.
Process 2
After that, we tested reading and communicating with each other through IO feed using two DC motors and two ESP32.
Process 3
We wanted to communicate with three birds, so we tested three ESP32 communication through IO feed.
First, the first bird sets its own height through Distance sensor Value. The speed is set to 30 and it moves forward when birdGap(minus the height of the first bird at the mapped distance sensor value to limit its movement) is higher than 30 and backward when it is lower. The position value of this bird is then sent to the IO feed of the first bird. The second bird then reads the IO feed of the first bird and sets this value to its own position value.
Then it sends its position value along the first bird to its second bird’s IO feed.
Lastly, the last third bird reads the IO feed of the second bird and sets the value to its own position value.
Process 4
After that, we thought about the materials. Because the DC motor is directly connected to the bird, if the bird's material is too heavy, it will not move properly in the forward direction. Also, since the height is set using the Distance Sensor value, unlike the knob sensor, the motor frequently turns forward and backward. Therefore, we also tested the material in order to use a thread that is not only tangled but also not too heavy.