Spisu treści:
Wideo: Przełącznik światła Happy Hack: 3 kroki
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Przez ostatnie 2 tygodnie pracowaliśmy nad szkolnym projektem „Happy hacking”. W tym projekcie staraliśmy się zrobić „Happy hack” dla przestrzeni publicznej. Co to jest „Happy hack”? W naszym przypadku musieliśmy zrobić coś pozytywnego w oparciu o frustrację. Ten projekt wymagał użycia Arduino. „Happy hack”, który postanowiliśmy wykonać, to instalacja do zdalnego przełączania włącznika światła.
Krok 1: Materiały:
1x Arduino Uno
1x deska do krojenia chleba
2x serwo
1x czujnik podczerwieni
11x drut
1x nadajnik podczerwieni (usuwanie telewizora)
taśma
Krok 2: Jak się połączyć:
Umieść odbiornik podczerwieni Arduino w płytce stykowej; zakładając, że przednia strona odbiornika jest tą, na której znajduje się kula:
- Podłącz jeden przewód od najbardziej lewej „nogi” do portu Arduino uno „6”.
- Podłącz jeden przewód od środkowej „nogi” do rzędu „-” na płytce stykowej.
- Podłącz jeden przewód od najbardziej prawej „nogi” do rzędu „+” na płytce stykowej.
Upewnij się, że przewód znajduje się między wierszem „-” w płytce prototypowej a portem „masy” w Arduino uno i upewnij się, że przewód znajduje się między wierszem „+” na płytce prototypowej a portem „5 V” w Arduino uno.
Teraz podłącz 2 serwa,
- Oba z drutem od najciemniejszego drutu na serwo do rzędu „-” na płytce stykowej.
- Oba z drutem od środkowego drutu na serwo do rzędu „+” na płytce stykowej.
Teraz, dla jednego z serw, podłącz pozostały przewód serwa do portu Arduino uno „9”, a drugi serwo do portu Arduino uno „10”.
Krok 3: Kod:
#włączać //
#włączać //
#włączać //
IRrecv recv(6);
decode_results wyniki;
SerwoServo1;
SerwoServo2;
bool lightOn = false;
bool disco = fałsz;
pusta konfiguracja (){
załącznikServo1(10);
theServo2.attach(9);
pinMode(6, WEJŚCIE);
Serial.początek(9600);
nieodwoł.enableIRIn(); // Uruchom odbiornik
nieodw.blink13(prawda);
}
pusta pętla () {
if (irrecv.decode(&wyniki)) {
Serial.println(wyniki.wartość); // Otrzymasz inny wynik dla każdego przycisku. Sprawdź więc w monitorze szeregowym, jaka jest wartość twoich przycisków.
if (results.value == 3772793023){ // To jest nasz wynik przycisku zasilania (3772793023). Prawdopodobnie jest inaczej z twoim pilotem.
światłoWłączone = !ŚwiatłoWłączone;
jeśli (światło włączone){
theServo1.write(65);
theServo2.write(15);
}
jeśli(!ŚwiatłoWłączone){
theServo1.write(95);
theServo2.write(95);
}
opóźnienie (1000);
}
if (results.value == 3772839943){ // To jest wynik naszego przycisku informacyjnego (37728).
dyskoteka = ! dyskoteka;
opóźnienie (1000);
}
Serial.println(wyniki.wartość);
nieodzysk.wznowienie(); // Odbierz następną wartość
}
jeśli (dyskoteka){
światłoWłączone = !ŚwiatłoWłączone;
jeśli (światło włączone){
theServo1.write(65);
theServo2.write(15);
}
jeśli(!ŚwiatłoWłączone){
theServo1.write(95);
theServo2.write(90);
}
opóźnienie (2000);
}
}