2022年11月28日月曜日

espwroom32 bluetooth crane


 










// espwroom32_bluetooth_crane

#include <BluetoothSerial.h>

BluetoothSerial SerialBT;


#include "ESP32MotorControl.h"

ESP32MotorControl MotorControl = ESP32MotorControl();


#include<Unistep2.h>


int greenled = 26;

int redled = 27;

int yellowled = 32;

int patoled = 33;


int ain1 = 12;

int ain2 = 13;

int bin1 = 14;

int bin2 = 15;


int s1in1 = 16;

int s1in2 = 17;

int s1in3 = 18;

int s1in4 = 19;

int s2in1 = 21;

int s2in2 = 22;

int s2in3 = 23;

int s2in4 = 25;


Unistep2 stepperX(s1in1,s1in2,s1in3,s1in4,40000,500);

Unistep2 stepperY(s2in1,s2in2,s2in3,s2in4,40000,500);


void setup() 

{

  pinMode(greenled,OUTPUT);

  pinMode(redled,OUTPUT);

  pinMode(yellowled,OUTPUT);

  pinMode(patoled,OUTPUT);

  

  pinMode(ain1,OUTPUT);

  pinMode(ain2,OUTPUT);

  pinMode(bin1,OUTPUT);

  pinMode(bin2,OUTPUT);

  

  pinMode(s1in1,OUTPUT);

  pinMode(s1in2,OUTPUT);

  pinMode(s1in3,OUTPUT);

  pinMode(s1in4,OUTPUT);

  pinMode(s2in1,OUTPUT);

  pinMode(s2in2,OUTPUT);

  pinMode(s2in3,OUTPUT);

  pinMode(s2in4,OUTPUT);


  MotorControl.attachMotors(ain1,ain2,bin1,bin2);

  

  digitalWrite(redled,HIGH);

  

  Serial.begin(115200);

  SerialBT.begin("ESPtest");

  Serial.println("The device started.");


  for(int i=0;i <=3;i++)

  {

    digitalWrite(greenled,HIGH);

    delay(100);

    digitalWrite(greenled,LOW);

    delay(100);

  }


}

  

void loop() 

{     

  if(SerialBT.available())

  

  {     

    if(SerialBT.read() == 'w')

    {

      Forward();

    }


    if(SerialBT.read() == 's')

    {

      MotorStop();

    }


    if(SerialBT.read() == 'x')

    {

      Back();

    }


    if(SerialBT.read() == 'e')

    {

      TurnRight();

    }


    if(SerialBT.read() == 'q')

    {

      TurnLeft();

    }


    if(SerialBT.read() == 'd')

    {

      JibUp();

    }


    if(SerialBT.read() == 'a')

    {

      JibDown();

    }   


    if(SerialBT.read() == 'c')

    {

      RightRotate();

    }   


    if(SerialBT.read() == 'z')

    {

      LeftRotate();

    }         

       

  }        

}



void Forward()

{

  digitalWrite(yellowled,LOW);

  digitalWrite(patoled,LOW);

  MotorControl.motorForward(0,90);

  MotorControl.motorForward(1,100);  

}


void MotorStop()

{

  digitalWrite(yellowled,HIGH);

  digitalWrite(patoled,LOW);

  MotorControl.motorsStop();

}


void Back()

{

  digitalWrite(yellowled,LOW);

  digitalWrite(patoled,LOW);

  MotorControl.motorReverse(0,90);

  MotorControl.motorReverse(1,100);

}


void TurnRight()

{

  digitalWrite(yellowled,LOW);

  digitalWrite(patoled,LOW);

  MotorControl.motorForward(0,100);

  MotorControl.motorReverse(1,100);

  delay(30);

  MotorStop();

}


void TurnLeft()

{

  digitalWrite(yellowled,LOW);

  digitalWrite(patoled,LOW);

  MotorControl.motorReverse(0,100);

  MotorControl.motorForward(1,100);

  delay(30);

  MotorStop();

}


void JibUp()

{

  digitalWrite(yellowled,LOW);

  digitalWrite(patoled,HIGH);

  stepperY.move(-30000);

  stepperY.run();

}


void JibDown()

