Components and supplies
sound sensor
Enclosure for Arduino Uno
Dual H-Bridge motor drivers L298
DC Motor, 12 V
connector wire
wheels
Project description
Code
coding_clap_control.ino
arduino
1// this conding is made by technical romboz watch full tutorial video on youtube channel https://studio.youtube.com/video/iJkEy16k3sg 2// open source program to use anyone 3#include <SPI.h> 4#include <Wire.h> 5#include <Adafruit_GFX.h> 6#include <Adafruit_SSD1306.h> 7#define SCREEN_WIDTH 128 // OLED display width, in pixels 8#define SCREEN_HEIGHT 32 // OLED display height, in pixels 9#define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin) 10#define SCREEN_ADDRESS 0x3C ///< See datasheet for Address; 0x3D for 128x64, 0x3C for 128x32 11Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); 12int sensor= 8; 13int st = 0; 14int cont = 0; 15 16void Forward() 17 18{ 19 display.clearDisplay(); 20 display.setTextSize(2); // Draw 2X-scale text 21 display.setTextColor(SSD1306_WHITE); 22 display.setCursor(0, 1); 23 display.println(" FORWARD "); 24 display.display(); // Show initial text 25 digitalWrite(2, 1); 26 digitalWrite (3, 0); 27 digitalWrite(4,1); 28 digitalWrite(5,0); 29 delay(3000); 30 digitalWrite(2, 0); 31 digitalWrite (3, 0); 32 digitalWrite(4,0); 33 digitalWrite(5,0); 34 35} 36 37void Backward() 38 39{ display.clearDisplay(); 40 display.setTextSize(2); // Draw 2X-scale text 41 display.setTextColor(SSD1306_WHITE); 42 display.setCursor(0, 1); 43 display.println(" BACKWARD "); 44 display.display(); // Show initial text 45 digitalWrite(2, 0); 46 digitalWrite(3, 1); 47 digitalWrite(4, 0); 48 digitalWrite(5,1); 49 delay(3000); 50 digitalWrite(2, 0); 51 digitalWrite (3, 0); 52 digitalWrite(4,0); 53 digitalWrite(5,0); 54 55 56} 57void Left() 58 59{ display.clearDisplay(); 60 display.setTextSize(2); // Draw 2X-scale text 61 display.setTextColor(SSD1306_WHITE); 62 display.setCursor(0, 1); 63 display.println(" LEFT "); 64 display.display(); // Show initial text 65 digitalWrite(2, 0); 66 digitalWrite(3, 0); 67 digitalWrite(4, 1); 68 digitalWrite(5,0); 69 delay(2000); 70 digitalWrite(2, 0); 71 digitalWrite (3, 0); 72 digitalWrite(4,0); 73 digitalWrite(5,0); 74 75 76} 77 78void Right() 79 80{ 81 display.clearDisplay(); 82 display.setTextSize(2); // Draw 2X-scale text 83 display.setTextColor(SSD1306_WHITE); 84 display.setCursor(0, 1); 85 display.println(" RIGHT "); 86 display.display(); // Show initial text 87 digitalWrite(2, 1); 88 digitalWrite(3, 0); 89 digitalWrite(4, 0); 90 digitalWrite(5,0); 91 delay(2000); 92 digitalWrite(2, 0); 93 digitalWrite (3, 0); 94 digitalWrite(4,0); 95 digitalWrite(5,0); 96 97 98} 99 100void setup() 101 102{ 103 Serial.begin(9600); 104 pinMode(2, OUTPUT); 105 pinMode(3, OUTPUT); 106 pinMode(4, OUTPUT); 107 pinMode(5, OUTPUT); 108 pinMode (sensor, INPUT); 109 if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) { 110 Serial.println(F("SSD1306 allocation failed")); 111 for(;;); // Don't proceed, loop forever 112 } 113 display.display(); 114 delay(2000); // Pause for 2 seconds 115 display.clearDisplay(); 116 display.setTextSize(2); // Draw 2X-scale text 117 display.setTextColor(SSD1306_WHITE); 118 display.setCursor(0, 1); 119 display.println(" Clap To MOVE"); 120 display.display(); // Show initial text 121 delay(100); 122} 123 124void loop() 125 126{ 127 128//put your main code here,to run repeatedly; 129 130 if (digitalRead(sensor) == HIGH) { 131 delay(10); 132 if (cont == 0) 133 st = millis(); 134 cont = cont + 1; 135 while (digitalRead(sensor) != LOW) { 136 if (millis() - st > 2000) { 137 Serial.print(cont); 138 Serial.println(" aplausos"); 139 140 doOrders(cont); 141 cont = 0; 142 } 143 } 144 } 145 if (millis() - st > 2000 && cont != 0) { 146 Serial.print(cont); 147 Serial.println(" aplausos"); 148 doOrders(cont); 149 cont = 0; 150 } 151} 152void doOrders(int apl) 153{ 154 if (cont==1) 155 156{ 157Forward(); 158} 159 160else if (cont == 2) 161{ 162Backward(); 163} 164 165else if (cont == 3) 166{ 167Left(); 168} 169 170else if (cont == 4) 171{ 172Right(); 173} 174} 175
Downloadable files
Connection diagram
Connection diagram
Connection diagram
Connection diagram
Comments
Only logged in users can leave comments
aakash11
6 Followers
•12 Projects
0
0