Video: Happy Hack Light Switch: 3 sammu
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Viimased 2 nädalat oleme töötanud kooliprojekti nimel "Happy häkkimine". Selle projektiga püüdsime teha avalikule ruumile "Happy hack". Noh, mis on "õnnelik häkkimine"? Meie puhul pidime pettumuse põhjal tegema midagi positiivset. Selle projekti jaoks oli vaja Arduino kasutamist. "Happy hack", mille otsustasime teha, oli valgustuslüliti kauglülitamise install.
Samm: materjalid:
1x Arduino Uno
1x leivalaud
2x servo
1x infrapunaandur
11x traat
1x infrapuna saatja (televiisori eemaldamine)
lint
Samm: kuidas ühendada:
Asetage Arduino infrapuna vastuvõtja leivalauale; eeldades, et vastuvõtja esikülg on pool, millel on kera:
- Ühendage üks juht kõige vasakpoolsemast jalast Arduino uno pordiga „6”.
- Ühendage üks traat keskmisest "jalast" leivalaua reaga "-".
- Ühendage üks traat kõige paremast jalast leivalaua rida+.
Veenduge, et traat oleks leivalaua rea „-” ja Arduino uno „maandatud” pordi vahel ning veenduge, et traat oleks leivalaua „+” rea ja Arduino uno „5 V” pordi vahel.
Nüüd ühendage 2 servot,
- Mõlemad traadiga servo kõige tumedamast traadist leivaplaadil olevasse "-" rida.
- Mõlemad traadiga servo keskmisest juhtmest kuni leivaplaadil olevasse "+" rida.
Nüüd ühendage ühe servo järelejäänud servotraat Arduino uno pordiga „9” ja teine servo Arduino uno pordiga „10”.
3. samm: kood:
#include //
#include //
#include //
IRrecv irrecv (6);
decode_results tulemused;
Servo theServo1;
Servo theServo2;
bool lightOn = vale;
bool disko = vale;
tühine seadistus () {
theServo1.attach (10);
theServo2.attach (9);
pinMode (6, INPUT);
Seriaalne algus (9600);
irrecv.enableIRIn (); // Käivitage vastuvõtja
irrecv.blink13 (tõsi);
}
void loop () {
if (irrecv.decode (& tulemused)) {
Serial.println (results.value); // Iga nupu puhul saate erineva tulemuse. Nii et kontrollige jadamonitorist, mis on teie nuppude väärtus.
if (results.value == 3772793023) {// See on meie toitenupu tulemus (3772793023). Ilmselt on see teie puldiga teisiti.
lightOn =! lightOn;
kui (kerge) {
theServo1.write (65);
theServo2.write (15);
}
kui (! lightOn) {
theServo1.write (95);
theServo2.write (95);
}
viivitus (1000);
}
if (results.value == 3772839943) {// See on meie teabenupu tulemus (37728).
disko =! disko;
viivitus (1000);
}
Serial.println (results.value);
irrecv.resume (); // Saate järgmise väärtuse
}
kui (disko) {
lightOn =! lightOn;
kui (kerge) {
theServo1.write (65);
theServo2.write (15);
}
kui (! lightOn) {
theServo1.write (95);
theServo2.write (90);
}
viivitus (2000);
}
}