Components and supplies
acrylic sheets
Coating for legs
1Sheeld
DC motor (generic)
Spray Paint (generic)
pop rivets (generic)
artelon
Aluminum Rods
bearing
DC motor with warm gear
Servos (Tower Pro MG996R)
Arduino UNO
timing belt
Tools and machines
lockers
Pop riveter
Fume
Project description
Code
Legs
arduino
this code is for legs part and voice recognition
1/*this code for Wall-E movements(legs)and talking with Wall-E. 2 * 1Shield is our main controller with Arduino in our project, therfore there is a prif about it: 3 * 1Shield is multi sheelds, you can connect it with your phone throw bluetooth and then you can access all your mobile sensors. 4 All you need the shield, library for programming and you can download it from thier website(http://1sheeld.com/) and the phone app you can download it from the play store. 5 If you opened the 1Shield app on your phone, you'll see the shields that you can use. 6 We are going to mention some of the shield we uesd. 7 8 movements: 9 we used gamepad shield from 1shield shields for movements control, it's like joy-stick except that it is on your phone. 10 11 Talking with Wall-E: 12 For talking with Wall-E there is two things, first how could Wall-E hear and understand our voices and how he would reply on us!! 13 We used voice recognizer shield from 1Shield shields, we are going to explain how did we use it in the code. 14 For replying, we used SD module for plying spicific voices that Wall-E was saying in the movie. 15 16 17Created on 22/02/2017 18by Makers team in pixels. 19 */ 20 21//first you need to include 1Shield library and define the shields you are going to use, you can know more about this from 1shield examples. 22#define CUSTOM_SETTINGS 23#define INCLUDE_GAMEPAD_SHIELD 24#define INCLUDE_VOICE_RECOGNIZER_SHIELD 25#define INCLUDE_TERMINAL_SHIELD 26#include <OneSheeld.h> 27 28//include SD library and music library. 29#include <SPI.h> 30#include <SD.h> 31#include <TMRpcm.h> 32 33/*for voice recognizer shield you need to define the word or the sentence that you want Wall-E to understand it.*/ 34//wall-e sentence (you can put any sentence or word you want). 35const char NameOne[] = "name"; 36const char NameTwo[] = "what's your name"; 37const char NameThree[]= "tell me your name"; 38 39//eva sentence. 40const char EvaOne[] = "what's her name"; 41const char EvaTwo[] = "eva"; 42const char EvaThree[] = "do you have a friend"; 43//song sentence. 44const char SongCommand[] = "song"; 45 46/* The circuit for SD Module: 47 * SD card attached to SPI bus as follows: 48 ** MOSI - pin 11 on Arduino Uno/Duemilanove/Diecimila 49 ** MISO - pin 12 on Arduino Uno/Duemilanove/Diecimila 50 ** CLK - pin 13 on Arduino Uno/Duemilanove/Diecimila 51 ** CS - depends on your SD card shield or module. 52 Pin 4 or 3 used here for consistency with other Arduino examples*/ 53const int chipSelect = 3; 54 55//define the music pin. 56TMRpcm tmrpcm; 57 58//define the Relays pin on Arduino. 59#define MOTOR1_RELAY1 4 60#define MOTOR1_RELAY2 5 61#define MOTOR2_RELAY1 6 62#define MOTOR2_RELAY2 7 63 64//movement function. 65 66//Stop moving. 67void Stop() { 68 digitalWrite( MOTOR1_RELAY1, HIGH); 69 digitalWrite( MOTOR1_RELAY2, HIGH); 70 digitalWrite( MOTOR2_RELAY1, HIGH); 71 digitalWrite( MOTOR2_RELAY2, HIGH);} 72 73// Move forward. 74void forward () { 75 digitalWrite( MOTOR1_RELAY1, HIGH); 76 digitalWrite( MOTOR1_RELAY2, LOW); 77 digitalWrite( MOTOR2_RELAY1, HIGH); 78 digitalWrite( MOTOR2_RELAY2, LOW);} 79 80//Move backward. 81void backward() { 82 digitalWrite( MOTOR1_RELAY1, LOW); 83 digitalWrite( MOTOR1_RELAY2, HIGH); 84 digitalWrite( MOTOR2_RELAY1, LOW); 85 digitalWrite( MOTOR2_RELAY2, HIGH);} 86 87//Move right. 88void moveRight() { 89 digitalWrite( MOTOR1_RELAY1,HIGH); 90 digitalWrite( MOTOR1_RELAY2,LOW); 91 digitalWrite( MOTOR2_RELAY1,LOW); 92 digitalWrite( MOTOR2_RELAY2,HIGH);} 93 94//Move left 95void moveLeft() { 96 digitalWrite( MOTOR1_RELAY1, LOW); 97 digitalWrite( MOTOR1_RELAY2, HIGH); 98 digitalWrite( MOTOR2_RELAY1, HIGH); 99 digitalWrite( MOTOR2_RELAY2, LOW);} 100 101void setup() { 102 //begine 1Shield. 103 OneSheeld.begin(); 104 VoiceRecognition.start(); 105 //define the Relays pin as output pin by for loop for reducing the code. 106 for (int i = 4 ; i < 8 ; i++) { 107 pinMode(i, OUTPUT); 108 digitalWrite(i,LOW);} 109 //define the speaker pin you should put it on pwm pin. 110 tmrpcm.speakerPin = 9; 111 //the next steps are just for making sure that the SD card is ready and initialized. 112 Serial.begin(115200); 113 Serial.print("\ 114Initializing SD card..."); 115 116 if (!SD.begin(chipSelect)) { 117 Serial.println("initialization failed. Things to check:"); 118 Serial.println("* is a card is inserted?"); 119 Serial.println("* Is your wiring correct?"); 120 Serial.println("* did you change the chipSelect pin to match your shield or module?");} 121 else { 122 Serial.println("card initialized.");} 123 tmrpcm.play("s.wav"); 124 Serial.print("f");} 125 126void loop() { 127 //starting the voice recognizer shield to receive commands. 128 if(VoiceRecognition.isNewCommandReceived()) 129 //making comparing between the sentence you saved and the commands Arduino will receive from 1Shield. 130 {if(!strcmp(NameOne,VoiceRecognition.getLastCommand())|| !strcmp(NameTwo,VoiceRecognition.getLastCommand())|| !strcmp(NameThree,VoiceRecognition.getLastCommand())){ 131 tmrpcm.play("Wall16.wav");} 132 133 else if (!strcmp(EvaOne,VoiceRecognition.getLastCommand())||!strcmp(EvaTwo,VoiceRecognition.getLastCommand())||!strcmp(EvaThree,VoiceRecognition.getLastCommand())) 134 {tmrpcm.play("eva1.wav");} 135 136 else if (!strcmp(SongCommand,VoiceRecognition.getLastCommand())){ 137 tmrpcm.play("s.wav");}} 138 139//moving orders using gamepad. 140if(GamePad.isUpPressed()) 141 {forward();} 142if(GamePad.isDownPressed()) 143 {backward();} 144 if(GamePad.isLeftPressed()) 145 {moveLeft();} 146if(GamePad.isRightPressed()) 147 {moveRight();} 148if (GamePad.isRedPressed()) 149 {Stop();}} 150 151 152
Hand
arduino
Arm movement
1/*This code for Wall-E's arm movment. 2 We used bluetooth module to control it by the mobile application on phone. 3 Bluetooth module are connecting with the arduino throw serial communication. 4 You can download any bluetooth app from play store. 5 * Receives from the hardware serial(Bluetooth module), sends to software serial(Arduino). 6 * Receives from software serial(Arduino), sends to hardware serial(Bluetooth module). 7 8 9Created on 22/02/2017 10by Makers team in pixels. 11*/ 12 13//include bluetooth library. 14#include<SoftwareSerial.h> 15 16//define the Relays pin on Arduino. 17#define MOTORright_RELAY1 A1 18#define MOTORright_RELAY2 A2 19#define MOTORleft_RELAY1 A3 20#define MOTORleft_RELAY2 A4 21 22/* The circuit: 23 * RX is digital pin 3 (connect to TX of bluetooth module). 24 * TX is digital pin 5 (connect to RX of bluetooth module). */ 25SoftwareSerial HC05(3,5);// RX, TX 26/* Firstly you should get the numbers for each button you are going to use in your mobile app, that TX is sending from bluetooth module to RX of Arduino. 27 * You can get the numbers from the SoftwareSerial example. 28 * Then you need to save it as int, therefore you need to define a int value. 29*/ 30int x; 31 32 33//movement function. 34/* For moving the arms up and down, we used two buttons for each arm movement. 35 * For moving right arm up we used upright, and For moving right arm down we used downright. 36 * For moving left arm up we used upleft, and For moving left arm down we used downleft. 37*/ 38 39//Stop moving. 40void Stop() { 41 digitalWrite(MOTORright_RELAY1, HIGH); 42 digitalWrite(MOTORright_RELAY2, HIGH); 43 digitalWrite(MOTORleft_RELAY1, HIGH); 44 digitalWrite(MOTORleft_RELAY2, HIGH);} 45 46//Move rirht arm Up. 47void upright () { 48 digitalWrite(MOTORright_RELAY1, LOW); 49 digitalWrite(MOTORright_RELAY2, HIGH);} 50 51//Move rirht arm Down. 52void downright() { 53 digitalWrite(MOTORright_RELAY1, HIGH); 54 digitalWrite(MOTORright_RELAY2, LOW);} 55 56//Move left arm Up. 57void upleft () { 58 digitalWrite( MOTORleft_RELAY1, LOW); 59 digitalWrite( MOTORleft_RELAY2, HIGH);} 60 61//Move left arm Down. 62void downleft() { 63 digitalWrite( MOTORleft_RELAY1, HIGH); 64 digitalWrite( MOTORleft_RELAY2, LOW);} 65 66void setup() { 67 //begin he serial connection between the Arduino and Bluetooth module. 68 Serial.begin(9600); 69 HC05.begin(9600); 70 71 //Define the Relays pins as Output. 72 pinMode(A1, OUTPUT); 73 pinMode(A2, OUTPUT); 74 pinMode(A3, OUTPUT); 75 pinMode(A4, OUTPUT); 76 //Define the Relays pins as High in the beginning of the code. 77 digitalWrite(A1,HIGH); 78 digitalWrite(A2,HIGH); 79 digitalWrite(A3,HIGH); 80 digitalWrite(A4,HIGH);} 81 82void loop() { 83 /*Start the loop code with if condition for start reading the incoming serial from the Bluetooth module throw RX on Arduino. 84 * After that start checking x values and regarding for the coming number. 85 */ 86if (HC05.available()){ 87 x = HC05.read();} 88 if (x == 73){ 89 Serial.println(x); 90 upleft();} 91 else if (x == 74){ 92 downleft (); 93 Serial.println(x);} 94 else if (x == 71){ 95 upright (); 96 Serial.println(x);} 97 else if (x == 72){ 98 downright(); 99 Serial.println(x);} 100 else if ((x != 73)||(x != 74)||(x != 72)||(x != 71)){ 101 Stop (); 102 Serial.println(x);}} 103 104
Heart sensor code
arduino
the original code from https://www.sparkfun.com/products/11574
1 2/* 3>> Pulse Sensor Amped 1.1 << 4This code is for Pulse Sensor Amped by Joel Murphy and Yury Gitman 5 www.pulsesensor.com 6 >>> Pulse Sensor purple wire goes to Analog Pin 0 <<< 7Pulse Sensor sample aquisition and processing happens in the background via Timer 2 interrupt. 2mS sample rate. 8PWM on pins 3 and 11 will not work when using this code, because we are using Timer 2! 9The following variables are automatically updated: 10Signal : int that holds the analog signal data straight from the sensor. updated every 2mS. 11IBI : int that holds the time interval between beats. 2mS resolution. 12BPM : int that holds the heart rate value, derived every beat, from averaging previous 10 IBI values. 13QS : boolean that is made true whenever Pulse is found and BPM is updated. User must reset. 14Pulse : boolean that is true when a heartbeat is sensed then false in time with pin13 LED going out. 15 16This code is designed with output serial data to Processing sketch "PulseSensorAmped_Processing-xx" 17The Processing sketch is a simple data visualizer. 18All the work to find the heartbeat and determine the heartrate happens in the code below. 19Pin 13 LED will blink with heartbeat. 20If you want to use pin 13 for something else, adjust the interrupt handler 21It will also fade an LED on pin fadePin with every beat. Put an LED and series resistor from fadePin to GND. 22Check here for detailed code walkthrough: 23http://pulsesensor.myshopify.com/pages/pulse-sensor-amped-arduino-v1dot1 24 25Code Version 02 by Joel Murphy & Yury Gitman Fall 2012 26This update changes the HRV variable name to IBI, which stands for Inter-Beat Interval, for clarity. 27Switched the interrupt to Timer2. 500Hz sample rate, 2mS resolution IBI value. 28Fade LED pin moved to pin 5 (use of Timer2 disables PWM on pins 3 & 11). 29Tidied up inefficiencies since the last version. 30*/ 31 32 33// VARIABLES 34int pulsePin = 0; // Pulse Sensor purple wire connected to analog pin 0 35int blinkPin = 13; // pin to blink led at each beat 36int fadePin = 5; // pin to do fancy classy fading blink at each beat 37int fadeRate = 0; // used to fade LED on with PWM on fadePin 38 39 40// these variables are volatile because they are used during the interrupt service routine! 41volatile int BPM; // used to hold the pulse rate 42volatile int Signal; // holds the incoming raw data 43volatile int IBI = 600; // holds the time between beats, the Inter-Beat Interval 44volatile boolean Pulse = false; // true when pulse wave is high, false when it's low 45volatile boolean QS = false; // becomes true when Arduoino finds a beat. 46 47 48void setup(){ 49 pinMode(blinkPin,OUTPUT); // pin that will blink to your heartbeat! 50 pinMode(fadePin,OUTPUT); // pin that will fade to your heartbeat! 51 Serial.begin(115200); // we agree to talk fast! 52 interruptSetup(); // sets up to read Pulse Sensor signal every 2mS 53 // UN-COMMENT THE NEXT LINE IF YOU ARE POWERING The Pulse Sensor AT LOW VOLTAGE, 54 // AND APPLY THAT VOLTAGE TO THE A-REF PIN 55 //analogReference(EXTERNAL); 56} 57 58 59 60void loop(){ 61 sendDataToProcessing('S', Signal); // send Processing the raw Pulse Sensor data 62 if (QS == true){ // Quantified Self flag is true when arduino finds a heartbeat 63 fadeRate = 255; // Set 'fadeRate' Variable to 255 to fade LED with pulse 64 sendDataToProcessing('B',BPM); // send heart rate with a 'B' prefix 65 sendDataToProcessing('Q',IBI); // send time between beats with a 'Q' prefix 66 QS = false; // reset the Quantified Self flag for next time 67 } 68 69 ledFadeToBeat(); 70 71 delay(20); // take a break 72} 73 74 75void ledFadeToBeat(){ 76 fadeRate -= 15; // set LED fade value 77 fadeRate = constrain(fadeRate,0,255); // keep LED fade value from going into negative numbers! 78 analogWrite(fadePin,fadeRate); // fade LED 79 } 80 81 82void sendDataToProcessing(char symbol, int data ){ 83 Serial.print(symbol); // symbol prefix tells Processing what type of data is coming 84 Serial.println(data); // the data to send culminating in a carriage return 85 } 86 87 88 89 90 91 92 93
Legs
arduino
this code is for legs part and voice recognition
1/*this code for Wall-E movements(legs)and talking with Wall-E. 2 * 1Shield is our main controller with Arduino in our project, therfore there is a prif about it: 3 * 1Shield is multi sheelds, you can connect it with your phone throw bluetooth and then you can access all your mobile sensors. 4 All you need the shield, library for programming and you can download it from thier website(http://1sheeld.com/) and the phone app you can download it from the play store. 5 If you opened the 1Shield app on your phone, you'll see the shields that you can use. 6 We are going to mention some of the shield we uesd. 7 8 movements: 9 we used gamepad shield from 1shield shields for movements control, it's like joy-stick except that it is on your phone. 10 11 Talking with Wall-E: 12 For talking with Wall-E there is two things, first how could Wall-E hear and understand our voices and how he would reply on us!! 13 We used voice recognizer shield from 1Shield shields, we are going to explain how did we use it in the code. 14 For replying, we used SD module for plying spicific voices that Wall-E was saying in the movie. 15 16 17Created on 22/02/2017 18by Makers team in pixels. 19 */ 20 21//first you need to include 1Shield library and define the shields you are going to use, you can know more about this from 1shield examples. 22#define CUSTOM_SETTINGS 23#define INCLUDE_GAMEPAD_SHIELD 24#define INCLUDE_VOICE_RECOGNIZER_SHIELD 25#define INCLUDE_TERMINAL_SHIELD 26#include <OneSheeld.h> 27 28//include SD library and music library. 29#include <SPI.h> 30#include <SD.h> 31#include <TMRpcm.h> 32 33/*for voice recognizer shield you need to define the word or the sentence that you want Wall-E to understand it.*/ 34//wall-e sentence (you can put any sentence or word you want). 35const char NameOne[] = "name"; 36const char NameTwo[] = "what's your name"; 37const char NameThree[]= "tell me your name"; 38 39//eva sentence. 40const char EvaOne[] = "what's her name"; 41const char EvaTwo[] = "eva"; 42const char EvaThree[] = "do you have a friend"; 43//song sentence. 44const char SongCommand[] = "song"; 45 46/* The circuit for SD Module: 47 * SD card attached to SPI bus as follows: 48 ** MOSI - pin 11 on Arduino Uno/Duemilanove/Diecimila 49 ** MISO - pin 12 on Arduino Uno/Duemilanove/Diecimila 50 ** CLK - pin 13 on Arduino Uno/Duemilanove/Diecimila 51 ** CS - depends on your SD card shield or module. 52 Pin 4 or 3 used here for consistency with other Arduino examples*/ 53const int chipSelect = 3; 54 55//define the music pin. 56TMRpcm tmrpcm; 57 58//define the Relays pin on Arduino. 59#define MOTOR1_RELAY1 4 60#define MOTOR1_RELAY2 5 61#define MOTOR2_RELAY1 6 62#define MOTOR2_RELAY2 7 63 64//movement function. 65 66//Stop moving. 67void Stop() { 68 digitalWrite( MOTOR1_RELAY1, HIGH); 69 digitalWrite( MOTOR1_RELAY2, HIGH); 70 digitalWrite( MOTOR2_RELAY1, HIGH); 71 digitalWrite( MOTOR2_RELAY2, HIGH);} 72 73// Move forward. 74void forward () { 75 digitalWrite( MOTOR1_RELAY1, HIGH); 76 digitalWrite( MOTOR1_RELAY2, LOW); 77 digitalWrite( MOTOR2_RELAY1, HIGH); 78 digitalWrite( MOTOR2_RELAY2, LOW);} 79 80//Move backward. 81void backward() { 82 digitalWrite( MOTOR1_RELAY1, LOW); 83 digitalWrite( MOTOR1_RELAY2, HIGH); 84 digitalWrite( MOTOR2_RELAY1, LOW); 85 digitalWrite( MOTOR2_RELAY2, HIGH);} 86 87//Move right. 88void moveRight() { 89 digitalWrite( MOTOR1_RELAY1,HIGH); 90 digitalWrite( MOTOR1_RELAY2,LOW); 91 digitalWrite( MOTOR2_RELAY1,LOW); 92 digitalWrite( MOTOR2_RELAY2,HIGH);} 93 94//Move left 95void moveLeft() { 96 digitalWrite( MOTOR1_RELAY1, LOW); 97 digitalWrite( MOTOR1_RELAY2, HIGH); 98 digitalWrite( MOTOR2_RELAY1, HIGH); 99 digitalWrite( MOTOR2_RELAY2, LOW);} 100 101void setup() { 102 //begine 1Shield. 103 OneSheeld.begin(); 104 VoiceRecognition.start(); 105 //define the Relays pin as output pin by for loop for reducing the code. 106 for (int i = 4 ; i < 8 ; i++) { 107 pinMode(i, OUTPUT); 108 digitalWrite(i,LOW);} 109 //define the speaker pin you should put it on pwm pin. 110 tmrpcm.speakerPin = 9; 111 //the next steps are just for making sure that the SD card is ready and initialized. 112 Serial.begin(115200); 113 Serial.print("\ 114Initializing SD card..."); 115 116 if (!SD.begin(chipSelect)) { 117 Serial.println("initialization failed. Things to check:"); 118 Serial.println("* is a card is inserted?"); 119 Serial.println("* Is your wiring correct?"); 120 Serial.println("* did you change the chipSelect pin to match your shield or module?");} 121 else { 122 Serial.println("card initialized.");} 123 tmrpcm.play("s.wav"); 124 Serial.print("f");} 125 126void loop() { 127 //starting the voice recognizer shield to receive commands. 128 if(VoiceRecognition.isNewCommandReceived()) 129 //making comparing between the sentence you saved and the commands Arduino will receive from 1Shield. 130 {if(!strcmp(NameOne,VoiceRecognition.getLastCommand())|| !strcmp(NameTwo,VoiceRecognition.getLastCommand())|| !strcmp(NameThree,VoiceRecognition.getLastCommand())){ 131 tmrpcm.play("Wall16.wav");} 132 133 else if (!strcmp(EvaOne,VoiceRecognition.getLastCommand())||!strcmp(EvaTwo,VoiceRecognition.getLastCommand())||!strcmp(EvaThree,VoiceRecognition.getLastCommand())) 134 {tmrpcm.play("eva1.wav");} 135 136 else if (!strcmp(SongCommand,VoiceRecognition.getLastCommand())){ 137 tmrpcm.play("s.wav");}} 138 139//moving orders using gamepad. 140if(GamePad.isUpPressed()) 141 {forward();} 142if(GamePad.isDownPressed()) 143 {backward();} 144 if(GamePad.isLeftPressed()) 145 {moveLeft();} 146if(GamePad.isRightPressed()) 147 {moveRight();} 148if (GamePad.isRedPressed()) 149 {Stop();}} 150 151 152
Hand
arduino
Arm movement
1/*This code for Wall-E's arm movment. 2 We used bluetooth module to control it by the mobile application on phone. 3 Bluetooth module are connecting with the arduino throw serial communication. 4 You can download any bluetooth app from play store. 5 * Receives from the hardware serial(Bluetooth module), sends to software serial(Arduino). 6 * Receives from software serial(Arduino), sends to hardware serial(Bluetooth module). 7 8 9Created on 22/02/2017 10by Makers team in pixels. 11*/ 12 13//include bluetooth library. 14#include<SoftwareSerial.h> 15 16//define the Relays pin on Arduino. 17#define MOTORright_RELAY1 A1 18#define MOTORright_RELAY2 A2 19#define MOTORleft_RELAY1 A3 20#define MOTORleft_RELAY2 A4 21 22/* The circuit: 23 * RX is digital pin 3 (connect to TX of bluetooth module). 24 * TX is digital pin 5 (connect to RX of bluetooth module). */ 25SoftwareSerial HC05(3,5);// RX, TX 26/* Firstly you should get the numbers for each button you are going to use in your mobile app, that TX is sending from bluetooth module to RX of Arduino. 27 * You can get the numbers from the SoftwareSerial example. 28 * Then you need to save it as int, therefore you need to define a int value. 29*/ 30int x; 31 32 33//movement function. 34/* For moving the arms up and down, we used two buttons for each arm movement. 35 * For moving right arm up we used upright, and For moving right arm down we used downright. 36 * For moving left arm up we used upleft, and For moving left arm down we used downleft. 37*/ 38 39//Stop moving. 40void Stop() { 41 digitalWrite(MOTORright_RELAY1, HIGH); 42 digitalWrite(MOTORright_RELAY2, HIGH); 43 digitalWrite(MOTORleft_RELAY1, HIGH); 44 digitalWrite(MOTORleft_RELAY2, HIGH);} 45 46//Move rirht arm Up. 47void upright () { 48 digitalWrite(MOTORright_RELAY1, LOW); 49 digitalWrite(MOTORright_RELAY2, HIGH);} 50 51//Move rirht arm Down. 52void downright() { 53 digitalWrite(MOTORright_RELAY1, HIGH); 54 digitalWrite(MOTORright_RELAY2, LOW);} 55 56//Move left arm Up. 57void upleft () { 58 digitalWrite( MOTORleft_RELAY1, LOW); 59 digitalWrite( MOTORleft_RELAY2, HIGH);} 60 61//Move left arm Down. 62void downleft() { 63 digitalWrite( MOTORleft_RELAY1, HIGH); 64 digitalWrite( MOTORleft_RELAY2, LOW);} 65 66void setup() { 67 //begin he serial connection between the Arduino and Bluetooth module. 68 Serial.begin(9600); 69 HC05.begin(9600); 70 71 //Define the Relays pins as Output. 72 pinMode(A1, OUTPUT); 73 pinMode(A2, OUTPUT); 74 pinMode(A3, OUTPUT); 75 pinMode(A4, OUTPUT); 76 //Define the Relays pins as High in the beginning of the code. 77 digitalWrite(A1,HIGH); 78 digitalWrite(A2,HIGH); 79 digitalWrite(A3,HIGH); 80 digitalWrite(A4,HIGH);} 81 82void loop() { 83 /*Start the loop code with if condition for start reading the incoming serial from the Bluetooth module throw RX on Arduino. 84 * After that start checking x values and regarding for the coming number. 85 */ 86if (HC05.available()){ 87 x = HC05.read();} 88 if (x == 73){ 89 Serial.println(x); 90 upleft();} 91 else if (x == 74){ 92 downleft (); 93 Serial.println(x);} 94 else if (x == 71){ 95 upright (); 96 Serial.println(x);} 97 else if (x == 72){ 98 downright(); 99 Serial.println(x);} 100 else if ((x != 73)||(x != 74)||(x != 72)||(x != 71)){ 101 Stop (); 102 Serial.println(x);}} 103 104
Downloadable files
SD card and wall-e sound
using sd card to play wav audio files of wall-e
SD card and wall-e sound
bluetooth and motors
in this diagram showing the circuit of hc05 bluetooth module and motors connection
bluetooth and motors
1shield and motors
a simple diagram on how to control motors using 1shield
1shield and motors
SD card and wall-e sound
using sd card to play wav audio files of wall-e
SD card and wall-e sound
bluetooth and motors
in this diagram showing the circuit of hc05 bluetooth module and motors connection
bluetooth and motors
1shield and motors
a simple diagram on how to control motors using 1shield
1shield and motors
Documentation
Mechanical components
estimated prices in EGP
Mechanical components
Mechanical components
estimated prices in EGP
Mechanical components
Comments
Only logged in users can leave comments
Anonymous user
2 years ago
Soon we will upload a video.
Anonymous user
8 years ago
Hi Ahmed! I would like to build Wall-e for a school project. I know a few things about arduino. Do you think I could be able to build one with just this piece of information? THANK YOU
Anonymous user
2 years ago
First af all thanks for your response . This project depends on two things technical skills and materials . If you have some knowledge about arduino that you can control servos and write serial code so you are fine to do anything with arduino. So technically you can do better than us if you want to (y). Materials : if you from a European country of Asia or even US . So this will ease your mission as you will find the best materials and tools to make a better quality Wall-e. Finally if you are doing this alone without a team I recommend to make a smaller version of Wall-e to be easier for you . wish you luck. Please share your progress with us as If you need any support we are here for you ^_^.
Anonymous user
8 years ago
This looks great! I'd love to write a story about this for my site (htxt.africa). Do you have any videos of the robot in action?
Anonymous user
2 years ago
Soon we will upload a video.
Anonymous user
2 years ago
This looks great! I'd love to write a story about this for my site (htxt.africa). Do you have any videos of the robot in action?