{

  digitalWrite(yellowled,LOW);

  digitalWrite(patoled,HIGH);

  stepperY.move(30000);

  stepperY.run(); 

}


void RightRotate()

{

  digitalWrite(yellowled,LOW);

  digitalWrite(patoled,HIGH);

  stepperX.move(30000);

  stepperX.run(); 

}


void LeftRotate()

{

  digitalWrite(yellowled,LOW);

  digitalWrite(patoled,HIGH);

  stepperX.move(-30000);

  stepperX.run();  

}


// espwroom32_bluetooth_transmitter2

#include <BluetoothSerial.h>

BluetoothSerial SerialBT;

String MACadd = "C8:F0:9E:A8:2E;9E";

uint8_t address[6] = {0xC8,0xF0,0x9E,0xA8,0x2E,0x9E};

bool connected;


int greenkey1 = 12;

int whitekey1 = 13;

int redkey1 = 14;

int yellowkey1 = 15;

int bluekey1 = 16;


int greenkey2 = 17;

int redkey2 = 19;

int yellowkey2 = 21;

int bluekey2= 22;


int displed = 5;


void setup() 

{

  pinMode(greenkey1,INPUT);

  pinMode(whitekey1,INPUT);

  pinMode(redkey1,INPUT);

  pinMode(yellowkey1,INPUT);

  pinMode(bluekey1,INPUT);

  pinMode(greenkey2,INPUT);

  pinMode(redkey2,INPUT);

  pinMode(yellowkey2,INPUT);

  pinMode(bluekey2,INPUT);

  pinMode(displed,OUTPUT);


  Serial.begin(115200);

  SerialBT.begin("ESP32test",true);

  Serial.println("The device started in master mode.");

  connected = SerialBT.connect(address);


  if(connected)

  {

   Serial.println("Connected Succesfully!");

    for( int i=0;i<=2;i++)

  {

    digitalWrite(displed,HIGH);

    delay(150);

    digitalWrite(displed,LOW);

    delay(150);

  }

  }

  else

  {

    while(!SerialBT.connected(10000))

    {

      Serial.println("Failed to connect");

    }

  }


 if(SerialBT.disconnect())

  {

    Serial.println("Disconnectd Succesfully!");

  }

    

  SerialBT.connect();

 

}


void loop() 

  if(digitalRead(greenkey1) == HIGH )

  {

    SerialBT.write('w');

    Serial.println("w");

  }


  if(digitalRead(whitekey1) == HIGH)

  {

    SerialBT.write('s');

    Serial.println("s");

   

  }


  if(digitalRead(redkey1) == HIGH )

  {

    SerialBT.write('x');

    Serial.println("x");

   

  }  


  if(digitalRead(yellowkey1) == HIGH )

  {

    SerialBT.write('e');

    Serial.println("e");  

  }  


  if(digitalRead(bluekey1) == HIGH )

  {

    SerialBT.write('q');

    Serial.println("q");    

  } 


  if(digitalRead(greenkey2) == HIGH )

  {

    SerialBT.write('d');

    Serial.println("d");  

  }  


     if(digitalRead(redkey2) == HIGH )

  {

    SerialBT.write('a');

    Serial.println("a");   

  }  


     if(digitalRead(yellowkey2) == HIGH )

  {

    SerialBT.write('c');

    Serial.println("c");       

  }  


     if(digitalRead(bluekey2) == HIGH )

  {

    SerialBT.write('z');

    Serial.println("z");   

  }  

}

2022年11月17日木曜日

espwroom32 bluetooth ftmc04 car and espwroom32 bluetooth transmitter


 








// espwroom32_bluetooth_ftmc04_car

#include <BluetoothSerial.h>

BluetoothSerial SerialBT;

#include <ESP32Servo.h>

Servo RightServo;

Servo LeftServo;


int greenled = 12;

int whiteled = 13;

int redled = 14;

int yellowled = 15;

int blueled = 16;


int RightServoPin = 22;

int LeftServoPin = 23;

int pos = 0;


void setup() 

