Aduino ile RC araba yapmak

eren4169

Yeni üye
Katılım
16 Nis 2019
Mesajlar
6
Tepkime puanı
1
Puanları
3
Konum
Türkiye
Verici şema.png
Alıcı şema.png






Kod:
VERİCİ KOD

#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 joystick[7]; //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 SW3 = 3;
int SW4 = 6;
int SW5 = 9;

#define xAxis A0    // A0 for Arduino UNO
int x;
void setup(){

Serial.begin(9600);
radio.begin(); // Kablosuz iletişimi başlattık.
radio.openWritingPipe(pipe); //Gönderim yapacağımız kanalın ID'sini tanımladık.

pinMode(SW1,INPUT_PULLUP);
pinMode(SW2,INPUT_PULLUP);
pinMode(SW3,INPUT_PULLUP);
pinMode(SW4,INPUT_PULLUP);
pinMode(SW5,INPUT_PULLUP);


digitalWrite(SW1,LOW);
digitalWrite(SW2,LOW);
digitalWrite(SW3,LOW);
digitalWrite(SW4,LOW);
digitalWrite(SW5,LOW);

}

void loop(){



x = analogRead(xAxis);
x = map(x , 1023 , 0 , 25 , 135);
joystick[0] = x;
joystick[1] = digitalRead(SW1);
joystick[2] = digitalRead(SW2);
joystick[3] = digitalRead(SW3);
joystick[4] = digitalRead(SW4);
joystick[5] = digitalRead(SW5);



radio.write( joystick, sizeof(joystick) );
delay(20);

      Serial.print("X = ");
      Serial.print(analogRead(x));
      Serial.print(" SW1 = ");
      Serial.print(digitalRead(SW1));
      Serial.print(" SW2 = ");
      Serial.print(digitalRead(SW2));
      Serial.print(" SW3 = ");
      Serial.print(digitalRead(SW3));
      Serial.print(" SW4 = ");
      Serial.print(digitalRead(SW4));
      Serial.print(" SW5 = ");
      Serial.println(digitalRead(SW5));
     
}

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

ALICI KOD


#include <Servo.h>
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
Servo servo;
int joystick[7];
RF24 radio(8,7);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int motor_g = 10;
int motor_i = 9;
int korna   = 5;
int dort    = 4;
int far_f   = 2;
int farba   = 3;



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);
pinMode(korna   , OUTPUT);
pinMode(dort    , OUTPUT);
pinMode(far_f   , OUTPUT);
pinMode(farba   , OUTPUT);

digitalWrite(motor_g , LOW);
digitalWrite(motor_i , LOW);
digitalWrite(korna   , LOW);
digitalWrite(dort    , LOW);
digitalWrite(far_f   , LOW);
digitalWrite(farba   , LOW);
}

void loop(void){
if (radio.available()){

  radio.read( joystick, sizeof(joystick) );
  servo.write(joystick[0]);

  int motor_ib  = joystick[1];
  int motor_gb  = joystick[2];
  int korna_b   = joystick[3];
  int dort_b    = joystick[6];
  int far_b     = joystick[5];

  if (motor_ib == HIGH){digitalWrite(motor_i , LOW);}
  else {digitalWrite(motor_i , HIGH);}

  if (motor_gb == HIGH){digitalWrite(motor_g , LOW);}
  else {digitalWrite(motor_g , HIGH);}

  if (korna_b == HIGH){digitalWrite(korna , HIGH);}
  else {digitalWrite(korna , LOW);}

  if (far_b == HIGH){
  digitalWrite(far_f , HIGH);
  digitalWrite(farba , HIGH);
  }
  else {
  digitalWrite(far_f , LOW);
  digitalWrite(farba , LOW);
  }

  if (dort_b == HIGH){
    digitalWrite(dort , HIGH);
    delay(300);
    digitalWrite(dort , LOW);
    delay(300);
  }

  else if (dort_b == LOW){digitalWrite(dort , LOW);}
 
  Serial.print("X = ");
  Serial.println(analogRead(joystick[0]));
 
}
}
 
Üst