Hola como están? desde ya un saludo a todos tengo una gran duda y no se resolverla,tengo un código desde hace tiempo es una luz flash que se enciende y se apaga por RF,el problema es que haciendo todo bien y las conexiones correctas el RF me da problemas,no se activa ya cambie pins y me e vuelto loco poniendo y quitando uso dos tipos de RF con mando a distancia uno es de 433 mhz y potro de 315 mhz y da igual tanto uno como otro no funciona agradecería me pudieran ayudar pues encender el arduino con el RF no funciona al compilar todo compila bien les dejo el código, es para arduino NANO, gracias.
#include "pitches.h"
#include <Adafruit_NeoPixel.h> //Libreria para las tiras
Adafruit_NeoPixel pixel1 = Adafruit_NeoPixel(12, A2, NEO_GRB + NEO_KHZ800);// El 8 es el pin LEDS
Adafruit_NeoPixel pixel2 = Adafruit_NeoPixel(12, A3, NEO_GRB + NEO_KHZ800);// El 9 es el pin LEDS
unsigned long TIEMPO;
unsigned long TIEMPO1;
char SECUENCIA;
int A, PRENDER;
unsigned long TIEMPO3, TIEMPO2, TIEMPO4;
char DATO;
char ESTADO;
char EMPEZAR, APAGAR;
void setup()
{
Serial.begin(9600);
pinMode(5, OUTPUT);//2N2222
pinMode(6, OUTPUT);//BUZZER
pinMode(12, INPUT);
pinMode(7, INPUT);
pinMode(3, INPUT);
pixel1.begin(); //Puesta en marcha las tiras
pixel1.show(); //Prender t
iras en 0
pixel2.begin(); //Puesta en marcha las tiras
pixel2.show(); //Prender tiras en 0
PRENDER = 1;
tone(6, NOTE_G4, 100);Ç
}
void loop()
{
if (digitalRead(7) )
{
if (digitalRead(12) == 1)
{
EMPEZAR = 1;
delay(200);
}
if (digitalRead(3) == 1)
{
APAGAR = 1;
delay(200);
}
}
if ( (EMPEZAR == 1) && (APAGAR == 0) )
{
if (SECUENCIA == 0)
{
if ( (TIEMPO + 5000) > millis() ) // Se refiere a 10000 ms que es 10 segundos
{
if (PRENDER == 1)
{
pixel1.setPixelColor(A, pixel1.Color (0, 0, 250) );
pixel1.show();
pixel2.setPixelColor(A, pixel2.Color (0, 0, 250) );
pixel2.show();
TIEMPO1 = millis();
PRENDER = 0;
}
if ( millis() >= (TIEMPO1 + 25) )
{
pixel1.setPixelColor(A, pixel1.Color (0, 0, 0) );
pixel1.show();
pixel2.setPixelColor(A, pixel2.Color (0, 0, 0) );
pixel2.show();
A++;
if (A == 12)
A = 0;
PRENDER = 1;
}
}
else
{
SECUENCIA = 1;
PRENDER = 1;
TIEMPO = millis();
}
}
if (SECUENCIA == 1)
{
if ( (TIEMPO + 8000) > millis() ) // Se refiere a 10000 ms que es 10 segundos
{
if (PRENDER == 1)
{
pixel1.setPixelColor(A, pixel1.Color (250, 0, 0) );
pixel1.show();
pixel2.setPixelColor(A, pixel2.Color (250, 0, 0) );
pixel2.show();
TIEMPO1 = millis();
PRENDER = 0;
}
if ( millis() >= (TIEMPO1 + 25) )
{
pixel1.setPixelColor(A, pixel1.Color (0, 0, 0) );
pixel1.show();
pixel2.setPixelColor(A, pixel2.Color (0, 0, 0) );
pixel2.show();
A++;
if (A == 12)
A = 0;
PRENDER = 1;
}
}
else
{
for (int b = 0; b < 12; b++)
{
pixel1.setPixelColor(b, pixel1.Color (0, 0, 0) );
pixel1.show();
pixel2.setPixelColor(b, pixel2.Color (0, 0, 0) );
pixel2.show();
}
SECUENCIA = 2;
PRENDER = 1;
TIEMPO = millis();
DATO = 50;
digitalWrite(5, 1);
TIEMPO4 = millis();
ESTADO = 1;
pixel1.setPixelColor(1, pixel1.Color (250, 0, 0) );
pixel1.show();
pixel2.setPixelColor(7, pixel2.Color (250, 0, 0) );
pixel2.show();
}
}
if (SECUENCIA == 2)
{
tone(6, NOTE_F7, 100);
if ( (TIEMPO + 60000) > millis() ) // Se refiere a 60000 ms que es 1 segundo
{
if (millis() >= (TIEMPO4 + 250)) // Tiempo para la FLASH
{
ESTADO = !ESTADO;
digitalWrite(5, ESTADO);
TIEMPO4 = millis();
}
}
else
{
SECUENCIA = 3;
TIEMPO = millis();
}
}
if (DATO == 0)
{
if ((TIEMPO2 + 1800) >= millis())
{
if (millis() >= (TIEMPO3 + 600))
{
tone(6, NOTE_F7, 100);
TIEMPO3 = millis();
}
}
else
{
DATO = 1;
TIEMPO2 = millis();
TIEMPO3 = millis();
}
}
if (DATO == 1)
{
if ((TIEMPO2 + 1500) >= millis())
{
if (millis() >= (TIEMPO3 + 500))
{
tone(6, NOTE_F7, 100);
TIEMPO3 = millis();
}
}
else
{
DATO = 2;
TIEMPO2 = millis();
TIEMPO3 = millis();
}
}
if (DATO == 2)
{
if ((TIEMPO2 + 2000) >= millis())
{
if (millis() >= (TIEMPO3 + 400))
{
tone(6, NOTE_F7, 100);
TIEMPO3 = millis();
}
}
else
{
DATO = 3;
TIEMPO2 = millis();
TIEMPO3 = millis();
}
}
if (DATO == 3)
{
if ((TIEMPO2 + 1800) >= millis())
{
if (millis() >= (TIEMPO3 + 300))
{
tone(6, NOTE_F7, 100);
TIEMPO3 = millis();
}
}
else
{
DATO = 4;
TIEMPO2 = millis();
TIEMPO3 = millis();
}
}
if (DATO == 4)
{
if ((TIEMPO2 + 1500) >= millis())
{
if (millis() >= (TIEMPO3 + 250))
{
tone(6, NOTE_F7, 100);
TIEMPO3 = millis();
}
}
else
{
DATO = 5;
TIEMPO2 = millis();
TIEMPO3 = millis();
}
}
if (DATO == 5)
{
if ((TIEMPO2 + 2000) >= millis())
{
if (millis() >= (TIEMPO3 + 200))
{
tone(6, NOTE_F7, 100);
TIEMPO3 = millis();
}
}
else
{
DATO = 6;
TIEMPO2 = millis();
TIEMPO3 = millis();
}
}
if (DATO == 6)
{
if ((TIEMPO2 + 1500) >= millis())
{
if (millis() >= (TIEMPO3 + 150))
{
tone(6, NOTE_F7, 100);
TIEMPO3 = millis();
}
}
else
{
DATO = 7;
TIEMPO2 = millis();
TIEMPO3 = millis();
}
}
if (DATO == 7)
{
if ((TIEMPO2 + 900) >= millis())
{
if (millis() >= (TIEMPO3 + 100))
{
tone(6, NOTE_F7, 100);
TIEMPO3 = millis();
}
}
else
{
DATO = 50;
TIEMPO2 = millis();
TIEMPO3 = millis();
}
}
}
}]
