Quadrox
Picopat
Kod:
#include <ESP32_Servo.h>
#define IN1PIN_1 4
#define IN2PIN_1 5
#define IN3PIN_1 14
#define IN4PIN_1 12
#define enaPin_1 15
#define enbPin_1 16
#define IN1PIN_2 18
#define IN2PIN_2 19
#define IN3PIN_2 21
#define IN4PIN_2 22
#define enaPin_2 23
#define enbPin_2 24
#define TRIG_PIN 26
#define ECHO_PIN 27
#define BUZZER_PIN 25
#define SERVO1_PIN 2 // Servo 1
#define SERVO2_PIN 3 // Servo 2
Servo servo1;
Servo servo2;
void setup() {
Serial.begin(115200);
pinMode(IN1PIN_1, OUTPUT);
pinMode(IN2PIN_1, OUTPUT);
pinMode(IN3PIN_1, OUTPUT);
pinMode(IN4PIN_1, OUTPUT);
pinMode(enaPin_1, OUTPUT);
pinMode(enbPin_1, OUTPUT);
pinMode(IN1PIN_2, OUTPUT);
pinMode(IN2PIN_2, OUTPUT);
pinMode(IN3PIN_2, OUTPUT);
pinMode(IN4PIN_2, OUTPUT);
pinMode(enaPin_2, OUTPUT);
pinMode(enbPin_2, OUTPUT);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(BUZZER_PIN, OUTPUT);
servo1.attach(SERVO1_PIN);
servo2.attach(SERVO2_PIN);
}
void loop() {
// Kod burada kullanıcının komutlarına göre servo motorları veya diğer cihazları çalıştıracak.
}
void executeCommand(char command) {
switch (command) {
case 'F': // İleri
digitalWrite(IN1PIN_1, HIGH);
digitalWrite(IN2PIN_1, LOW);
digitalWrite(enaPin_1, HIGH); // Motor A
digitalWrite(IN1PIN_2, HIGH);
digitalWrite(IN2PIN_2, LOW);
digitalWrite(enaPin_2, HIGH); // Motor B
break;
case 'B': // Geri
digitalWrite(IN1PIN_1, LOW);
digitalWrite(IN2PIN_1, HIGH);
digitalWrite(enaPin_1, HIGH); // Motor A
digitalWrite(IN1PIN_2, LOW);
digitalWrite(IN2PIN_2, HIGH);
digitalWrite(enaPin_2, HIGH); // Motor B
break;
case 'S': // Dur
digitalWrite(enaPin_1, LOW); // Motor A'yı devre dışı
digitalWrite(enbPin_1, LOW); // Motor B'yi devre dışı
digitalWrite(enaPin_2, LOW); // Motor A'yı devre dışı
digitalWrite(enbPin_2, LOW); // Motor B'yi devre dışı
break;
default:
break;
}
}