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);
}





Yorumlar