Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Podłączanie HC-SR04
- Krok 2: Mosquitto i Paho MQTT
- Krok 3: Program Pythona dla czujnika ultradźwiękowego
- Krok 4: Węzeł-CZERWONY
- Krok 5: Rejestrowanie danych
- Krok 6: Układ
- Krok 7: Wniosek
Wideo: System śmieci: 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
Postanowiliśmy spróbować znaleźć sposób na śledzenie zapełniania śmieci przez społeczność lub czujnik w każdym śmieci w okolicy, aby spróbować usprawnić usuwanie śmieci. Pomyśleliśmy, że jeśli ciężarówka przyjeżdża co dwa tygodnie na zbiórkę, co jeśli ja lub mój sąsiad tylko trochę wyrzucimy. Czy nie byłoby nieefektywne wysyłanie ciężarówki tam, gdzie połowa dzielnicy nie wysłała pełnych pojemników na śmieci? Byłoby super, gdyby można było zobaczyć, jak śmietnik sąsiada zapełnia się, a potem korzysta z jego śmieci, jeśli moje były pełne, a ich puste i odwrotnie. Zdecydowaliśmy się użyć czujnika ultradźwiękowego HC-SR04 wraz z raspberry pi, aby spróbować rozwiązać ten projekt.
Kieszonkowe dzieci
Czujnik ultradźwiękowy (HC-SR04)
Raspberry Pi (użyliśmy Pi 4 Model B)
Deska do krojenia chleba
Kable rozruchowe
Para rezystorów (3 x 1 kΩ)
Krok 1: Podłączanie HC-SR04
Ponieważ używamy Raspberry Pi, musimy użyć dzielnika napięcia do regulacji napięcia wchodzącego do pinów GPIO Pi, ponieważ pozwalają one tylko na 3,3 V. HC-SR04 używa 5 V, ale musi zostać obniżony do 3,3 V podczas podłączania go do Pi. Podłącz odpowiednio piny 5 V i uziemienia i zgodnie z programem podłącz piny echa i wyzwalacza do odpowiednich pinów. W naszym programie użyliśmy pinów 23 i 24 odpowiednio dla echa i wyzwalacza.
Krok 2: Mosquitto i Paho MQTT
Zanim zaczniemy programować w Pythonie, aby czujnik ultradźwiękowy działał z Pi, powinniśmy zainstalować te aplikacje, aby czujnik ultradźwiękowy komunikował się z naszym oprogramowaniem do programowania Node-RED. Mosquitto to broker MQTT, którego można używać na Pi, podczas gdy Paho MQTT to biblioteka, która umożliwia kodowanie w Pythonie, aby czujnik komunikował się z brokerem MQTT. Aby zainstalować oba z nich, wpisz te polecenia na swoim terminalu Pi
aktualizacja sudo apt
sudo apt install -y mosquitto mosquitto-klienci
sudo apt-get zainstaluj python3-pip
sudo pip3 zainstaluj paho-mqtt
Krok 3: Program Pythona dla czujnika ultradźwiękowego
Jest to program, którego użyłem do odczytywania danych przychodzących z czujnika, a także publikowania do brokera MQTT.
Krok 4: Węzeł-CZERWONY
Niektóre węzły nie są preinstalowane w programie, więc może być konieczne zainstalowanie ich z palet. Te, które musisz zainstalować, to node-red-dashboard i node-red-node-sqlite.
Tutaj zaczynamy korzystać z naszego oprogramowania do programowania i czujnika. Pierwszym węzłem, którego potrzebujesz, jest węzeł MQTT-in, który pozwala nam używać naszego czujnika uruchamiającego program z góry do wysyłania danych do tego oprogramowania. Węzeł zakresu, którego użyliśmy, odwraca wartości, które mamy (tj. 5 cm jest pełne z programu, więc odwracamy go do 100%). Po węźle zakresu mamy 2 węzły funkcyjne, jeden do wyświetlania wiadomości na naszym pulpicie nawigacyjnym, a drugi do wyświetlania obrazu, że śmieci są pełne. Program dla węzłów funkcyjnych jest załączony.
Jeśli to możliwe, przepływ ten można by wykorzystać do wielu czujników ultradźwiękowych. Jednak dla naszego projektu musieliśmy wykonać dane symulacyjne, ponieważ nie byliśmy w stanie zdobyć więcej czujników. Sposób, w jaki to zrobiliśmy, jest bardzo podobny, ale mamy przyciski, które użytkownik może kliknąć, aby losowo dodać 1-10 procent śmieci w każdym ze śmieci. Użyliśmy 2 przycisków, jednego do dodawania śmieci i jednego do czyszczenia. Miernik, komunikaty i wskaźnik są nadal dokładnie takie same, kod do zliczania i liczenia śmieci jest jednak nieco inny.
Krok 5: Rejestrowanie danych
Uznaliśmy, że dobrym pomysłem będzie rejestrowanie, jak pełne są śmieci, gdy ciężarówka przyjeżdża je opróżniać. Za pomocą węzła sqlite jesteśmy w stanie odczytywać i zapisywać dane, co również zapisuje je w Pi. Będziesz musiał zainstalować ten węzeł, jak powiedziałem wcześniej.
Kroki do tworzenia i rejestrowania danych przebiegają następująco:
1. Utwórz bazę danych
2. Zaloguj dane
3. Wyciągnij dane, aby pokazać się na naszym desce rozdzielczej
4. Wyczyść i usuń dane
Sposób działania SQL polega na tym, że musisz utworzyć i wykonać temat, który to CREATE TABLE, INSERT INTO, SELECT FROM i DELETE FROM. Używając węzłów znaczników czasu, możemy uruchamiać tematy w węźle sqlite, który wykonuje każdą z tych funkcji (tworzenie, wstawianie, wybieranie i usuwanie). Wystarczy raz utworzyć bazę danych, a po jej zakończeniu możemy logować do niej dane. Po utworzeniu bazy danych możemy rejestrować dane i ponownie używaliśmy danych wprowadzonych przez użytkownika, aby zarejestrować przybycie ciężarówki. Zrobiliśmy to tak, abyś nie był w stanie rejestrować danych, dopóki ciężarówka nie będzie mogła przyjechać, która ma 5 śmieci przy 80% pojemności (uznawane za pełne). Ponownie użyliśmy węzła zakresu, aby przeskalować 500 z powrotem do 0-100%. Mamy wtedy możliwość usunięcia wszystkich danych z bazy, jeśli chcemy. Węzeł tabeli interfejsu użytkownika jest węzłem, który pozwala nam zobaczyć tabelę w ładnie sformatowanej formie na naszym pulpicie nawigacyjnym.
Krok 6: Układ
Po tym wszystkim możesz stworzyć układ, który chcesz za pomocą Node-RED. Na bocznej karcie będziesz mógł je rozmieścić tak, jak chcesz, a masz o wiele więcej opcji dostosowywania. Dołączony jest również mój przepływ dla całego mojego programu.
Krok 7: Wniosek
Po zakończeniu tego projektu są obszary, w których program może się dalej rozwijać. Nigdy nie znalazłem sposobu na automatyczne rejestrowanie, ponieważ jedynym sposobem, w jaki mogliśmy to zrobić, było rejestrowanie w odstępach i nie potrzebowalibyśmy żadnych powtarzających się numerów, gdyby śmieciarka raz przyjechała. Myślę, że jest to częściowo spowodowane tym, że zdecydowaliśmy się mocno uzależnić go od węzłów funkcji i programowania, ponieważ jesteśmy bardziej komfortowi z tym programowaniem. Po zbadaniu, gdy skończyliśmy, stało się jasne, że istnieją węzły stworzone do wszystkiego i mogłoby to znacznie ułatwić życie, gdybyśmy wcześniej znaleźli funkcję węzłów przełącznika i rbe. Był też węzeł wykonany dla czujników ultradźwiękowych, których nie udało nam się uruchomić. Ułatwiłoby to sprawę, ponieważ nie byłoby potrzeby używania MQTT ani programu Python, ponieważ jest to tylko węzeł z wyzwalaczem i pinami echa. Zdecydowaliśmy się obejść ten problem, tworząc program w Pythonie, jak widzieliście powyżej. Ogromną wskazówką dla każdego, kto chce zagłębić się w Node-RED, jest to, że powinieneś użyć wielu węzłów debugowania, aby dowiedzieć się, czy każdy przepływ działa i daje to, czego chcesz/potrzebujesz.
Zalecana:
AUTOMATYCZNY KOSZ LUB KOSZ NA ŚMIECI. ABY RATOWAĆ PLANETĘ.: 19 kroków (ze zdjęciami)
AUTOMATYCZNY KOSZ LUB KOSZ NA ŚMIECI. SAVE THE PLANE.: Zanim zaczniemy, polecam obejrzeć pierwszy film przed przeczytaniem tego, ponieważ jest bardzo przydatny. Cześć, nazywam się Jacob i mieszkam w Wielkiej Brytanii. Recykling jest dużym problemem tam, gdzie mieszkam, widzę dużo śmieci na polach i może to być szkodliwe. NS
Inteligentny kosz na śmieci: 6 kroków
Sprytny kosz na śmieci: Cześć chłopaki !!! Jestem Vedaansh Verdhan. A dzisiaj pokażę wam, jak zrobić swój własny inteligentny kosz na śmieci. Śledź mnie na Instagramie, aby uzyskać informacje o moim następnym projekcie. Zaczynajmy !!!!Konto na Instagramie:--- robotics_08
Inteligentny kosz na śmieci od Magicbit: 5 kroków
Smart Dustbin From Magicbit: W tym samouczku dowiemy się, jak zrobić Smart Dustbin za pomocą Magicbit dev. płytka z Arduino IDE. Zacznijmy
Inteligentny kosz na śmieci z samochodem: 5 kroków
Inteligentny kosz na śmieci z samochodem: Jest to inteligentny kosz na śmieci z czujnikiem ultradźwiękowym, samochodem i przyciskiem, który przesuwa się do przodu po naciśnięciu. Ten projekt jest inspirowany https://www.instructables.com/id/DIY-Smart-Dustbin-With-Arduino/ Oto kilka części, które wprowadziłem: 4 koła
KAMIENIE ŚMIECI - Wyeliminuj śmieci nienadające się do recyklingu: 8 kroków
KAMIENIE NA ŚMIECI - eliminuj śmieci nienadające się do recyklingu: aby stworzyć śmietnik, najpierw uszyje się worek z kabaretki. Jest wypełniony śmieciami i otynkowany cementem. Powstałe muszle mają niepowtarzalny kształt i wyglądają bardzo naturalnie. Skały śmieciowe są estetycznym i konstruktywnym