Hola a todos,
Alguno me puede orientarme por que en un Sketch me funciona perfecto y cuando lo paso a TX y RX (NRF24l01) no me funciona, pero los servos si, ya he probado de mil maneras y no doy con la solución
Aquí pongo el primer Sketch que si funciona corregido por el Sr. Rig un solo Arduino,
luego a continuación pondré el TX "transmisor", y por ultimo el RX "receptor". alguna idea??
Gracias por adelantado
Original
int valor1; //Variable donde almacenaremos el valor del potenciometro
int valor; //Variable donde almacenaremos el valor del potenciometro
unsigned long beep;
const int duracion=400; //si quieres que el tono sea mas corto baja este valor
const int frecuencia=2000; //si quieres que se escuche mas agudo sube este valor
const byte ledPin1 = 2, //Declaramos los pins de los LEDs
ledPin2 = 3, //Declaramos los pins de los LEDs
ledPin3 = 4, //Declaramos los pins de los LEDs
ledPin4 = 5, //Declaramos los pins de los LEDs
buzzer1 = 6; //Declaramos el pin del buzzer
unsigned long impresion;
//--------Intermitentes-----------
unsigned long previousMillis = 0; // almacenará la última vez que se actualizó el LED
const unsigned long interval = 400; // intervalo de los intermitentes
void setup() {
pinMode(ledPin1, OUTPUT); //marcha atras led Blanco
pinMode(ledPin2, OUTPUT); //freno led Rojob
pinMode(ledPin3, OUTPUT); //intermitente Derecho led Ambar
pinMode(ledPin4, OUTPUT); //intermitente Izquierdo led Ambar
pinMode(buzzer1, OUTPUT); //buzzer 5v
}
void loop() {
freno();
intermitente();
}
void intermitente()
{
valor1 = analogRead(A1); // leemos del pin A1 valor1
if(valor1 >= 451 && valor1 <=549)
{
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, LOW);
}
//-----Intermitente Derecho-----
if (valor1 >= 0 && valor1 <=450)
{
if (millis() - previousMillis >= interval)
{
digitalWrite(ledPin3, !digitalRead(ledPin3));
previousMillis = millis();
}
digitalWrite(ledPin4, LOW);
}
//-----Intermitente Izquierdo----
if (valor1 >= 550 && valor1 <=1023)
{
if (millis() - previousMillis >= interval)
{
digitalWrite(ledPin4, !digitalRead(ledPin4));
previousMillis = millis();
}
digitalWrite(ledPin3 , LOW);
}
}
void freno(){
if(millis() - impresion >= 500UL){
impresion=millis();
valor = analogRead(A0); // leemos del pin A0 valor
//------Freno y M.Atras----------
if(valor >= 512 && valor <=1023)
{
if( millis()- beep >= duracion*2){ //multiplico duracion por 2 para que dure el mismo tiempo el tono encendido que apagado
tone(buzzer1, frecuencia, duracion);
beep=millis();
}
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, LOW);
}
}
if (valor >= 256 && valor <=511)
{
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);
}
if (valor >= 0 && valor <=255)
{
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
}
}