CONTROLLING LED AND SERVO MOTOR WIRE LESSLEY TWO ARDUINO UNO WITH FUNDUINO JOY STICK SHIELD USING NRF24L01.
PROBLEM FACING IS THAT LED WORKIN SATISFACTORY AS PER PROGRAMMER BUT SERVO MOTOR NOT WORKING, THAT MEANS WHEN I PRESS PUSH BUTTON OF LED SERVO ALSO VIBERATING.MY PROGRAME MENTIONED BELOW.
RECIEVER
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <Servo.h>
Servo myServo;
int msg[1];
int angleValue ;
RF24 radio(9,10);//check your pin number on RF24 github check you have the right
//pin number for the arduino you're using. this pin is diffrent for diffrent arduino models.
const uint64_t pipe = 0xF0F0F0F0D2L;
int led1 = 2;
int led2 = A2;
int led3 = 4;
int led4 = 5;
int led5 = 6;
int led6 = 7;
int led7 = 8;
void setup(void)
{
myServo.attach(3);
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(1, pipe);
radio.startListening();
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
}
void loop(void)
{
if(radio.available()){
bool done = false;
while (!done) {
done = radio.read(msg, 1);
Serial.println(msg[0]);
if (msg[0] == 111) {
digitalWrite(led1, HIGH);
digitalWrite(led7, LOW);
}if(msg[0] == 222){
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led7, LOW);
}
else if (msg[0] == 111){
digitalWrite(led2, LOW);}
else if(msg[0] == 212){
digitalWrite(led3, HIGH);
}else if(msg[0] == 216){
digitalWrite(led4, HIGH);
}else if(msg[0] == 218){
digitalWrite(led5, HIGH);
}else if(msg[0] == 220){
digitalWrite(led6, HIGH);
}else if(msg[0] == 224){
digitalWrite(led7, HIGH);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
delay(10);
} }}
if(radio.available()){
bool done = false;
while (!done) {
done = radio.read(&angleValue,sizeof (angleValue) );
myServo.write(angleValue);}
delay(10);}
else {
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
}
}
TRANSMITTER
#include <SPI.h>
#include <RF24.h>
#include <nRF24L01.h>
int msg[1];
#define xAxis A0 // A0 for Arduino UNO
RF24 radio(9,10);//check your pin number on RF24 github check you have the right
//pin for the arduino you're using. this pin number is diffrent for diffrent arduino models.
const uint64_t pipe = 0xF0F0F0F0D2L;
int joystick[6];
int buttonPin1 = 2;
int buttonPin2 = 3;
int buttonPin3 = 4;
int buttonPin4 = 5;
int buttonPin5 = 6;
int buttonPin6 = 7;
int buttonPin7 = 8;
int buttonState1 = 1;
int buttonState2 = 1;
int buttonState3 = 1;
int buttonState4 = 1;
int buttonState5 = 1;
int buttonState6 = 1;
int buttonState7 = 1;
int val[1];
void setup(void)
{
Serial.begin(9600);
radio.begin();
radio.openWritingPipe(pipe);
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(buttonPin3, INPUT);
pinMode(buttonPin4, INPUT);
pinMode(buttonPin5, INPUT);
pinMode(buttonPin6, INPUT);
pinMode(buttonPin7, INPUT);
}
void loop(void)
{
int potValue= analogRead(A0);
int angleValue = map(potValue, 0, 1023, 0, 180);
radio.write(&angleValue, sizeof(angleValue));
buttonState1 = digitalRead(buttonPin1);
buttonState2 = digitalRead(buttonPin2);
buttonState3 = digitalRead(buttonPin3);
buttonState4 = digitalRead(buttonPin4);
buttonState5 = digitalRead(buttonPin5);
buttonState6 = digitalRead(buttonPin6);
buttonState7 = digitalRead(buttonPin7);
if (buttonState1 == HIGH)
{
msg[0] = 111;
radio.write(msg, 1);
}
if (buttonState2 == HIGH)
{
msg[0] = 222;
radio.write(msg, 1);
}
if (buttonState3 == HIGH)
{
msg[0] = 212;
radio.write(msg, 1);
}
if (buttonState4 == HIGH)
{
msg[0] = 216;
radio.write(msg, 1);
}
if (buttonState5 == HIGH)
{
msg[0] = 218;
radio.write(msg, 1);
}
if (buttonState6 == HIGH)
{
msg[0] = 220;
radio.write(msg, 1);}
if (buttonState7 == HIGH)
{
msg[0] = 224;
radio.write(msg, 1);
}
}
WITH OUT SERVO MOTOR CODE LED WORKING SATISFACTORY...PLEASE HELP ME ON THIS MATTER