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ı


rc kumanda 3d dosyaları
.rar
RAR dosyasını indir • 244KB

şema
.PDF
PDF dosyasını indir • 18KB

RF24 LIB


RF24
.rar
RAR dosyasını indir • 187KB

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

}

195 görüntüleme0 yorum

Son Yazılar

Hepsini Gör
bottom of page