{

  pinMode(greenled,OUTPUT);

  pinMode(whiteled,OUTPUT);

  pinMode(redled,OUTPUT);

  pinMode(yellowled,OUTPUT);

  pinMode(blueled,OUTPUT);


  LedTest();

  

  Serial.begin(115200);

  SerialBT.begin("ESPtest");

  Serial.println("The device started.");

  for(int i =0;i<3;i++)

  {

    digitalWrite(greenled,HIGH);

    delay(50);

    digitalWrite(greenled,LOW);

    delay(50);

  } 


  RightServo.attach(RightServoPin,1000,2000);

  LeftServo.attach(LeftServoPin,1000,2000);


}

  

void loop() 

  if(SerialBT.available())

  {   

    if(SerialBT.read() == 'u')

    {

      digitalWrite(greenled,HIGH);

      digitalWrite(whiteled,LOW);

      digitalWrite(redled,LOW);

      digitalWrite(yellowled,LOW);

      digitalWrite(blueled,LOW);

      Forward();

    }


    if(SerialBT.read() == 'j')

    {

      digitalWrite(greenled,LOW);

      digitalWrite(whiteled,HIGH);

      digitalWrite(redled,LOW);

      digitalWrite(yellowled,LOW);

      digitalWrite(blueled,LOW);

      MotorStop();

    }


    if(SerialBT.read() == 'm')

    {

      digitalWrite(greenled,LOW);

      digitalWrite(whiteled,LOW);

      digitalWrite(redled,HIGH);

      digitalWrite(yellowled,LOW);

      digitalWrite(blueled,LOW);

      Back();

    }


    if(SerialBT.read() == 'k')

    {

      digitalWrite(greenled,LOW);

      digitalWrite(whiteled,LOW);

      digitalWrite(redled,LOW);

      digitalWrite(yellowled,HIGH);

      digitalWrite(blueled,LOW);

      TurnRight();

    }


    if(SerialBT.read() == 'h')

    {

      digitalWrite(greenled,LOW);

      digitalWrite(whiteled,LOW);

      digitalWrite(redled,LOW);

      digitalWrite(yellowled,LOW);

      digitalWrite(blueled,HIGH);

      TurnLeft();

    }   

  }        

}


void LedTest()

{

   for(int i =0;i<1;i++)

  {

    digitalWrite(greenled,HIGH);

    delay(500);

    digitalWrite(greenled,LOW);

    delay(500);  

    digitalWrite(yellowled,HIGH);

    delay(500);

    digitalWrite(yellowled,LOW);

    delay(500);  

    digitalWrite(redled,HIGH);

    delay(500);

    digitalWrite(redled,LOW);

    delay(500);  

    digitalWrite(blueled,HIGH);

    delay(500);

    digitalWrite(blueled,LOW);

    delay(500); 

    digitalWrite(whiteled,HIGH);

    delay(500);

    digitalWrite(whiteled,LOW);

    delay(500);      

  }

}


void ServoSet()

{

  RightServo.attach(RightServoPin,1000,2000);

  LeftServo.attach(LeftServoPin,1000,2000);    

}


void Forward()

{

  ServoSet();

  for(pos=10;pos<=170;pos +=1)

  {

    RightServo.write(pos);

    LeftServo.write(pos);

  }

}


void MotorStop()

{

  RightServo.detach();

  LeftServo.detach();

}


void Back()

{

  ServoSet();

  for(pos=170;pos>=10;pos -=1)

  {

    RightServo.write(pos);

    LeftServo.write(pos);

  } 

}


void TurnRight()

{

  ServoSet();

  RightServo.detach();

  for(pos=10;pos<=170;pos +=1)

  {    

    LeftServo.write(pos);

  } 

  MotorStop();

}


void TurnLeft()

{

  ServoSet(); 

  LeftServo.detach();

  for(pos=10;pos<=170;pos +=1)

  {

    RightServo.write(pos);

  }

  MotorStop();

}


// espwroom32_bluetooth_transmitter

#include <BluetoothSerial.h>

BluetoothSerial SerialBT;

String MACadd = "C8:F0:9E:A8:2E;9E";

uint8_t address[6] = {0xC8,0xF0,0x9E,0xA8,0x2E,0x9E};

bool connected;


int greenled = 12;

int whiteled = 13;

int redled = 14;

int yellowled = 15;

int blueled = 16;


int greenkey = 18;

int whitekey = 19;

int redkey = 21;

int yellowkey = 22;

int bluekey = 23;


void setup() 

