Final blog post: At this point in the project, I have assembled my robot using plywood, epoxy and double sided tape. My arduino is placed in the middle bottom of the robot. Connected to the arduino is my accelerometer which is taped to the top of the robot for an increased tilt sense. The accelerometer is plugged into 4 analog pins and will input the amount of tilt to the arduino. Mounted on top of the arduino is an ardumoto. This ardumoto allows greater voltage to pass through the system and allows greater power to the motors. 2 motors are plugged into the ardumoto, each one is rated to max 9 volts and they are plugged into the blue terminals that came with the Ardumoto. My battery source is a 9v enercell battery that will supply the power to the circuit. The wheels are epoxied into two holders that are also epoxied onto the base of the robot. I had to counter weight my robot using other 9v batteries so it is weighted the same on both side.
To make this project easier I could have used a gyroscope along with my accelerometer. My accelerometer senses gravity and a gyroscope sense angle which would allow greater accuracy of input to the state of the robots angle. My biggest difficulty was getting the wheels to respond to the accelerometer and get them to go the direction I want them to. I solved this problem using code.
This year I learned a lot as a returning BSE student. I learned more about code and mechanical engineering. I learned about the physics of how to make something structurally sound. All in all I think this year was much easier then last year. This year I had the knowledge from last year to build my project with less help.
Here is a video so you can check it out:
These are my mechanical drawings:
Here is a schematic of how it works:
Here is a list of all my materials I used:
And Here is the code that should make your very own robot work:
Today I got both of my motors running with my accelerometer. The wheels now spin every time the accelerometer feels a tilt. In my code I brought the standard Blink LED code from the arduino website and implemented it with the standard ADXL3xx code in arduino and now when the accelerometer feels a tilt that is above or below ninety degrees, it will tell the motors to start working. Right now I am using a bread board where nothing is permanent and I can change things around. On the arduino itself I am using all 6 of the analog pins along with digital pins 10,11,12,13. One motor is connected to pins 13, 12 and the other is connected to 11,10. The two pins that these motors are connected to can be interchanged between ground and digital pins that supply voltage to the motor, and this way I can make the wheels go in reverse so that the robot can’t fall backwards.
The way the accelerometer works is that it if you picture water in a cup and move the cup from side to side, the water will move in the direction opposite the way the cup is moving because the cup is accelerating faster than the water. This is the way the accelerometer works, it senses tilt/the speed of the tilt and when the ‘water’ hits the sides, the accelerometer will tell the motors to start to run.
Some of the problems I encountered was getting the data back to the computer. Another was getting the motors to run when I had the data in the Serial Monitor and my hardest problem was getting the motors to run between the degrees in which the accelerometer is tipped. The way I solved these problems was with code. I had problems with the accelerometer in my code and used ‘if’ statements to fix them. Here is a video so you can check it out:
MY STARTER PROJECT
For my starter project, I built an electronic dice kit. This dice kit changes between the standard 1-6 numbers on a regular dice kit, using 7 green LEDs. When the dice kit taps something it will change the numbers in a random order. This project works by using a Piezo to sense the tapping, and a PIC microcontroller chip to change the numbers. The project is soldered onto a printed circuit board and that is screwed onto a blue base.
It uses a piezo, which is a motion sensor, that is epoxied onto the bottom of the blue base and when it feels a tap, it will tell send the PIC microcontroller chip the amount of voltage and tells the PIC microcontroller chip to change the number of the die. It will choose a random order and display it by lighting up 1-6 of the 7 LEDs like it is shown on a regular die. There are 6 resistors that lower the voltage given off by the battery to the 6 LEDs. In order to make this you have to have a slight understanding of a circuit board. You have to understand that things have to go in a certain place and a certain way, like a diode must go a specific way or it could smoke up and fry. You have to be good with soldering and have a lot of patience.
This project was a lot of fun and I think I’m really going to enjoy playing with this die while playing Monopoly or Yahtzee. I found it very interesting and I really liked this starter project. Here is a video so you can check it out: