Author: Steve Navazio

Iphone App for ESP Car

The Anymote Iphone app is the best we’ve found to control the ESP Car, it lets you customize the interface and send URLs via “Get” method. When starting make sure the car is setup, turned on (you see the wheels to spin front and back to show the car is working) and wheels are off the ground(for testing) Note: Please… Read more →

ESP Car Iphone App

I’m currently working on a video for this, but till then…. If you want to try setting it up on your own.the process is… Make sure the car is setup, turned on (you see the wheels to spin front and back to show the car is working) and wheels are off the ground(for testing) 1. Read all of these instructions… Read more →

Build ESP WiFi Car

The ESP Car comes fully wired and programmed all the is needed to complete the car is 4 “AA” batteries and vehicle platform. The parts included are: (2) Toy Motors (1) ESP8266-12E module (1) Battery Pack (1) H-Bridge (1) Tiny breadboard (4) Female to Female Dupont wires (4) Male to Female DuPont wires (2) 3D printed wheels (4) #4 1… Read more →

Aside

MIT App Inventor is a coding program based solely in what’s called “block coding”. The drag-and-drop method is an easy way to start coding. It simplifies methods and logic to make it not only easier to read but to understand.

Download the source code here. You can upload the .aia right into App Inventor.

 

To start on the MIT App Inventor application for the Wifi Car, start by making a new Project.

mit1

 

 

In your new Project,  add a few things to your home screen. First,  add five buttons and two labels. These can be found as objects underneath the “Palette” then “User Interface” section.

mit2mit0

 

 

The first button is on the top of the screen to the right of a label, then three buttons were placed in a “Horizontal arrangement” section, then one more button underneath them all to the right of another label. The labels should be long enough to “push” the buttons so that the buttons on the top and bottom of the row of 3 are centered (it should make an arrow-key-like shape, or easily identified up, down, left, right, and stop). The components section should look as follows:

 

 

 

mit3

(Horizontal arrangements can be found under “Layout”)

 

Next comes the abstract objects, or things that will NOT show up on the application when it is in practical use. There are two of them: a clock (under Sensors) and a web viewer(under User Interface). Drag and drop these two things onto the screen you are working on.

mit4mit5

 

The Components section should now look like this:

mit6

 

 

Now that the visual and object side of the app is done, it’s time to code. Press the “Block” button on the top right hand corner of the work space to access the coding section.

mit7

 

 

Once in the coding section, click on the “Screen1” section on the left hand side of the work space.

.mit8

 

That should open up a small window to the right of the “Blocks” section. From this, drag and drop the one that says “when Screen1.Initialize” onto the coding space.

mit9

 

 

Now you’ve placed your first line of code! Congratulations!

Next, go into the “Clock1” section (it should be at the bottom under the “Screen1” section you just went into) and drag and drop the dark green piece that says “set Clock1.Timerenabled to” into the “Screen1.Initalize” that you just placed. They should snap together with a small click! and stay there. Afterwards, go into the light green “Logic” section (which is ABOVE  the “Screen1” section) and drag and drop a “true” block into the Clock1.TimerEnabled block you placed before(they should snap together too), as shown in the following photo:

mit10

 

Now, when the program starts and the screen initializes, the clock will start running which means that the clock will constantly be checking for anything new happening on the screen– in this case, whether or not a button is being pressed.

 

The next part is simple, as there are just a few variations. Start by clicking on the first “Button” section that you can (in my case, it was the UP button). There you will find a “when Button1.Click” (or whatever your button is named) block which is the same color as “when Screen1.Initialize”.

Then click on the “WebViewer1” section and drag out a purple “call WebViewer1.GoToUrl”. Click this into place under the .Click block, and they should click into place like the previous pieces.

mit11

 

Next go into the pink “Text” section above the “Screen1” section and drag and drop an empty pink block with quotations around it and snap it into place next to the small “url” part of the “WebViewer1.GoToUrl”.

mit12

 

Inside of the pink text block you’re going to type in something called an IP address. An IP address is a set of numbers that identifies a device, whether it connects to the internet or not. The IP for your car is 192.168.4.1, the universal code for a local IP address (also known as a device that is not connected to the internet). Your Wifi car creates its own wifi, though it does NOT connect to the internet. By creating its own wifi it makes its own local network of devices, which is what you connect to when you control the car.

The other part of the pink text in the box is going to be a piece of code. In the Arduino language, you can code things by breaking down the IP address into two pieces, split at a question mark(?), which is how your Arduino chip is coded by default.

So what you are going to put in is the following:

BUTTON          WHAT TO INSERT INTO TEXTBOX

UP                      http://192.168.4.1?c=0002\n

DOWN              http://192.168.4.1?c=0005\n

LEFT                 http://192.168.4.1?c=0003\n

RIGHT              http://192.168.4.1?c=0004\n

STOP                 http://192.168.4.1?c=0001\n

 

So the http:// is simply saying to the application that the following is done over some kind of network, whether it be the internet or not. The 192.168.4.1 is the local IP address, as explained above, and the ?c=0002\n (or which ever number instead of 2) is the code. The question mark (?) identifies that the letters which follow it are part of the Arduino code and the \n ends the line of code to send out. The c= and the 4 digit number are simply setting a variable inside of the Aduino’s code.

Once all of that is inserted, your code should look like this:

mit13

 

And that’s all of the coding! Now all you have to do is export the APK file to your phone(which is a file type that your phone reads as an application). You can do this by clicking “Build” and then “App (provide a QR code for .apk)” and letting the application “package”(AKA saving itself and becoming a usable application).

mit14

 

Once it loads you will be presented with a QR code to download the application. To load the app from the QR code, scan it with a QR scanner on your phone and download the APK, eventually installing it onto your phone. Then simply connect to your car’s Wifi, open the app, and start driving away!

 

 

Steady Devices with PID

Proportional-Integral-Derivative controllers (PID) are poised to take over and help give a steady hand to many more devices.  currently they are used to help us cook, fly and steer ships for the US navy (among many other uses). Where they will guide us in the future is up to us to ask for their help. To get hands on experience… Read more →

Grow Some Food

Putting a small hydroponic system in your class room will give your students a much clearer appreciation for the food that magically arrives on their plate each night. Even if the tomatoes have been turned into ketchup. It doesn’t guarantee they’ll eat their vegetables, but when they have a hand in creating the food, they are more likely to eat… Read more →

Free Virtual Robot

  Looking for a way to introduce robots but have no budget, here is your answer…www.robotbasic.org They have developed a robot language and virtual development platform. This lets anyone with a PC program their robot on the screen and have the ability to send the information to a real robot. Robots from Kittronic.com will be able to use the code… Read more →

Learning Toys

Christmas is fast approaching and while parents want to give their kids toys they enjoy they also want toys that don’t dumb them down. There are a number of new electronic learning toys on the market that can offer parents both-the reassurance of a popular toy that will add to the richness of children’s lives. learning toys are great, except… Read more →