{

  pinMode(greenled,OUTPUT);

  pinMode(whiteled,OUTPUT);

  pinMode(redled,OUTPUT);

  pinMode(yellowled,OUTPUT);

  pinMode(blueled,OUTPUT);

  pinMode(greenkey,INPUT);

  pinMode(whitekey,INPUT);

  pinMode(redkey,INPUT);

  pinMode(yellowkey,INPUT);

  pinMode(bluekey,INPUT);


  LedTest();

  

  Serial.begin(115200);

  SerialBT.begin("ESP32test",true);

  Serial.println("The device started in master mode.");

  connected = SerialBT.connect(address);


  if(connected)

  {

   Serial.println("Connected Succesfully!");

   for(int i =0;i<3;i++)

    {

      digitalWrite(greenled,HIGH);

      delay(50);

      digitalWrite(greenled,LOW);

      delay(50);

    } 

  }

   else

  {

    while(!SerialBT.connected(10000))

    {

      Serial.println("Failed to connect");

    }

  }


 if(SerialBT.disconnect())

  {

    Serial.println("Disconnectd Succesfully!");

  }

    

  SerialBT.connect();

  

}


void loop() 

{

  

  if(digitalRead(greenkey) == HIGH )

  {

    SerialBT.write('u');

    digitalWrite(greenled,HIGH);

    digitalWrite(whiteled,LOW);

    digitalWrite(redled,LOW);

    digitalWrite(yellowled,LOW);

    digitalWrite(blueled,LOW);

  }


  if(digitalRead(whitekey) == HIGH)

  {

    SerialBT.write('j');

    digitalWrite(greenled,LOW);

    digitalWrite(whiteled,HIGH);

    digitalWrite(redled,LOW);

    digitalWrite(yellowled,LOW);

    digitalWrite(blueled,LOW);

  }


  if(digitalRead(redkey) == HIGH )

  {

    SerialBT.write('m');

    digitalWrite(greenled,LOW);

    digitalWrite(whiteled,LOW);

    digitalWrite(redled,HIGH);

    digitalWrite(yellowled,LOW);

    digitalWrite(blueled,LOW);

  }  


  if(digitalRead(yellowkey) == HIGH )

  {

    SerialBT.write('k');

    digitalWrite(greenled,LOW);

    digitalWrite(whiteled,LOW);

    digitalWrite(redled,LOW);

    digitalWrite(yellowled,HIGH);

    digitalWrite(blueled,LOW);

  }  


    if(digitalRead(bluekey) == HIGH )

  {

    SerialBT.write('h');

    digitalWrite(greenled,LOW);

    digitalWrite(whiteled,LOW);

    digitalWrite(redled,LOW);

    digitalWrite(yellowled,LOW);

    digitalWrite(blueled,HIGH);

  }  

}


void LedTest()

{

   for(int i =0;i<1;i++)

  {

    digitalWrite(greenled,HIGH);

    delay(500);

    digitalWrite(greenled,LOW);

    delay(500);  

    digitalWrite(yellowled,HIGH);

    delay(500);

    digitalWrite(yellowled,LOW);

    delay(500);  

    digitalWrite(redled,HIGH);

    delay(500);

    digitalWrite(redled,LOW);

    delay(500);  

    digitalWrite(blueled,HIGH);

    delay(500);

    digitalWrite(blueled,LOW);

    delay(500); 

    digitalWrite(whiteled,HIGH);

    delay(500);

    digitalWrite(whiteled,LOW);

    delay(500);      

  }

}

2022年11月4日金曜日

seeeduinoxiao_ keyboard control car


 





// seeeduinoxiao_keyboard_control__car

const int green =  0;

const int red =    1;

const int blue =   2;

const int yellow = 3;

const int in1 =    4; 

const int in2 =    5; 

const int in3 =    8; 

const int in4 =    9                                                      ; 


char inkey;


void setup()

