Video: Happy Hack prekidač za svjetlo: 3 koraka
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Posljednje dvije sedmice radili smo na školskom projektu pod nazivom "Happy hacking". Ovim projektom pokušali smo napraviti "Happy hack" za javni prostor. Pa, šta je "Happy hack"? U našem slučaju morali smo napraviti nešto pozitivno na osnovu frustracije. Za ovaj projekt bila je potrebna upotreba Arduina. "Happy hack" koji smo odlučili napraviti je instalacija za daljinsko okretanje prekidača za svjetlo.
Korak 1: Materijali:
1x Arduino Uno
1x Oglasna ploča
2x servo
1x infracrveni senzor
11x žica
1x infracrveni pošiljalac (uklonite TV)
traka
Korak 2: Kako se povezati:
Stavite Arduino infracrveni prijemnik u matičnu ploču; pod pretpostavkom da je prednja strana prijemnika strana sa sferom na njoj:
- Spojite jednu žicu s krajnje lijeve "noge" na Arduino uno priključak "6".
- Spojite jednu žicu od srednje ‘nogice’ u red ‘-’ na ploči s krugom.
- Spojite jednu žicu s krajnje desne "noge" u red "+" na matičnoj ploči.
Uvjerite se da je žica između redaka „-“na matičnoj ploči i „uzemljenog“priključka na Arduino uno-u i provjerite je li žica između reda „+“na matičnoj ploči i „5V“priključka na Arduino uno.
Sada spojite 2 serva,
- Oboje žicom od najtamnije žice na servo servo do reda ‘-’ na ploči.
- Oboje sa žicom od srednje žice na servo pogonu do reda "+" na matičnoj ploči.
Sada, za jedan od servo -a, spojite preostalu servo žicu na Arduino uno priključak '9', a drugi servo spojite na Arduino uno priključak '10'.
Korak 3: Kôd:
#include //
#include //
#include //
IRrecv unrecv (6);
decode_results rezultati;
Servo theServo1;
Servo theServo2;
bool lightOn = false;
bool disco = false;
void setup () {
theServo1.attach (10);
theServo2.attach (9);
pinMode (6, INPUT);
Serial.begin (9600);
unrecv.enableIRIn (); // Pokretanje prijemnika
unrecv.blink13 (istina);
}
void loop () {{100} {101}
if (unrecv.decode (& rezultati)) {
Serial.println (results.value); // Za svako dugme dobijate drugačiji rezultat. Zato provjerite na serijskom monitoru koja je vrijednost vaših dugmadi.
if (results.value == 3772793023) {// Ovo je rezultat našeg dugmeta za uključivanje (3772793023). Ovo je vjerojatno drugačije s vašim daljinskim upravljačem.
lightOn =! lightOn;
if (lightOn) {
theServo1.write (65);
theServo2.write (15);
}
if (! lightOn) {
theServo1.write (95);
theServo2.write (95);
}
kašnjenje (1000);
}
if (results.value == 3772839943) {// Ovo je rezultat našeg dugmeta za informacije (37728).
disco =! disco;
kašnjenje (1000);
}
Serial.println (results.value);
unrecv.resume (); // Primanje sljedeće vrijednosti
}
if (disko) {
lightOn =! lightOn;
if (lightOn) {
theServo1.write (65);
theServo2.write (15);
}
if (! lightOn) {
theServo1.write (95);
theServo2.write (90);
}
kašnjenje (2000);
}
}