top of page

Arduino ile RC kumanda yapımı


RC araç projelerimizde kullanabileceğimiz bri rc kumanda yapıyorum. Arduino nano tercih ettim. Daha küçük olmasını ister iseniz pro mini de kullanabilirsiniz.


3D dosyaları



RF24 LIB



Verici kodları

#include <SPI.h>

#include <nRF24L01.h>

#include <RF24.h>

RF24 radio(9, 10);

const byte address[6] = "00001";

int button_pin =8;

int x_pot =A6;

int data[2];

void setup()

{

pinMode(x_pot,INPUT);

pinMode(button_pin,INPUT);

radio.begin();

radio.openWritingPipe(address);

radio.setPALevel(RF24_PA_MAX);

radio.stopListening();

}

void loop()

{

data[0] = analogRead(button_pin);

data[1] = analogRead(x_pot);

radio.write(data, sizeof(data));

}


Alıcı kodları

#include <SPI.h>

#include <nRF24L01.h>

#include <RF24.h>

//ce cns

RF24 radio(4, 8); // burada siz nrfnin ce pinini ve cns pinini nereye bağladıysanız o pinleri yazın

const byte address[6] = "00001";

boolean button_state = 0;

int led_pin = 6;

int motor_data;

int motor_pin=5;

int data[2];

void setup()

{

pinMode(led_pin, OUTPUT);

pinMode(motor_pin, OUTPUT);

Serial.begin(9600);

radio.begin();

radio.openReadingPipe(0, address);

radio.setPALevel(RF24_PA_MIN);

radio.startListening();

}


void loop()

{

if (radio.available())

{

radio.read(data, sizeof(data)); //Veri okuması

motor_data= map(data[1],0,1023,0,255); // map komutu ile data[1] den 0 ile 1023 arası gelen değeri 0 ile 255 arasına çevirdik

analogWrite(motor_pin, motor_data); // analog olarak yazdırma yaptık

delay(5);

if(data[0] == HIGH)

{

digitalWrite(led_pin, HIGH);


}

else

{

digitalWrite(led_pin, LOW);

}

}

else{

digitalWrite(led_pin, LOW);

analogWrite(motor_pin, 0);

}

delay(5);

}

 
 
 

Комментарии


bottom of page