#define d 2 // L298N #1 in D #define i1 3 // L298N #1 in FIRST I #define w 4 // L298N #1 in W #define a 5 // L298N #1 in A #define l 18 // L298N #2 in L #define i2 19 // L298N #2 in SECOND I int command; //Int to store app command state. void setup() { pinMode(d, OUTPUT); pinMode(i1, OUTPUT); pinMode(w, OUTPUT); pinMode(a, OUTPUT); pinMode(l, OUTPUT); pinMode(i2, OUTPUT); Serial.begin(115200); } void on(){ digitalWrite(d, HIGH); digitalWrite(i1, HIGH); digitalWrite(w, HIGH); digitalWrite(a, HIGH); digitalWrite(l, HIGH); digitalWrite(i2, HIGH); } void off(){ digitalWrite(d,LOW); digitalWrite(i1, LOW); digitalWrite(w, LOW); digitalWrite(a, LOW); digitalWrite(l, LOW); digitalWrite(i2, LOW); } void d1(){ digitalWrite(d,HIGH); } void i11(){ digitalWrite(i1,HIGH); } void w1(){ digitalWrite(w,HIGH); } void a1(){ digitalWrite(a,HIGH); } void l1(){ digitalWrite(l,HIGH); } void i21(){ digitalWrite(i2,HIGH); } void slide1(){ digitalWrite(d,HIGH); digitalWrite(i1, LOW); digitalWrite(w, LOW); digitalWrite(a, LOW); digitalWrite(l, LOW); digitalWrite(i2, LOW); delay(200); digitalWrite(d,HIGH); digitalWrite(i1, HIGH); digitalWrite(w, LOW); digitalWrite(a, LOW); digitalWrite(l, LOW); digitalWrite(i2, LOW); delay(200); digitalWrite(d,HIGH); digitalWrite(i1,HIGH); digitalWrite(w, HIGH); digitalWrite(a, LOW); digitalWrite(l, LOW); digitalWrite(i2, LOW); delay(200); digitalWrite(d,HIGH); digitalWrite(i1, HIGH); digitalWrite(w, HIGH); digitalWrite(a, HIGH); digitalWrite(l, LOW); digitalWrite(i2, LOW); delay(200); digitalWrite(d,HIGH); digitalWrite(i1, HIGH); digitalWrite(w, HIGH); digitalWrite(a, HIGH); digitalWrite(l, HIGH); digitalWrite(i2, LOW); delay(200); digitalWrite(d,HIGH); digitalWrite(i1, HIGH); digitalWrite(w, HIGH); digitalWrite(a, HIGH); digitalWrite(l, HIGH); digitalWrite(i2, HIGH); delay(200); digitalWrite(d,LOW); digitalWrite(i1, LOW); digitalWrite(w, LOW); digitalWrite(a, LOW); digitalWrite(l, LOW); digitalWrite(i2, LOW); delay(200); } void slide2(){ digitalWrite(d,LOW); digitalWrite(i1, LOW); digitalWrite(w, LOW); digitalWrite(a, LOW); digitalWrite(l, LOW); digitalWrite(i2, HIGH); delay(200); digitalWrite(d,LOW); digitalWrite(i1, LOW); digitalWrite(w, LOW); digitalWrite(a, LOW); digitalWrite(l, HIGH); digitalWrite(i2, HIGH); delay(200); digitalWrite(d,LOW); digitalWrite(i1, LOW); digitalWrite(w, LOW); digitalWrite(a, HIGH); digitalWrite(l, HIGH); digitalWrite(i2, HIGH); delay(200); digitalWrite(d,LOW); digitalWrite(i1, LOW); digitalWrite(w, HIGH); digitalWrite(a,HIGH); digitalWrite(l, HIGH); digitalWrite(i2, HIGH); delay(200); digitalWrite(d,LOW); digitalWrite(i1, HIGH); digitalWrite(w, HIGH); digitalWrite(a, HIGH); digitalWrite(l, HIGH); digitalWrite(i2, HIGH); delay(200); digitalWrite(d,HIGH); digitalWrite(i1, HIGH); digitalWrite(w, HIGH); digitalWrite(a, HIGH); digitalWrite(l, HIGH); digitalWrite(i2, HIGH); delay(200); digitalWrite(d,LOW); digitalWrite(i1, LOW); digitalWrite(w, LOW); digitalWrite(a, LOW); digitalWrite(l, LOW); digitalWrite(i2, LOW); delay(200); } void blink(){ digitalWrite(d,LOW); digitalWrite(i1, LOW); digitalWrite(w, LOW); digitalWrite(a, LOW); digitalWrite(l, LOW); digitalWrite(i2, LOW); delay(500); digitalWrite(d, HIGH); digitalWrite(i1, HIGH); digitalWrite(w, HIGH); digitalWrite(a, HIGH); digitalWrite(l, HIGH); digitalWrite(i2, HIGH); delay(500); } void p1(){ digitalWrite(d,LOW); digitalWrite(i1, LOW); digitalWrite(w, LOW); digitalWrite(a, LOW); digitalWrite(l, LOW); digitalWrite(i2, LOW); delay(120); digitalWrite(d, HIGH); digitalWrite(i1, HIGH); digitalWrite(w, HIGH); digitalWrite(a, HIGH); digitalWrite(l, HIGH); digitalWrite(i2, HIGH); delay(120); } void p2(){ digitalWrite(d, HIGH); digitalWrite(i1, HIGH); digitalWrite(w, HIGH); digitalWrite(a, HIGH); digitalWrite(l, HIGH); digitalWrite(i2, HIGH); delay(1000); digitalWrite(d, HIGH); digitalWrite(i1, HIGH); digitalWrite(w, LOW); digitalWrite(a,LOW); digitalWrite(l, HIGH); digitalWrite(i2, LOW); delay(2000); digitalWrite(d, LOW); digitalWrite(i1, LOW); digitalWrite(w, HIGH); digitalWrite(a, HIGH); digitalWrite(l, HIGH); digitalWrite(i2, HIGH); delay(2000); } void p4(){ for(int i=0;i<10;i++){ digitalWrite(d,LOW); digitalWrite(i1, LOW); digitalWrite(w, LOW); digitalWrite(a, LOW); digitalWrite(l, LOW); digitalWrite(i2, LOW); delay(120); digitalWrite(d, HIGH); digitalWrite(i1, HIGH); digitalWrite(w, HIGH); digitalWrite(a, HIGH); digitalWrite(l, HIGH); digitalWrite(i2, HIGH); delay(120); } for(int i=0;i<10;i++){ digitalWrite(d,HIGH); digitalWrite(i1, LOW); digitalWrite(w, LOW); digitalWrite(a, LOW); digitalWrite(l, LOW); digitalWrite(i2, LOW); delay(100); digitalWrite(d,HIGH); digitalWrite(i1, HIGH); digitalWrite(w, LOW); digitalWrite(a, LOW); digitalWrite(l, LOW); digitalWrite(i2, LOW); delay(100); digitalWrite(d,HIGH); digitalWrite(i1,HIGH); digitalWrite(w, HIGH); digitalWrite(a, LOW); digitalWrite(l, LOW); digitalWrite(i2, LOW); delay(100); digitalWrite(d,HIGH); digitalWrite(i1, HIGH); digitalWrite(w, HIGH); digitalWrite(a, HIGH); digitalWrite(l, LOW); digitalWrite(i2, LOW); delay(100); digitalWrite(d,HIGH); digitalWrite(i1, HIGH); digitalWrite(w, HIGH); digitalWrite(a, HIGH); digitalWrite(l, HIGH); digitalWrite(i2, LOW); delay(100); digitalWrite(d,HIGH); digitalWrite(i1, HIGH); digitalWrite(w, HIGH); digitalWrite(a, HIGH); digitalWrite(l, HIGH); digitalWrite(i2, HIGH); delay(100); digitalWrite(d,LOW); digitalWrite(i1, LOW); digitalWrite(w, LOW); digitalWrite(a, LOW); digitalWrite(l, LOW); digitalWrite(i2, LOW); delay(100); digitalWrite(d,LOW); digitalWrite(i1, LOW); digitalWrite(w, LOW); digitalWrite(a, LOW); digitalWrite(l, LOW); digitalWrite(i2, LOW); delay(50); digitalWrite(d,LOW); digitalWrite(i1, LOW); digitalWrite(w, LOW); digitalWrite(a, LOW); digitalWrite(l, LOW); digitalWrite(i2, HIGH); delay(100); digitalWrite(d,LOW); digitalWrite(i1, LOW); digitalWrite(w, LOW); digitalWrite(a, LOW); digitalWrite(l, HIGH); digitalWrite(i2, HIGH); delay(100); digitalWrite(d,LOW); digitalWrite(i1, LOW); digitalWrite(w, LOW); digitalWrite(a, HIGH); digitalWrite(l, HIGH); digitalWrite(i2, HIGH); delay(100); digitalWrite(d,LOW); digitalWrite(i1, LOW); digitalWrite(w, HIGH); digitalWrite(a,HIGH); digitalWrite(l, HIGH); digitalWrite(i2, HIGH); delay(100); digitalWrite(d,LOW); digitalWrite(i1, HIGH); digitalWrite(w, HIGH); digitalWrite(a, HIGH); digitalWrite(l, HIGH); digitalWrite(i2, HIGH); delay(100); digitalWrite(d,HIGH); digitalWrite(i1, HIGH); digitalWrite(w, HIGH); digitalWrite(a, HIGH); digitalWrite(l, HIGH); digitalWrite(i2, HIGH); delay(100); digitalWrite(d,LOW); digitalWrite(i1, LOW); digitalWrite(w, LOW); digitalWrite(a, LOW); digitalWrite(l, LOW); digitalWrite(i2, LOW); delay(50); } for(int i=0;i<10;i++){ digitalWrite(d,LOW); digitalWrite(i1, LOW); digitalWrite(w, LOW); digitalWrite(a, LOW); digitalWrite(l, LOW); digitalWrite(i2, LOW); delay(500); digitalWrite(d, HIGH); digitalWrite(i1, HIGH); digitalWrite(w, HIGH); digitalWrite(a, HIGH); digitalWrite(l, HIGH); digitalWrite(i2, HIGH); delay(500); } } void loop(){ if (Serial.available() > 0) { command = Serial.read(); switch (command) { case 'N':on();break; case 'F':off();break; case 'B': for(int i=0;i<20;i++){ blink(); } break; case 'S': for(int i=0;i<10;i++){ slide1(); } break; case 's': for(int i=0;i<10;i++){ slide2(); } break; case 'W': w1(); break; case 'D': d1(); break; case 'L': l1(); break; case 'I': i21(); break; case 'i': i11(); break; case 'A': a1(); break; case 'X': for(int i=0;i<20;i++){ p1(); } break; case 'Y': for(int i=0;i<5;i++){ p2(); } break; case 'Z': for(int i=0;i<50;i++){ p1(); } break; case 'Q': for(int p=0;p<20;p++){ p4(); } break; } } }