Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
SUMINISTROS
-2 tablas de pan
-zumbador
-cables de puente
-2 arduino / genuino con cables de alimentación
-transmisor y receptor de radiofrecuencia
-presionar el botón
-Resistencia de 100 ohmios
Paso 1: función
Este proyecto es un timbre de trabajo cuya función principal es usar código para programar el arduino de una manera donde el botón pulsador con el transmisor envía una señal al extremo receptor con el timbre y el receptor que iniciará el sonido del timbre con una conexión inalámbrica..
Paso 2: Paso 1: Tablero transmisor
La forma en que se supone que funciona este proyecto es tener 2 placas de prueba y 2 arduiono / genuinos conectados a ellas. para la placa del transmisor conectamos el botón pulsador con la resistencia de 100 ohmios conectada a tierra y un cable conectado a la alimentación en la placa de pruebas. Luego conecte el transmisor a la placa de pruebas y conecte el botón tanto al transmisor como al arduino como se muestra en la imagen.
Paso 3: Paso 2: Placa receptora
En la placa del receptor es donde va el timbre. Conecte un cable a tierra a través del receptor y conecte un cable a un pin de su elección que luego puede personalizar en su código. Conecte el receptor a la placa de pruebas y conéctelo al arduino como se muestra en la imagen.
Paso 4: Paso 3: Código del transmisor
// ask_transmitter.pde
// - * - modo: C ++ - * -
// Ejemplo simple de cómo usar RadioHead para transmitir mensajes
// con un simple transmisor ASK de una manera muy sencilla.
// Implementa un transmisor simplex (unidireccional) con un módulo TX-C1
#incluir
#include // No se usa en realidad pero es necesario para compilar
Controlador RH_ASK;
// controlador RH_ASK (2000, 2, 4, 5); // ESP8266 o ESP32: no use el pin 11
configuración vacía ()
{
Serial.begin (9600); // Solo depuración
pinMode (5, ENTRADA);
si (! driver.init ())
Serial.println ("error de inicio");
}
bucle vacío ()
}
if (digitalRead (5) == HIGH) {
const char * msg = "a";
driver.send ((uint8_t *) msg, strlen (msg));
driver.waitPacketSent ();
retraso (200);
}
}
Paso 5: Paso 4: Código del receptor
#incluir
#include // No se usa actualmente pero es necesario para compilar
#include "pitches.h" // agrega una frecuencia equivalente para la nota musical
#include "themes.h" // agrega el valor y la duración de la nota
Controlador RH_ASK;
configuración vacía ()
{
Serial.begin (9600); // Solo depuración
si (! driver.init ())
Serial.println ("error de inicio");
demás
Serial.println ("hecho");
Controlador RH_ASK;
configuración vacía ()
{
Serial.begin (9600); // Solo depuración
si (! driver.init ())
Serial.println ("error de inicio");
demás
Serial.println ("hecho");
}
void Play_Pirates ()
{
for (int thisNote = 0; thisNote <(sizeof (Pirates_note) / sizeof (int)); thisNote ++) {
int noteDuration = 1000 / Pirates_duration [thisNote]; // convierte la duración en tiempo de retraso
tone (8, Pirates_note [thisNote], noteDuration);
int pauseBetweenNotes = noteDuration * 1.05; // Aquí 1.05 es el tempo, aumente para tocarlo más lento
delay (pauseBetweenNotes);
noTone (8); // detener la música en el pin 8
}
}
bucle vacío ()
{
uint8_t buf [1];
uint8_t buflen = tamaño de (buf);
if (driver.recv (buf, & buflen)) // Sin bloqueo
{
Serial.println ("Seleccionado -> 'Es un pirata'");
Play_Pirates ();
Serial.println ("detener");
}
}