Hebt u deze interessante deurbel hangt naast de deur, zouden absoluut meer mensen willen kloppen aan je deur! Hoewel als de video mentions, de deurbel is ontworpen om te voorkomen dat iemand beltonen van uw deurbel te vaak echter, als het geluid van de deurbel wordt een interessante interactie, misschien mensen genieten van zou houden het rinkelen van uw deurbel gewoon om plezier hebben?
wil het nu hebben? Laat doen het!
Instrumenten en materialen:
Een veer van papier
Een deurbel
Arduino Uno bestuur
Een kortstondige
Een mini servomotor
Stijve draden of gedrag draad
Een naald
Gedrag tape
Doorschijnend plastic bord
Hete lijm
Schaar
Soldeerbout
Een transistor
Een Relais
Een rode LED
Vergadering en bedrading:
Eerst, moet u aan een voorjaar papier vouwen. Draad van de naald met geleidende draad, doordringen in het voorjaar van papier in het midden. Herstellen van één kant van het draad met geleidende tape en soldeer van de andere kant, op de momentele.
Vervolgens zoek een plek op de draad van de gedragscode tussen de lente van papier en de kortstondige en koppelen aan de servo.
Afbreken van de push-knop van de deurbel en ontdek de manier waarop die het wordt geactiveerd. In mijn geval dienen er twee cirkels van de koper zodra zij zijn aangesloten, de bel wordt geactiveerd. Dus ik gesoldeerd één draad op elke cirkel.
Bedrading zoals in de afbeelding.
De rode LED is alleen voor testen want u zal niet teveel lawaai maken door triggering de deurbel elke minuut.
Codering:
#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, INPUT); Serial.begin(9600); pinMode (ledPin, OUTPUT); }
void loop {touchState = digitalRead(touchPin); if (touchState! = lastButtonState) {als (touchState == HIGH) {digitalWrite (ledPin, laag);} anders {digitalWrite (ledPin, hoge); buttonPushCounter ++; myservo.write(180); voor (int pos = 180; pos > = 0; pos--) {myservo.write(pos); delay(15); myservo.write(0);} delay(50);}
lastButtonState = touchState;
} }