Spisu treści:
- Krok 1: Wymagane umiejętności
- Krok 2: Sprawdź, czy twoja dekoracja na Halloween jest „możliwa do zhakowania”
- Krok 3: Lista komponentów/sprzętu
- Krok 4: Przegląd projektu
- Krok 5: Połączenie przycisku cięcia
- Krok 6: Dodaj przekaźnik
- Krok 7: Zamontuj czujnik sonaru DST1200
- Krok 8: Zdecyduj, czy potrzebujesz obudowy
- Krok 9: Pisanie kodu
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Ten projekt pokaże Ci, jak możesz „zhakować” swoje dekoracje na Halloween i sprawić, by zachowywały się dokładnie tak, jak chcesz!
Halloweenowa dekoracja, z którą pracujemy, ma następującą domyślną funkcjonalność:
- Aktywowany przez rzucanie przełącznikiem (pokazany na filmie)
- Aktywowany przez głośny dźwięk
Naszym celem w tym projekcie jest aktywacja ruchu!
Krok 1: Wymagane umiejętności
Do tego projektu potrzebne będą następujące narzędzia:
- lutownica
- narzędzia do ściągania izolacji
Pomoże również, jeśli masz podstawową wiedzę programistyczną. Napisaliśmy program, który steruje dekoracją w C.
Krok 2: Sprawdź, czy twoja dekoracja na Halloween jest „możliwa do zhakowania”
Pierwszym krokiem jest ustalenie, czy możesz zmodyfikować swoją Halloweenową dekorację. Zazwyczaj dekoracje mają tryb demo, który aktywuje elektroniczny element dekoracji za pomocą prostego przycisku lub przełącznika. Jeśli tak jest, masz szczęście. Możesz po prostu zastąpić przycisk przekaźnikiem, aby sterować systemem.
Krok 3: Lista komponentów/sprzętu
Oto czego użyliśmy:
- Phidget SBC4
- DST1200 - sonar Phidget
- REL2002 - Przekaźnik sygnału Phidget
- Wodoodporna obudowa
- Kabel Phidget
Krok 4: Przegląd projektu
Ten projekt będzie miał następujący układ:
- PhidgetSBC4 uruchomi nasz kod programu (napisany w C). Będzie on podłączony do czujnika sonaru DST1200 i przekaźnika sygnału REL2002 poprzez wbudowany koncentrator VINT.
- Czujnik sonaru będzie służył do wykrywania obiektów.
- Przekaźnik zostanie podłączony do przewodu demonstracyjnego dekoracji i będzie używany do aktywacji dekoracji na podstawie odczytów z czujnika sonaru.
Krok 5: Połączenie przycisku cięcia
Aby dodać nasz przekaźnik, będziemy musieli usunąć przycisk. Wystarczy przeciąć przewody w pobliżu przycisku, a następnie zdjąć część izolacji.
Krok 6: Dodaj przekaźnik
Wyjmij przewody z przycisku i podłącz je do przekaźnika.
Podłącz jeden przewód do zacisku wspólnego, a drugi do zacisku normalnie otwartego.
Krok 7: Zamontuj czujnik sonaru DST1200
Miejsce umieszczenia czujnika sonaru będzie zależeć od zastosowania. Ten projekt zostanie zainstalowany w nawiedzonym domu na zewnątrz, gdzie widoczność będzie słaba, więc umieszczenie czujnika sonaru bezpośrednio na górze nie będzie problemem. Alternatywnie możesz zamontować sonar nad drzwiami lub skierować go w górę, jeśli chcesz go ukryć.
Do zamontowania czujnika sonaru użyliśmy kleju. Świetnie sprawdzi się też taśma dwustronna!
Krok 8: Zdecyduj, czy potrzebujesz obudowy
Ten projekt będzie na zewnątrz, więc ochrona elektroniki jest niezbędna.
SBC zostanie umieszczony w wodoodpornej obudowie z przekaźnikiem. Rozszerzyliśmy połączenie przekaźnika z dekoracją, lutując na jakimś przewodzie, a do połączenia SBC z czujnikiem sonaru użyliśmy kabla Phidget o długości 350 cm.
Krok 9: Pisanie kodu
Cały kod do tego projektu jest już napisany i znajduje się w pliku halloween.c, więc jeśli chcesz go zaimplementować, wystarczy zmodyfikować kilka rzeczy (numery seryjne, czasy itp.) i skompilować.
Aby uzyskać więcej informacji o tym, jak kompilować programy w C na SBC, sprawdź te linki:
- Instalowanie pakietów do rozwoju
- Kompilowanie programów w C na Linuksie
Oto krótki przegląd kodu:
- Utwórz obiekty DistanceSensor i DigitalOutput.
- Adres Phidgets. Zobacz ten film, aby uzyskać więcej informacji.
-
Subskrybuj, aby dołączać i odłączać zdarzenia dla sonaru i przekaźnika.
W przypadku dołączenia sonaru ustaw interwał danych na 100 ms (minimalny interwał danych)
-
Subskrybuj zdarzenia zmiany odległości dla sonaru.
W przypadku zdarzeń zmiany odległości sprawdź, czy obiekt jest bliżej niż 1 metr, jeśli tak, ustaw zmienną objectDetected na 1
- W pętli while sprawdź, czy obiekt został wykryty. Jeśli tak, włącz i wyłącz przekaźnik (to aktywuje dekorację). Odczekaj cztery sekundy, a następnie wyłącz dekorację.