Innehållsförteckning:
Video: Happy Hack Light Switch: 3 steg
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
De senaste 2 veckorna har vi arbetat med ett skolprojekt som heter "Happy hacking". Med detta projekt försökte vi göra ett "Happy hack" för ett offentligt utrymme. Tja, vad är en "Happy hack"? I vårt fall behövde vi göra något positivt baserat på en frustration. Arduino krävdes för detta projekt. "Happy hack" vi bestämde oss för att göra var en installation för att fjärransluta ljusströmbrytaren.
Steg 1: Material:
1x Arduino Uno
1x brödbräda
2x servo
1x infraröd sensor
11x tråd
1x infraröd avsändare (tv bort)
tejp
Steg 2: Så här ansluter du:
Sätt en Arduino infraröd mottagare i brödbrädan; förutsatt att mottagarens framsida är sidan med sfären på den:
- Anslut en ledning från det mest vänstra”benet” till Arduino uno -porten”6”.
- Anslut en ledning från det mellersta”benet” till raden “-” i brödbrädan.
- Anslut en tråd från det högra”benet” till raden “+” i brödbrädan.
Se till att en tråd är mellan "-" raden i brödbrädet och en "mark" -port på Arduino uno och se till att en tråd är mellan "+" raden i brödbrädet och "5V" -porten på Arduino uno.
Anslut nu de två servon,
- Båda med en tråd från den mörkaste tråden på servon till raden ‘-’ på brödbrädan.
- Båda med en tråd från mitttråden på servon till raden ‘+’ på brödbrädan.
För en av servona ansluter du den återstående servotråden till Arduino uno -porten '9' och ansluter den andra servon till Arduino uno -porten '10'.
Steg 3: Kod:
#inkludera //
#inkludera //
#inkludera //
IRrecv irrecv (6);
resultat avkodningsresultat;
Servo theServo1;
Servo theServo2;
bool lightOn = false;
bool disco = false;
void setup () {
theServo1.attach (10);
theServo2.attach (9);
pinMode (6, INPUT);
Serial.begin (9600);
irrecv.enableIRIn (); // Starta mottagaren
irrecv.blink13 (true);
}
void loop () {
if (irrecv.decode (& resultat)) {
Serial.println (resultat.värde); // Du får ett annat resultat för varje knapp. Så kolla i den seriella bildskärmen vad dina knappars värde är.
if (results.value == 3772793023) {// Detta är vårt strömknappsresultat (3772793023). Detta är förmodligen annorlunda med din fjärrkontroll.
lightOn =! lightOn;
if (lightOn) {
theServo1.write (65);
theServo2.write (15);
}
om (! lightOn) {
theServo1.write (95);
theServo2.write (95);
}
fördröjning (1000);
}
if (results.value == 3772839943) {// Detta är vårt info -knappresultat (37728).
disco =! disco;
fördröjning (1000);
}
Serial.println (resultat.värde);
irrecv.resume (); // Få nästa värde
}
om (disco) {
lightOn =! lightOn;
if (lightOn) {
theServo1.write (65);
theServo2.write (15);
}
om (! lightOn) {
theServo1.write (95);
theServo2.write (90);
}
fördröjning (2000);
}
}