MATERIALES: 4 triacs BT136 4 optoacopladores moc3022 1 arduino nano 1 modulo bluetooth HC-06 4 resistencias de 330 4 resistencias de 100 ohms 2w 5 terminales de 2 tornillos chicas 1 tira de pines hembra 1 tira de pines macho 2 cables jumper 1 PCB 1 contacto 4 pijas de 1/8 de ancho 1 base de madera de 15x15 cm 1 cable duplex de 2m con clavija 1 telefono con android
Diagrama:
Programacion:
const int led = 13; //Para configurar el Bluetooth char nombreBT [] = "Catyk"; //Nombre que se le da al Esclavo char velocidad = '4'; // Velocidad de transmisión en Baudio - 9600 una cte para cada velocidad 4 = 9600B char pin [5] = "0130"; //Poner una contraseña /////////Declaración de variables//////////// const int led3 = 2; const int led2 = 4; const int led1 = 8; const int led0 = 12;
Serial.begin(9600); //Inicialización del puerto serie. //Se envían los comandos AT para configurar en BT Serial.print("AT"); delay(1000); //Envio el comando para darle un nombre al BT Serial.print("AT+NAME"); //Serial.print("AT+NAMECatyk"); Serial.print(nombreBT); delay(1000); //Comando para darle una velocidad de transmisión al BT Serial.print("AT+BAUD"); //Serial.print("AT+BAUD4"); Serial.print(velocidad); delay(1000); //Comando para agregarle una contraseña al BT Serial.print("AT+PIN"); //Serial.print("AT+PIN0000"); Serial.print(pin); delay(1000); //Una vez que se a configurado nuestro bluetooth //se enciende el led del pin D13 digitalWrite(led, HIGH);
//Manda el mensaje esperando... Serial.print("Esperando..."); } void loop() { //Si se recibe un comando entonces ... if (Serial.available() > 0) {
estado = Serial.read(); //Se lee el comando enviado al bluetooth 'a','b',... Serial.println(estado); //Condicion de encendido de la lampara 1 if (estado == 'a') digitalWrite(led0, HIGH); //Condicion de apagado de la lampara 1 if (estado == 'b') digitalWrite(led0, LOW); //Condicion de encendido de la lampara 2 if (estado == 'c') digitalWrite(led1, HIGH); //Condicion de apagado de la lampara 2 if (estado == 'd') digitalWrite(led1, LOW); //Condicion de encendido de la lampara 3 if (estado == 'e') digitalWrite(led2, HIGH); //Condicion de apagado de la lampara 3 if (estado == 'f') digitalWrite(led2, LOW); //Condicion de encendido de la lampara 4 if (estado == 'g') digitalWrite(led3, HIGH); //Condicion de apagado de la lampara 4 if (estado == 'h') digitalWrite(led3, LOW); /*NOTA: Recordar que si sólo hay una línea de programación dentro del if, no es necesario colocar llavas { } */ }
Nuestros amigos de PCBWAY.com nos invitan a participar en esta increible convocatoria para obtener prototipos de navidad gratis asi que no dejen pasar esta oportunidad.
- 27 Led´s (Cualquier color de preferencia difusos)
- 1 terminal con 2 tornillos
- 1 micro boton
- 9 resistencias de 330 ohms
- 4 resistencias de 10k ohms
- 3 transistores 2n2222 (Cualquier transistor NPN)
- 1 PCB de 8x8 cm
- 4 tornillos de 1/8"x1"
- 2 tiras hembra de 28 pines
- Arduino nano
- 1 pila de 9v
- 1 broche para pila de 9v
- Alambre Galvanizado Calibre #20
- Cuadro de madera de 10x10cm
- Pinzas
- Soldadura
- Pintura acrilica
Diagrama:
Programacion:
/*
*** Cubo Led 3x3x3 ***
*/
//Pines para cada una de las columnas
const int led2 = 2;
const int led3 = 3;
const int led4 = 4;
const int led5 = 5;
const int led6 = 6;
const int led7 = 7;
const int led8 = 8;
const int led9 = 9;
const int led10 = 10;
//Pines de los 3 niveles
const int nivel1 = 11;
const int nivel2 = 12;
const int nivel3 = 13;
//Definimos el pin analógico como digital
const int pb = 14; //El pin analógico como digital será el pin 14
int push; //Variable donde se guarda el cambio lógico del pin digital
int contador = 1; //Variable local que nos servirá como contador
//cada que presionemos el push button.
pinMode(nivel1, OUTPUT);
pinMode(nivel2, OUTPUT);
pinMode(nivel3, OUTPUT);
//Inicializamos el pin A0 como pin-Digital 14 de entrada
pinMode(pb,INPUT);
}
void loop() {
push = digitalRead(pb); //Leemos el valor digital del push button
//Podemos visualizar el estado en el que se encuentra
//usando el monitor serial (Esquina superior derecha "Lupa")
Serial.print("PB = ");
Serial.println(push);
Serial.print("Contador = ");
Serial.println(contador);
if(push == 1)//Si se pulsa el push button se realiza lo que esta dentro de este if
{
contador = contador+1; //Aumentamos en 1 el contador
delay(500); //Tiempo que permite el incremento en una unidad del contador
//Recuerden que si sólo hay una línea dentro de un "if" se pueden omitir las llaves "{}"
if(contador > 10) //Si el contador toma un valor mayor a 10
contador = 1; //el contador vuelve al valor/estado 1.
}//Llave del primer if
//******* Secuencia 1 -Modo Apagado *******//
//*****Por defecto inician apagados los led´s *****//
if(contador==1)
{
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
digitalWrite(led9, LOW);
digitalWrite(led10, LOW);
digitalWrite(nivel1, HIGH);
digitalWrite(nivel2, HIGH);
digitalWrite(nivel3, HIGH);
}
//****** Secuencia 2 - Parpadeo ********//
//*** Se prenden y apagan todos los led´s ***//
if(contador==2)
{
int tiempo = 80;//Puedes cambiar el tiempo de parpadeo
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led8, HIGH);
digitalWrite(led9, HIGH);
digitalWrite(led10, HIGH);
//Activamos los niveles (Prenden led´s)
digitalWrite(nivel1, HIGH);
digitalWrite(nivel2, HIGH);
digitalWrite(nivel3, HIGH);
delay(tiempo);
//Desactivamos los niveles (Apaga Led´s)
digitalWrite(nivel1, LOW);
digitalWrite(nivel2, LOW);
digitalWrite(nivel3, LOW);
delay(tiempo);
}
//****** Secuencia 3 - Centro estático laterales girando ********//
//*** Se mantienen prendidos todos los led´s***//
if(contador==3)
{
int g=100;
digitalWrite(nivel1, HIGH);
digitalWrite(nivel2, HIGH);
digitalWrite(nivel3, HIGH);
//****** Secuencia 4 - Tipo estrella ********//
//*** Se prenden los led´s de manera que parezca una estrella ***//
if(contador==4)
{
digitalWrite(nivel1, HIGH);
digitalWrite(nivel2, HIGH);
digitalWrite(nivel3, HIGH);
int j=150; //Puedes cambiar este tiempo
digitalWrite(nivel1, LOW);
digitalWrite(nivel2, HIGH);
digitalWrite(nivel3, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led8, HIGH);
digitalWrite(led9, HIGH);
delay(g);
}
//****** Secuencia 3 - Lámina deslizable ********//
//*** Se mantienen prendidos todos los led´s***//
if(contador==8)
{
int g=80; //Un tiempo de 150ms genera un buen efecto
digitalWrite(nivel1, HIGH);
digitalWrite(nivel2, HIGH);
digitalWrite(nivel3, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
delay(g);
//Se mantiene prendido Led3 y 4
digitalWrite(led2, LOW);
digitalWrite(led7, HIGH);
delay(g);
//Se mantiene prendido Led4 y 7
digitalWrite(led3, LOW);
digitalWrite(led10, HIGH);
delay(g);
//Se mantiene prendido Led7 y 10
digitalWrite(led4, LOW);
digitalWrite(led9, HIGH);
delay(g);
//Se mantiene prendido Led9 y 10
digitalWrite(led7, LOW);
digitalWrite(led8, HIGH);
delay(g);
//Se mantiene prendido Led8 y 9
digitalWrite(led10, LOW);
digitalWrite(led5, HIGH);
delay(g);
//Se mantiene prendido Led5 y 8
digitalWrite(led9, LOW);
digitalWrite(led2, HIGH);
delay(g);
//Se mantiene prendido Led5
digitalWrite(led8, LOW);
digitalWrite(led3, HIGH);
delay(g);
}
//****** Secuencia 9 - Parpadeo ********//
//*** Se prenden y apagan todos los led´s ***//
if(contador==9)
{
int tiempo = 10;
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
digitalWrite(led6, HIGH);
digitalWrite(led7, HIGH);
digitalWrite(led8, HIGH);
digitalWrite(led9, HIGH);
digitalWrite(led10, HIGH);
//Activamos los niveles (Prenden led´s)
digitalWrite(nivel1, HIGH);
digitalWrite(nivel2, HIGH);
digitalWrite(nivel3, HIGH);
delay(tiempo);
//Desactivamos los niveles (Apaga Led´s)
digitalWrite(nivel1, LOW);
digitalWrite(nivel2, LOW);
digitalWrite(nivel3, LOW);
delay(tiempo);
}
/*NOTA: Recuerda que al agregar una secuencia debes cambiar el valor máximo
de la variable contador, por ejemplo: tenemos 8 secuencias
entonces if(contador > 9) aquí colocamos un 8
si tuvieramos 10 secuencias - if(contador > 10)
este if esta en la línea 59...
/*
//****** Secuencia _ - (Agrega tus secuencias) ********/
//*** ***//
/*
Writes "Ardunio" with Persistance of Vision (POV) with 16 LEDs (output 0
is on bottom, output 15 is top). The animation below doesn't work with
more than 1 TLC.
I generated the animation with the included java code:
<arduino folder>/hardware/libraries/Tlc5940/examples/BasicAnimations
To use the code, run
java AnimationCreator
in the folder above and it will parse all images in the folder to
.h files. For best results use images that are 16 pixels high.
See the BasicUse example for hardware setup.
Alex Leone <acleone ~AT~ gmail.com>, 2009-02-03 */
void loop()
{
// checks to see if the animation is finished playing
if (!tlc_onUpdateFinished) {
delay(100);
/*
void tlc_playAnimation(prog_uint8_t *animation, uint16_t frames,
uint16_t periodsPerFrame);
periods per frame is PWM periods, 1.024ms per frame (0 is valid - this
will play the animation as fast as possible).
Plays an animation in the "background".
Don't call Tlc.update() while this is running.
You can check if this is done with !tlc_onUpdateFinished */
tlc_playAnimation(ani_arduino, ANI_ARDUINO_FRAMES, 0);
// If you don't want to do anything until it's finished, use:
// while (!tlc_onUpdateFinished);
Materiales:
(material electrónico)
* 1 kit de mecanismo para servomotores con funduino
* 5 botones pulsadores
* 10 terminales faston hembra de 3mm
* 30cm de cable UTP
* 5 resistencias de 10k 1/2 watt
* 1 pila de 9v o 11.4v o 12v
(material para la estructura)
* 1 tabla de 16.5cm x 10.5cm
* 1 tabla gruesa de 4.4cm x 5.7cm
* 2 tablas gruesas de 10.6cm x 4.4cm
* 1 tabla de 2.9 x 6.9cm
* 3 L's pequeñas
* 7 tornillos con tuerca de 1/8"
* 1 tornillo para camara
Materiales:
5 LEDs RGB ánodo común ultra brillante 5mm
5 resistencias de 150 ohms 1/4 watt
1 DIP switch de 4 interruptores
1 jack USB tipo B para placa
1 placa fenolica
1 manguera negra delgada de 20 cm de largo
1 alambre de 20cm calibre 14
1 base de madera de 5x5cm
1 pija de 1/2 pulgada
1 tornillo con tuerca de 1/8x1/2 de pulgada
1 desarmador
1 cautin