簡易遙控船(arduino vs esp32cam)



https://drive.google.com/drive/folders/1gVVM7cDeIg5kVhGqcj7z_EkxjAqHTw0C?usp=sharing


























nano &blutooths


























 









#include <SoftwareSerial.h>
#include <Wire.h>
#include <Servo.h>

long  a;
long  e;

Servo servo_6;

const int leftMotorIn1 = 4;
const int leftMotorIn2 = 5;


SoftwareSerial CAR_BT(8,9); //定義 tX 及rX 腳位

void setup()  
{
servo_6.attach(6);

pinMode(leftMotorIn1, OUTPUT);
pinMode(leftMotorIn2, OUTPUT);


 
a = 90;
e = 90;
  Serial.begin(9600); //Arduino起始鮑率:9600
  CAR_BT.begin(9600); //藍牙鮑率:9600 注意!每個藍牙晶片的鮑率都不太一樣,請務必確認
}




void f() {
  servo_6.write(90);
 digitalWrite(leftMotorIn1, LOW );
  digitalWrite(leftMotorIn2, HIGH);
  }
void s() {
  servo_6.write(90);
  digitalWrite(leftMotorIn1, LOW);
  digitalWrite(leftMotorIn2, LOW);
  }
void b() {
  servo_6.write(90);
  digitalWrite(leftMotorIn1, HIGH );
  digitalWrite(leftMotorIn2, LOW);
 }

void l() {
  servo_6.write(140);
   digitalWrite(leftMotorIn1, LOW );
  digitalWrite(leftMotorIn2, HIGH);
    }

void r() {
  servo_6.write(40);
   digitalWrite(leftMotorIn1, LOW );
  digitalWrite(leftMotorIn2, HIGH);
  }

void loop()
{
  int inSize;
  char input;
  if( (inSize = (CAR_BT.available())) > 0) { //讀取藍牙訊息
      Serial.print("size = ");
      Serial.println(inSize);
      Serial.print("Input = ");
      Serial.println(input=(char)CAR_BT.read());

     

      if( input == 'f' ) {
        f();
      }
      if( input == 'l' ) {
       l();  
      }
    
      if( input == 'r' ) {
        r();
      }
     
      if( input == 'b' ) {
        b();
      }  
      
      
     if( input == 's' ) {
        s();
      }
      
    
   }      
 }