- Konuyu başlatan
- #1
Merhaba benim rc araba projem var.Ama kodlama kısmında on servo motor koduyla arka dc motor kodu karışıyor. Yardım edebilir misiniz? Kodlar aşağıda :|
ALICI
#include <Servo.h>
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
Servo servo;
int msg[2];
RF24 radio(8,7);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int motor_i = 10;
int motor_g = 9;
void setup(void){
Serial.begin(9600);
servo.attach(6);
radio.begin();
radio.openReadingPipe(1,pipe);
radio.startListening();
pinMode(motor_i, OUTPUT);
pinMode(motor_g, OUTPUT);
}
void loop(void){
if (radio.available()){
bool done = false;
while (!done){
done = radio.read(msg, 1);
Serial.println(msg[0]);
int deger = map(msg[1] , 0 , 1023 , 0 , 179);
servo.write(deger);
if (msg[0] == 111){delay(10);digitalWrite(motor_i, HIGH);}
else if (msg[0] == 112) {digitalWrite(motor_i, LOW);}
else if (msg[0] == 113) {delay(10);digitalWrite(motor_g,HIGH);}
else {digitalWrite(motor_g, LOW);}
delay(10);}}
}
//////////////////////////////////////////////////////////////////////////////////
VERİCİ
#include <SPI.h> // SPI Arayüzünü dahil ettik.
#include "nRF24L01.h" // RF24 kütüpanelerini dahil ettik.
#include "RF24.h" // RF24 kütüpanelerini dahil ettik.
int msg[2]; //Göndereceğimiz mesaj değişkenini oluşturduk.
RF24 radio(8,7); //RF24 kütüphanesi tarafından kullanılacak olan 2 pinin 9. ve 10. pinlerin olduğunu belirttik.
const uint64_t pipe = 0xE8E8F0F0E1LL; // Pipe (kanal) tanımlamasını yaptık.
int SW1 = 5; // Buton'un bağlı olduğu pin (SWITCH1)
int SW2 = 4;
int x;
void setup(void){
radio.begin(); // Kablosuz iletişimi başlattık.
radio.openWritingPipe(pipe);} //Gönderim yapacağımız kanalın ID'sini tanımladık.
void loop(void){
{x = analogRead(0);
msg[1] = x/6;
radio.write(msg , sizeof(msg));
}
if (digitalRead(SW1) == HIGH){
msg[0] = 111;
radio.write(msg, 1);}
if (digitalRead(SW1) == LOW){
msg[0] = 112;
radio.write(msg, 1);}
if (digitalRead(SW2) == HIGH){
msg[0] = 113;
radio.write(msg, 1);}
if (digitalRead(SW2) == LOW){
msg[0] = 114;
radio.write(msg, 1);}
}
ALICI
#include <Servo.h>
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
Servo servo;
int msg[2];
RF24 radio(8,7);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int motor_i = 10;
int motor_g = 9;
void setup(void){
Serial.begin(9600);
servo.attach(6);
radio.begin();
radio.openReadingPipe(1,pipe);
radio.startListening();
pinMode(motor_i, OUTPUT);
pinMode(motor_g, OUTPUT);
}
void loop(void){
if (radio.available()){
bool done = false;
while (!done){
done = radio.read(msg, 1);
Serial.println(msg[0]);
int deger = map(msg[1] , 0 , 1023 , 0 , 179);
servo.write(deger);
if (msg[0] == 111){delay(10);digitalWrite(motor_i, HIGH);}
else if (msg[0] == 112) {digitalWrite(motor_i, LOW);}
else if (msg[0] == 113) {delay(10);digitalWrite(motor_g,HIGH);}
else {digitalWrite(motor_g, LOW);}
delay(10);}}
}
//////////////////////////////////////////////////////////////////////////////////
VERİCİ
#include <SPI.h> // SPI Arayüzünü dahil ettik.
#include "nRF24L01.h" // RF24 kütüpanelerini dahil ettik.
#include "RF24.h" // RF24 kütüpanelerini dahil ettik.
int msg[2]; //Göndereceğimiz mesaj değişkenini oluşturduk.
RF24 radio(8,7); //RF24 kütüphanesi tarafından kullanılacak olan 2 pinin 9. ve 10. pinlerin olduğunu belirttik.
const uint64_t pipe = 0xE8E8F0F0E1LL; // Pipe (kanal) tanımlamasını yaptık.
int SW1 = 5; // Buton'un bağlı olduğu pin (SWITCH1)
int SW2 = 4;
int x;
void setup(void){
radio.begin(); // Kablosuz iletişimi başlattık.
radio.openWritingPipe(pipe);} //Gönderim yapacağımız kanalın ID'sini tanımladık.
void loop(void){
{x = analogRead(0);
msg[1] = x/6;
radio.write(msg , sizeof(msg));
}
if (digitalRead(SW1) == HIGH){
msg[0] = 111;
radio.write(msg, 1);}
if (digitalRead(SW1) == LOW){
msg[0] = 112;
radio.write(msg, 1);}
if (digitalRead(SW2) == HIGH){
msg[0] = 113;
radio.write(msg, 1);}
if (digitalRead(SW2) == LOW){
msg[0] = 114;
radio.write(msg, 1);}
}