NRF24L01

Reklam Alanı #5

eren4169

Yeni üye
Katılım
16 Nis 2019
Mesajlar
6
Tepkime puanı
1
Puanları
1
Konum
Türkiye
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);}





}
 

seyyarbilimadamı

Moderatör
Katılım
24 Ara 2018
Mesajlar
567
Tepkime puanı
96
Puanları
1
Konum
istanbul
Kod:
Al sana çaşışan proje denenmiş.
Verici kodları

#include <nRF24L01.h>
#include <RF24.h>
#include<SPI.h>
int X_axis = A0;
int Y_axis = A1;
int Z_axis = 2;
int x = 0;
int y = 0;
int z = 0;
RF24 radio(9,10);
const byte address[6] = "00001";
const char var1[32] = "up";
const char var2[32] = "down";
const char var3[32] = "left";
const char var4[32] = "right";
const char var5[32] = "ON";
const char var6[32] = "OFF";
boolean light = true;
int thresholdUP = 460;
int thresholdDOWN = 560;
int thresholdLEFT = 460;
int thresholdRIGHT = 560;
void setup()
{
radio.begin();
Serial.begin(9600);
pinMode(X_axis, INPUT);
pinMode(Y_axis, INPUT);
pinMode(Z_axis, INPUT);
digitalWrite(Z_axis, HIGH);
radio.openWritingPipe(address);
radio.setChannel(100);
radio.setDataRate(RF24_250KBPS);
radio.setPALevel(RF24_PA_MAX);
radio.stopListening();
}
void loop()
{
x = analogRead(X_axis);
y = analogRead(Y_axis);
z = digitalRead(Z_axis);
if(y <= thresholdUP)
{
radio.write(&var1, sizeof(var1));
}
if(y >= thresholdDOWN)
{
radio.write(&var2, sizeof(var2));
}
if(x <= thresholdLEFT)
{
radio.write(&var3, sizeof(var3));
}
if(x >= thresholdRIGHT)
{
radio.write(&var4, sizeof(var4));
}
if(z == LOW)
{
if(light == true)
{
radio.write(&var5, sizeof(var5));
light = false;
delay(200);
}
else
{
radio.write(&var6, sizeof(var6));
light = true;
delay(200);
}
}
}


Alıcı kodları:
#include <nRF24L01.h>
#include <RF24.h>
#include<SPI.h>
RF24 radio(9,10);
const byte address[6] = "00001";
const char var1[32] = "up";
const char var2[32] = "down";
const char var3[32] = "left";
const char var4[32] = "right";
const char var5[32] = "ON";
const char var6[32] = "OFF";
char input[32] = "";
const int output1 = 2;
const int output2 = 3;
const int output3 = 4;
const int output4 = 5;
const int light = 7;
void setup()
{
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(0, address);
radio.setChannel(100);
radio.setDataRate(RF24_250KBPS);
radio.setPALevel(RF24_PA_MAX);
radio.startListening();
pinMode(output1, OUTPUT);
pinMode(output2, OUTPUT);
pinMode(output3, OUTPUT);
pinMode(output4, OUTPUT);
pinMode(light, OUTPUT);
digitalWrite(output1, LOW);
digitalWrite(output2, LOW);
digitalWrite(output3, LOW);
digitalWrite(output4, LOW);
digitalWrite(light, LOW);
}
void loop()
{
while(!radio.available())
{
digitalWrite(output1, LOW);
digitalWrite(output2, LOW);
digitalWrite(output3, LOW);
digitalWrite(output4, LOW);
}
radio.read(&input, sizeof(input));
if((strcmp(input,var1) == 0))
{
digitalWrite(output1, HIGH);
digitalWrite(output2, LOW);
digitalWrite(output3, HIGH);
digitalWrite(output4, LOW);
delay(10);
}
else if((strcmp(input,var2) == 0))
{
digitalWrite(output1, LOW);
digitalWrite(output2, HIGH);
digitalWrite(output3, LOW);
digitalWrite(output4, HIGH);
delay(10);
}
else if((strcmp(input,var3) == 0))
{
digitalWrite(output3, HIGH);
digitalWrite(output4, LOW);
delay(10);
}
else if((strcmp(input,var4) == 0))
{
digitalWrite(output1, HIGH);
digitalWrite(output2, LOW);
delay(10);
}
else if((strcmp(input,var5) == 0))
{
digitalWrite(light, HIGH);
}
else if((strcmp(input,var6) == 0))
{
digitalWrite(light, LOW);
}
}

514

515
 

Reklam Alanı #6

Reklam Alanı #1

Yeni konular

Reklam Alanı #2

Üst