The car has a green button on top of it. When someone goes to press the button, a sensor in the button detects a change in the amount of light, and the car “runs” away. This is similar to our inspiration of a cat running away from a human that wants to pet it.
/** * * Linda Xia * Kye Stapleton-Gray * * Project 1: Surprise! * * This Arduino "surprise" comes in the form of a toy-sized car, artfully made from popsicle sticks * hot glued together. It contains a green "Push Me!" button, which is aimed to entice the user to * tap it to turn it on. Little do they know that the device is already on, and the photoresistor * hidden within the button alerts the little toy car to awaken and swiftly scamper away. * */ const int back_in_1 = 8; const int back_in_2 = 9; const int back_in_3 = 4; const int back_in_4 = 5; const int front_in_1 = 11; const int front_in_2 = 12; const int front_in_3 = 2; const int front_in_4 = 3; const int led_1 = 13; const int led_2 = 10; const int sensitivity = 550; void setup() { Serial.begin(9600); // Controls the back wheels DC motor output pinMode(back_in_1, OUTPUT); pinMode(back_in_2, OUTPUT); pinMode(back_in_3, OUTPUT); pinMode(back_in_4, OUTPUT); // Controls the front wheels DC motor output pinMode(front_in_1, OUTPUT); pinMode(front_in_2, OUTPUT); pinMode(front_in_3, OUTPUT); pinMode(front_in_4, OUTPUT); // The LED "eyes" of the little toy car pinMode(led_1, OUTPUT); pinMode(led_2, OUTPUT); pinMode(A0, INPUT); } void loop() { // Read the photoresistor value. int photoValue = analogRead(A0); /* * If the photoresistor value dips below a certain sensitivity level, the little toy car * is alerted that a human is near due to the change in light. */ if (photoValue < sensitivity) { digitalWrite(back_in_1, HIGH); digitalWrite(back_in_2, LOW); digitalWrite(back_in_3, HIGH); digitalWrite(back_in_4, LOW); digitalWrite(front_in_1, HIGH); digitalWrite(front_in_2, LOW); digitalWrite(front_in_3, HIGH); digitalWrite(front_in_4, LOW); digitalWrite(led_1, HIGH); digitalWrite(led_2, HIGH); delay(1000); } // Otherwise, if there is no danger -- uh, human -- nearby, the car will be napping. else { digitalWrite(back_in_1, HIGH); digitalWrite(back_in_2, HIGH); digitalWrite(back_in_3, HIGH); digitalWrite(back_in_4, HIGH); digitalWrite(front_in_1, HIGH); digitalWrite(front_in_2, HIGH); digitalWrite(front_in_3, HIGH); digitalWrite(front_in_4, HIGH); digitalWrite(led_1, LOW); digitalWrite(led_2, LOW); } }
For future improvements, it would be useful to make something like a knob on the device that could adjust the sensitivity of the photoresistor based on the brightness of the room, since variable lighting in the classroom caused issues in our demonstration. To make the device more “cat-like”, we could have allowed the car to be moving already, and speed up when a hand goes to press the button. It would have also been better to allow the button to actually be pressed, since we weren’t expecting for someone to actually try to press it hard and quickly enough that the sensor was set off.
Some challenges were that working with DC motors was a risky move, because neither of us had worked with them before, and extra hours were spent soldering threaded wire to the motors to create electrical connections, and soldering the drivers together. It was also difficult to find the right battery to power the motors, the drivers, and the Arduino. We ended up using 4 AA batteries and a 9V battery. It was confusing wiring those up because the wheels kept acting up or not moving at different points.
When constructing the car, we wanted to make the function as discreet as possible so no one would guess the surprise. This made us construct a closed box, with no way of peeking inside at the parts.
The electrical components we had already learned about in class were easy to connect, like the photoresistor and the LEDs. The scope of the project was right, since we were able to produce a polished project without spending crammed hours at the end. In the future, we would love to incorporate more complex and sensitive sensors, motors, and other electrical accessories to create a less direct replica of an already existing being (the cat). Some of the projects we saw from others in the class inspired us to be more creative, like the slowly moving package box, and the caring-actions-turned-violent plant watering project.
Leave a Reply
You must be logged in to post a comment.