Si vous avez cette sonnette intéressante accroché à côté de la porte, absolument plus de gens voudrais frapper à votre porte ! Bien que comme le mentionne en vidéo, la sonnette est conçue pour prévenir quelqu'un sonner votre sonnette de porte trop souvent, cependant, comme sonnant devient une interaction intéressante, peut-être les gens apprécieraient gardant sonner votre sonnette juste pour s’amuser ?
vous voulez qu’elle soit maintenant ? Permet de le faire !
Outils et matériaux :
Un papier peint printemps
Une sonnette
Arduino Uno Conseil
Une passagère
Un mini servo moteur
Câbles rigides ou fil de conduite
Une aiguille
Bande de conduite
Panneau de plastique translucide
Colle chaude
Scissor
Fer à souder
Un transistor
Un relais
Une LED rouge
Montage et câblage :
Tout d’abord, vous devez plier un papier peint printemps. Enfilez l’aiguille avec le fil conducteur, le papier peint printemps pas pénétrer dans le centre. Fixer un côté du fil avec auto-ADHESIF et souder l’autre côté sur la momentanée.
Ensuite, trouver une place sur le fil de conduite entre le papier peint printemps et le momentané et attachez-le à l’asservissement.
Abattre le bouton poussoir de la sonnette de la porte et découvrez la façon dont elle est déclenchée. Dans mon cas il devrait y avoir deux cercles de coper une fois qu’ils sont connectés, la cloche retentit. Donc, j’ai soudé un fil sur chaque cercle.
Câblage comme l’image.
La LED rouge est juste pour tester car vous ne voudrez pas faire trop de bruit en déclenchant la sonnette chaque minute.
Codage :
#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, entrée) ; Serial.Begin(9600) ; pinMode (ledPin, sortie) ; }
void loop() {touchState = digitalRead(touchPin) ; if (touchState! = lastButtonState) {si (touchState == HIGH) {digitalWrite (ledPin, LOW);} else {digitalWrite (ledPin, HIGH); buttonPushCounter ++; myservo.write(180) ; pour (int pos = 180; pos > = 0; pos--) {myservo.write(pos) ; delay(15) ; myservo.write(0);} delay(50);}
lastButtonState = touchState ;
} }