{

  Serial1.begin(9600);    

  Serial.println("Serial start");

  pinMode(green,  OUTPUT);  

  pinMode(red,    OUTPUT); 

  pinMode(blue,   OUTPUT); 

  pinMode(yellow, OUTPUT); 

  pinMode(in1,    OUTPUT);

  pinMode(in2,    OUTPUT);

  pinMode(in3,    OUTPUT);

  pinMode(in4,    OUTPUT);


  digitalWrite(green,HIGH);

  delay(500);

  digitalWrite(green,LOW);

  delay(500);

  

  digitalWrite(blue,HIGH);

  delay(500);

  digitalWrite(blue,LOW);

  delay(500);


  digitalWrite(red,HIGH);

  delay(500);

  digitalWrite(red,LOW);

  delay(500);


  digitalWrite(yellow,HIGH);

  delay(500);

  digitalWrite(yellow,LOW);

  delay(500);

}

 

void loop()

{

  if (Serial1.available() > 0 )

  {

    inkey = Serial1.read();

    

    Serial.println(inkey);

    

    switch(inkey)

    {

      case 'u':

      digitalWrite(green,HIGH);

      digitalWrite(red,LOW);

      digitalWrite(blue,LOW);

      digitalWrite(yellow,LOW);

      digitalWrite(in1,HIGH);

      digitalWrite(in2,LOW);

      digitalWrite(in3,HIGH);

      digitalWrite(in4,LOW);

      Serial.println("Forward");

      break;

      

      case 'm':

      digitalWrite(green,LOW);

      digitalWrite(red,HIGH);

      digitalWrite(blue,LOW);

      digitalWrite(yellow,LOW);

      digitalWrite(in1,LOW);

      digitalWrite(in2,HIGH);

      digitalWrite(in3,LOW);

      digitalWrite(in4,HIGH);

      Serial.println("Backward");

      break;

      

      case 'k':

      digitalWrite(green,LOW);

      digitalWrite(red,LOW);

      digitalWrite(blue,HIGH);

      digitalWrite(yellow,LOW);

      digitalWrite(in1,LOW);

      digitalWrite(in2,HIGH);

      digitalWrite(in3,HIGH);

      digitalWrite(in4,LOW);

      Serial.println("Turn right");

      delay(50);

      

      digitalWrite(green,LOW);

      digitalWrite(red,LOW);

      digitalWrite(blue,LOW);

      digitalWrite(yellow,LOW);

      digitalWrite(in1,LOW);

      digitalWrite(in2,LOW);

      digitalWrite(in3,LOW);

      digitalWrite(in4,LOW);

      break;

      

      case 'h':

      digitalWrite(green,LOW);

      digitalWrite(red,LOW);

      digitalWrite(blue,LOW);

      digitalWrite(yellow,HIGH);

      digitalWrite(in1,HIGH);

      digitalWrite(in2,LOW);

      digitalWrite(in3,LOW);

      digitalWrite(in4,HIGH);

      Serial.println("Turn left");

      delay(50);

      

      digitalWrite(green,LOW);

      digitalWrite(red,LOW);

      digitalWrite(blue,LOW);

      digitalWrite(yellow,LOW);

      digitalWrite(in1,LOW);

      digitalWrite(in2,LOW);

      digitalWrite(in3,LOW);

      digitalWrite(in4,LOW);

      break;

      

      case 'j':

      digitalWrite(green,LOW);

      digitalWrite(red,LOW);

      digitalWrite(blue,LOW);

      digitalWrite(yellow,LOW);

      digitalWrite(in1,LOW);

      digitalWrite(in2,LOW);

      digitalWrite(in3,LOW);

      digitalWrite(in4,LOW);

      Serial.println("St");

      break;

    }  

  }

  delay(100);

}

2022年11月3日木曜日

tiny2040_ keyboard control car



 # tiny2040_keyboard_control_car.py

import os

import machine

from time import sleep


uart = machine.UART(1,9600)

print(uart)


b = None

msg = ""


green = machine.Pin(29,machine.Pin.OUT)

red = machine.Pin(28,machine.Pin.OUT)

blue = machine.Pin(27,machine.Pin.OUT)

yellow = machine.Pin(26,machine.Pin.OUT)

in1 = machine.Pin(0,machine.Pin.OUT)

in2 = machine.Pin(1,machine.Pin.OUT)

in3 = machine.Pin(2,machine.Pin.OUT)

in4 = machine.Pin(3,machine.Pin.OUT)


green.value(1)

sleep(0.5)

green.value(0)

red.value(1)

sleep(0.5)

