Si tienes este timbre interesante colgar junto a la puerta, absolutamente más gente le gustaría golpear a tu puerta! ¿Aunque como el video de las menciones, el timbre está diseñado evitar que alguien suena el timbre de la puerta con demasiada frecuencia, sin embargo, como el timbre de llamada se convierte en una interacción interesante, tal vez la gente disfrutaría de mantener sonando el timbre de la puerta sólo para divertirse?
¿quiere tener ahora? ¡ Vamos a hacerlo!
Herramientas y materiales:
Una primavera de papel
Un timbre
Tablero de Arduino Uno
Un momentáneo
Un motor servo mini
Cables rígidos o un hilo de conducta
Una aguja
Cinta de conducta
Tablero plástico translúcido
Pegamento caliente
Tijera
Soldadura de hierro
Un transistor
Un relé de
Un LED rojo
Montaje y cableado:
En primer lugar, usted necesita doblar una primavera de papel. Enhebre la aguja con el hilo conductor, penetrar en la primavera de papel en el centro. Fije un lado de la rosca con cinta conductora y la soldadura del otro lado de la momentánea.
Entonces, encontrar un lugar en el subproceso de conducta entre la primavera de papel y el momentáneo y atarla al servo.
Rasgue abajo el botón de la tonta y averiguar la forma en que se dispara. En mi caso debería haber dos círculos de cobre una vez que están conectados, la campana es accionada. Así que había soldado un cable en cada círculo.
Cableado como en la foto.
El LED rojo es solo para probar porque no tienes que hacer mucho ruido al accionar el timbre cada minuto.
Codificación:
#include
Servo myservo; int pos = 0; const int touchPin = 12; const int servoPin = 10; const int ledPin = 7;
int touchState = 0; int buttonPushCounter = 0; int lastButtonState = 0;
void setup() {myservo.attach(servoPin); pinMode (touchPin, entrada); Serial.Begin(9600); pinMode (ledPin, salida); }
void loop() {touchState = digitalRead(touchPin); si (touchState! = lastButtonState) {si (touchState == HIGH) {digitalWrite (ledPin, LOW);} else {digitalWrite (ledPin, HIGH); buttonPushCounter ++; myservo.write(180); para (int pos = 180; pos > = 0; pos--) {myservo.write(pos); delay(15); myservo.write(0);} delay(50);}
lastButtonState = touchState;
} }