En este tutorial, veremos como hacer un dispositivo, que nos va a permitir encender o apagar una luz, a través de un aplauso, o por medio de un pulsador ubicado en el circuito impreso. Pero además tendremos una función para desactivar el interruptor por aplauso con apretar otro pulsador.
Tal vez pueda interesarte proyectos en arduino, pic, robótica, telecomunicaciones, suscribete en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 mucho videos con código fuentes completos y diagramas
Componentes electrónicos
Arduino nano
El Arduino Nano es una placa pequeña, completa y compatible con la placa de pruebas basada en el ATmega328 (Arduino Nano 3.x). Tiene más o menos la misma funcionalidad del Arduino Duemilanove, pero en un paquete diferente. Solo carece de un conector de alimentación de CC y funciona con un cable USB Mini-B en lugar de uno estándar.
Microcontrolador | ATmega328 |
Arquitectura | AVR |
Tensión de funcionamiento | 5 V |
Memoria flash | 32 KB de los cuales 2 KB utiliza el gestor de arranque |
SRAM | 2 KB |
Velocidad de reloj | 16 MHz |
Pines analógicos IN | 8 |
EEPROM | 1 KB |
Corriente CC por pines de E / S | 40 mA (pines de E / S) |
Voltaje de entrada | 7-12 V |
Pines de E / S digitales | 22 (6 de los cuales son PWM) |
Salida PWM | 6 |
El consumo de energía | 19 mA |
Tamaño de PCB | 18 x 45 mm |
Peso | 7 g |
Diagrama de pines
Un resistores de 1 Kohm
Pines hembra
Pines macho (En total 2)
Zócalo para el arduino nano
Cables Dupont
Un led
Dos pulsadores
Módulo Relay
ESPECIFICACIONES TÉCNICAS
- Voltaje de Operación: 5V DC
- Señal de Control: TTL (3.3V o 5V)
- Nº de Relays (canales): 1 CH
- Capacidad máx: 10A/250VAC, 10A/30VDC
- Corriente máx: 10A (NO), 5A (NC)
- Tiempo de acción: 10 ms / 5 ms
- Para activar salida NO: 0 Voltios
FC-04 (KY-37)
Descripción
Modelo: FC-04 (FC04)
Sensor de sonido, con sensibilidad ajustable mediante potenciómetro.
Tensión de alimentación: 3-5V
Tamaño: 32 x 17 mm
Otro modelo de sensor de sonido
Principales Características:
- Modelo: KY-037
- Voltaje de Operación DC: 5V (VCC)
- Comparador LM393
- Sensibilidad ajustable vía potenciómetro
- Salida digital y analógica
- Led indicador de tensión
- Indicador Led para salida digital
- AO: Salida analógica
- GND: Tierra
- DO: Salida digital
PCB
Descarga el archivo gerber en –> Gerber_interruptor por aplauso
Circuito
Código Fuente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
//Más proyectos en http://www.rogerbit.com //Suscribete en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 //Grupo en Facebook https://www.facebook.com/groups/RogerBit/ int sensorSonido =4;//pin 4 donde conectaremos el módulo fc-04 int var=0; int botonPin2 = 2; //Pin para el pulsador int botonPin3 = 3; //Pin para el pulsador int estadoBoton2 = 0; int estadoBoton3 = 0; int salidaRelay = 5;//pin donde conectaremos el relay int estadoRelay = 0; int sonidoOff = 1; int conteo = 0; void setup() { Serial.begin(9600);//Velocidad del puerto serial pinMode(sensorSonido,INPUT);//configura el pin 4 como entrada pinMode(botonPin2, INPUT_PULLUP);//Inicializamos el pin 2 como entrada(botón) pinMode(botonPin3, INPUT_PULLUP);//Inicializamos el pin 3 como entrada(botón) pinMode(salidaRelay, OUTPUT);// configura el pin 5 como salida } void loop() { estadoRelay = digitalRead(salidaRelay);//Leemos el estado de la salida del relay pin 5 arduino estadoBoton2 = digitalRead(botonPin2);//Leemos el pulsador pin2, para ver su estado (BT1 pcb) estadoBoton3 = digitalRead(botonPin3);//Leemos el pulsador pin3, para ver su estado (BT2 pcb) if (estadoBoton2 == LOW){//si la condición se cumple enciende el foco if (estadoRelay == LOW){ encender();//LLamamos a una función para encender la luz delay(100);//antirrebote } else{ delay(100); apagar();//LLamamos a una función para apagar la luz } while(estadoBoton2 == LOW){ estadoBoton2 = digitalRead(2);//Se cumple esta condición mientras esté precionado el botón delay(100); } } //////Activar o desactivar el sensor de sonido///////// if (estadoBoton3 == LOW){ sonidoOff = 0;//Con el valor 0 se ignorará el sensor de sonido if (conteo == 0){ Serial.println("Sensor de sonido desactivado"); } conteo = conteo+1; delay(100);//antirrebote while(estadoBoton3 == LOW){ estadoBoton3 = digitalRead(3);//Se cumple esta condición mientras esté precionado el botón delay(100); } } if(conteo == 2){ sonidoOff = 1;//Con valor 1 activamos la deteción del sensor de sonido Serial.println("Sensor de sonido activado"); conteo = 0; delay(100);//antirrebote } ///////Sensor de sonido////////// var = digitalRead(sensorSonido);// lectura del pin 4, si se detecta un sonido fuerte como un aplauso, le asigna un valor verdadero if (var == HIGH && sonidoOff == 1){//Deben cumplirse las dos condiciones if (estadoRelay == LOW){ encender();//LLamamos a una función para encender la luz delay(100);//antirrebote } else{ delay(100); apagar();//LLamamos a una función para apagar la luz } } } //Funciones void encender(){ digitalWrite(salidaRelay, HIGH);//Encendemos el foco conectado al relay Serial.println("Luz encendida"); } void apagar(){ digitalWrite(salidaRelay, LOW);//Encendemos el foco conectado al relay Serial.println("Luz apagada"); } |
VIDEO RECOMENDADO
Hola saludes desde Nicaragua, sigo sus videos y me parecen geniales, tengo dos consulta:
Donde puedo comprar las placas Arduino y PCBWay en mi país?
Donde montar el código fuente para que funcione el proyecto?
Disculpe mis preguntas, pero quiero aprender, muchisimas gracias desde ya por la enorme contribución al conocimiento. Bendiciones.