red.value(0)

blue.value(1)

sleep(0.5)

blue.value(0)

yellow.value(1)

sleep(0.5)

yellow.value(0)


while True:

    sleep(1)

    if uart.any():

        b = uart.read()

        msg = b.decode("utf-8")

        print(">>  " + msg)

        

        if msg == "u":

            green.value(1)

            red.value(0)

            blue.value(0)

            yellow.value(0)

            in1.value(1)

            in2.value(0)

            in3.value(1)

            in4.value(0)

            

        if msg == "m":

            green.value(0)

            red.value(1)

            blue.value(0)

            yellow.value(0)

            in1.value(0)

            in2.value(1)

            in3.value(0)

            in4.value(1)

            

        if msg == "k":

            green.value(0)

            red.value(0)

            blue.value(1)

            yellow.value(0)

            in1.value(0)

            in2.value(1)

            in3.value(1)

            in4.value(0)

            

            sleep(0.5)

            

            green.value(0)

            red.value(0)

            blue.value(0)

            yellow.value(0)

            in1.value(0)

            in2.value(0)

            in3.value(0)

            in4.value(0)

            

        if msg == "h":

            green.value(0)

            red.value(0)

            blue.value(0)

            yellow.value(1)

            in1.value(1)

            in2.value(0)

            in3.value(0)

            in4.value(1)

            

            sleep(0.5)

            

            green.value(0)

            red.value(0)

            blue.value(0)

            yellow.value(0)

            in1.value(0)

            in2.value(0)

            in3.value(0)

            in4.value(0)

            

            

        if msg == "j":

            green.value(0)

            red.value(0)

            blue.value(0)

            yellow.value(0)

            in1.value(0)

            in2.value(0)

            in3.value(0)

            in4.value(0)

        

2022年11月2日水曜日

pico_ keyboard control car


 

# pico_keyboard_control_car.py

import os

import machine

from time import sleep


uart = machine.UART(1,9600)

print(uart)


b = None

msg = ""


green = machine.Pin(6,machine.Pin.OUT)

red = machine.Pin(7,machine.Pin.OUT)

blue = machine.Pin(8,machine.Pin.OUT)

yellow = machine.Pin(9,machine.Pin.OUT)

in1 = machine.Pin(10,machine.Pin.OUT)

in2 = machine.Pin(11,machine.Pin.OUT)

in3 = machine.Pin(12,machine.Pin.OUT)

in4 = machine.Pin(13,machine.Pin.OUT)


green.value(1)

sleep(0.5)

green.value(0)

red.value(1)

sleep(0.5)

red.value(0)

blue.value(1)

sleep(0.5)

blue.value(0)

yellow.value(1)

sleep(0.5)

yellow.value(0)


while True:

    sleep(1)

    if uart.any():

        b = uart.read()

        msg = b.decode("utf-8")

        print(">>  " + msg)

        

        if msg == "u":

            green.value(1)

            red.value(0)

            blue.value(0)

            yellow.value(0)

            in1.value(1)

            in2.value(0)

            in3.value(1)

            in4.value(0)

            

        if msg == "m":

            green.value(0)

            red.value(1)

            blue.value(0)

            yellow.value(0)

            in1.value(0)

            in2.value(1)

            in3.value(0)

            in4.value(1)

            

        if msg == "k":

            green.value(0)

            red.value(0)

            blue.value(1)

            yellow.value(0)

            in1.value(0)

            in2.value(1)

            in3.value(1)

            in4.value(0)

            

            sleep(0.5)

            

            green.value(0)

            red.value(0)

            blue.value(0)

            yellow.value(0)

            in1.value(0)

            in2.value(0)

            in3.value(0)

            in4.value(0)

            

        if msg == "h":

            green.value(0)

            red.value(0)

            blue.value(0)

            yellow.value(1)

            in1.value(1)

            in2.value(0)

            in3.value(0)

            in4.value(1)

            

            sleep(0.5)

            

            green.value(0)

            red.value(0)

            blue.value(0)

            yellow.value(0)

            in1.value(0)

            in2.value(0)

            in3.value(0)

            in4.value(0)

            

            

        if msg == "j":

            green.value(0)

            red.value(0)

            blue.value(0)

            yellow.value(0)

            in1.value(0)

            in2.value(0)

            in3.value(0)

            in4.value(0)

        

