Video: Happy Hack prekidač svjetla: 3 koraka
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Zadnja 2 tjedna radili smo na školskom projektu pod nazivom "Happy hacking". Ovim projektom pokušali smo napraviti "Happy hack" za javni prostor. Pa, što je "Happy hack"? U našem slučaju morali smo napraviti nešto pozitivno na temelju frustracije. Za ovaj projekt bila je potrebna upotreba Arduina. "Happy hack" koji smo odlučili napraviti bila 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šiljatelj (uklonite TV)
traka
2. korak: Kako se povezati:
Stavite infracrveni prijemnik Arduino u ploču; pod pretpostavkom da je prednja strana prijemnika strana s kuglom na njoj:
- Spojite jednu žicu s krajnje lijeve "noge" na Arduino uno priključak "6".
- Spojite jednu žicu iz srednje ‘nogice’ u red ‘-’ na ploči s kruhom.
- Spojite jednu žicu s krajnje desne ‘nogice’ u red ‘+’ na ploči.
Uvjerite se da je žica između retka ‘-’ na ploči za uzemljenje i ‘uzemljenog’ priključka na Arduino uno-u i neka žica bude između redaka ‘+’ na matičnoj ploči i ulaza ‘5V’ na Arduino uno-u.
Sada spojite 2 serva,
- Oboje žicom od najtamnije žice na servo servo do reda ‘-’ na ploči.
- Oboje žicom od srednje žice na servo pogonu do reda ‘+’ na 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:
#uključi //
#uključi //
#uključi //
IRrecv unrecv (6);
decode_results rezultate;
Servo theServo1;
Servo theServo2;
bool lightOn = false;
bool disco = false;
void setup () {
servo1.prilog (10);
servo2.prilog (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 svaki gumb dobivate drugačiji rezultat. Stoga provjerite na serijskom monitoru koja je vrijednost vaših gumba.
if (results.value == 3772793023) {// Ovo je rezultat naše tipke 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 gumba s informacijama (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);
}
odgoda (2000);
}
}