We got some inspiration from the Intel booth and some ideas we came up on our own.
What it does
It's a robot that is controlled by the internet over wifi. We use an android smartphone to send it commands from the users input (touch/speech). These commands are sent from phone to firebase and then the edison takes it off of firebase and talks to the arduino which then controls the motors to make it move.
How we built it
We initially started out with the Seed Studio 4WD base and then realized that we couldn't use the supplied board for our purposes. We then decided to use the Intel Edison to talk to the motor controllers over i2c. After running into major issues with i2c and the Edison we decided to use an Arduino to control then instead and then have the Edison control the Arduino over serial using the USB host functionality. We programmed the Arduino to take the letters "l, r, f, R" for left, right, forward, and reverse over serial. We then programmed the Intel Edison to pull the command data from Firebase and from there we pushed it with serialport to the Arduino. We're controlling with an android smartphone with a custom built app. The app has four buttons labeled Left, Right, Forward and Back to all the user to control the robot over wifi. Once any of these buttons are pressed the app sends the data to firebase and the Edison is constantly listening so it then notifies the arduino of the command which then in turn talks to the motor controllers which then makes it move.
Challenges we ran into
We ran into a lot of problems with the Seeed Studio kit and the Intel Edison. For some reason we couldn't get i2c to work with the Edison, which is why we had to use an arduino to interface with the motor controllers. If we were able to get i2c working it would've been a much cleaner solution with less lag. Also the Seeed Studio kit had some odd instructions where we put two motors back to back and they both had hall effect sensors on the back with large magnets that prevented the two motors from turning individually. Also one of our team members had initally wired up the kit, but didn't realize that he had made a mistake which took some time to figure out. The AA battery pack was also a hassle for some reason where it wasn't making good contact with the batteries so it looked like everything was fine, but the pack wasn't outputting voltage meaning that there was a break somewhere. I even tested the continuity all around and it was fine. Strangely enough after a few times of removing the batteries and reinserting them it started to work again.
Accomplishments that we're proud of
We're proud that it actually moves and works.
What we learned
We learned that sometimes the hardware may be faulty and it's not your code (Intel Edison i2c problem). Also learned a lot about different apis and programs like Node.JS and Firebase.
What's next for Wireless Controlled Rover
To hopefully make voice recognition seamless