2022年11月1日火曜日

espwroom32_ keyboard control car


 

//espwroom32_keyboard_control__car

const int green =  4;  

const int red =    16;

const int blue =   17;

const int yellow = 18; 

const int in1 =    19; 

const int in2 =    21; 

const int in3 =    22; 

const int in4 =    23                                                      ; 


char inkey;


void setup()

{

  Serial.begin(9600);    

  Serial.println("Serial start");

  pinMode(green,  OUTPUT);  

  pinMode(red,    OUTPUT); 

  pinMode(blue,   OUTPUT); 

  pinMode(yellow, OUTPUT); 

  pinMode(in1,    OUTPUT);

  pinMode(in2,    OUTPUT);

  pinMode(in3,    OUTPUT);

  pinMode(in4,    OUTPUT);


  digitalWrite(green,HIGH);

  delay(500);

  digitalWrite(green,LOW);

  delay(500);

  

  digitalWrite(blue,HIGH);

  delay(500);

  digitalWrite(blue,LOW);

  delay(500);


  digitalWrite(red,HIGH);

  delay(500);

  digitalWrite(red,LOW);

  delay(500);


  digitalWrite(yellow,HIGH);

  delay(500);

  digitalWrite(yellow,LOW);

  delay(500);

}

 

void loop()

{

  if (Serial.available() > 0 )

  {

    inkey = Serial.read();

    

    Serial.println(inkey);

    

    switch(inkey)

    {

      case 'u':

      digitalWrite(green,HIGH);

      digitalWrite(red,LOW);

      digitalWrite(blue,LOW);

      digitalWrite(yellow,LOW);

      digitalWrite(in1,HIGH);

      digitalWrite(in2,LOW);

      digitalWrite(in3,HIGH);

      digitalWrite(in4,LOW);

      Serial.println("Forward");

      break;

      

      case 'm':

      digitalWrite(green,LOW);

      digitalWrite(red,HIGH);

      digitalWrite(blue,LOW);

      digitalWrite(yellow,LOW);

      digitalWrite(in1,LOW);

      digitalWrite(in2,HIGH);

      digitalWrite(in3,LOW);

      digitalWrite(in4,HIGH);

      Serial.println("r is pressed");

      break;

      

      case 'k':

      digitalWrite(green,LOW);

      digitalWrite(red,LOW);

      digitalWrite(blue,HIGH);

      digitalWrite(yellow,LOW);

      digitalWrite(in1,LOW);

      digitalWrite(in2,HIGH);

      digitalWrite(in3,HIGH);

      digitalWrite(in4,LOW);

      Serial.println("Turn right");

      delay(500);

      

      digitalWrite(green,HIGH);

      digitalWrite(red,LOW);

      digitalWrite(blue,LOW);

      digitalWrite(yellow,LOW);

      digitalWrite(in1,HIGH);

      digitalWrite(in2,LOW);

      digitalWrite(in3,HIGH);

      digitalWrite(in4,LOW);

      Serial.println("Forward");

      break;

      

      case 'h':

      digitalWrite(green,LOW);

      digitalWrite(red,LOW);

      digitalWrite(blue,LOW);

      digitalWrite(yellow,HIGH);

      digitalWrite(in1,HIGH);

      digitalWrite(in2,LOW);

      digitalWrite(in3,LOW);

      digitalWrite(in4,HIGH);

      Serial.println("Turn left");

      delay(500);

      

      digitalWrite(green,HIGH);

      digitalWrite(red,LOW);

      digitalWrite(blue,LOW);

      digitalWrite(yellow,LOW);

      digitalWrite(in1,HIGH);

      digitalWrite(in2,LOW);

      digitalWrite(in3,HIGH);

      digitalWrite(in4,LOW);

      Serial.println("Forward");

      break;

      

      case 'j':

      digitalWrite(green,LOW);

      digitalWrite(red,LOW);

      digitalWrite(blue,LOW);

      digitalWrite(yellow,LOW);

      digitalWrite(in1,LOW);

      digitalWrite(in2,LOW);

      digitalWrite(in3,LOW);

      digitalWrite(in4,LOW);

      Serial.println("s is pressed");

      break;

    }  

  }

  delay(100);

}

nano keyboard control car


 






//nano_keyboard_control_car

const int green =  2;  

const int red =    3;

const int blue =   4;

const int yellow = 5; 

const int in1 =    6; 

const int in2 =    7; 

const int in3 =    8; 

const int in4 =    9; 


char inkey;


void setup()

{

  Serial.begin(9600);    

  Serial.println("Serial start");

  pinMode(green,  OUTPUT);  

  pinMode(red,    OUTPUT); 

  pinMode(blue,   OUTPUT); 

  pinMode(yellow, OUTPUT); 

  pinMode(in1,    OUTPUT);

  pinMode(in2,    OUTPUT);

  pinMode(in3,    OUTPUT);

  pinMode(in4,    OUTPUT);


  digitalWrite(green,HIGH);

  delay(500);

  digitalWrite(green,LOW);

  delay(500);

  

  digitalWrite(blue,HIGH);

  delay(500);

  digitalWrite(blue,LOW);

  delay(500);


  digitalWrite(red,HIGH);

  delay(500);

  digitalWrite(red,LOW);

  delay(500);


  digitalWrite(yellow,HIGH);

  delay(500);

  digitalWrite(yellow,LOW);

  delay(500);

}

 

void loop()

{

  if (Serial.available() > 0 )

  {

    inkey = Serial.read();

    

    Serial.println(inkey);

    

    switch(inkey)

    {

      case 'u':

      digitalWrite(green,HIGH);

      digitalWrite(red,LOW);

      digitalWrite(blue,LOW);

      digitalWrite(yellow,LOW);

      digitalWrite(in1,HIGH);

      digitalWrite(in2,LOW);

      digitalWrite(in3,HIGH);

      digitalWrite(in4,LOW);

      Serial.println("Forward");

      break;

      

      case 'm':

      digitalWrite(green,LOW);

      digitalWrite(red,HIGH);

      digitalWrite(blue,LOW);

      digitalWrite(yellow,LOW);

      digitalWrite(in1,LOW);

      digitalWrite(in2,HIGH);

      digitalWrite(in3,LOW);

      digitalWrite(in4,HIGH);

      Serial.println("r is pressed");

      break;

      

      case 'k':

      digitalWrite(green,LOW);

      digitalWrite(red,LOW);

      digitalWrite(blue,HIGH);

      digitalWrite(yellow,LOW);

      digitalWrite(in1,LOW);

      digitalWrite(in2,HIGH);

      digitalWrite(in3,HIGH);

      digitalWrite(in4,LOW);

      Serial.println("Turn right");

      delay(500);

      

      digitalWrite(green,HIGH);

      digitalWrite(red,LOW);

      digitalWrite(blue,LOW);

      digitalWrite(yellow,LOW);

      digitalWrite(in1,HIGH);

      digitalWrite(in2,LOW);

      digitalWrite(in3,HIGH);

      digitalWrite(in4,LOW);

      Serial.println("Forward");

      break;

      

      case 'h':

      digitalWrite(green,LOW);

      digitalWrite(red,LOW);

      digitalWrite(blue,LOW);

      digitalWrite(yellow,HIGH);

      digitalWrite(in1,HIGH);

      digitalWrite(in2,LOW);

      digitalWrite(in3,LOW);

      digitalWrite(in4,HIGH);

      Serial.println("Turn left");

      delay(500);

      

      digitalWrite(green,HIGH);

      digitalWrite(red,LOW);

      digitalWrite(blue,LOW);

      digitalWrite(yellow,LOW);

      digitalWrite(in1,HIGH);

      digitalWrite(in2,LOW);

      digitalWrite(in3,HIGH);

      digitalWrite(in4,LOW);

      Serial.println("Forward");

      break;

      

      case 'j':

      digitalWrite(green,LOW);

      digitalWrite(red,LOW);

      digitalWrite(blue,LOW);

      digitalWrite(yellow,LOW);

      digitalWrite(in1,LOW);

      digitalWrite(in2,LOW);

      digitalWrite(in3,LOW);

      digitalWrite(in4,LOW);

      Serial.println("s is pressed");

      break;

    }  

  }

  delay(100);

}