Spisu treści:

Automatyczny kosz na śmieci: 7 kroków
Automatyczny kosz na śmieci: 7 kroków

Wideo: Automatyczny kosz na śmieci: 7 kroków

Wideo: Automatyczny kosz na śmieci: 7 kroków
Wideo: Jaki kosz na śmieci kupić wybrać? Inteligetny od Xiaomi :) Gdzie? Worki wymienne www.zbita.shop 2024, Czerwiec
Anonim
Automatyczny kosz na śmieci
Automatyczny kosz na śmieci
Automatyczny kosz na śmieci
Automatyczny kosz na śmieci

Jest to wykrywający ruch automatyczny kosz na śmieci. Ma łączność Wi-Fi i wysyła wiadomość tekstową, gdy jest pełna. To jest wykonane dla ECE-297DP na Uniwersytecie Massachusetts - Amherst. Głównym celem tego kursu było zdobycie doświadczenia z praktyczną elektroniką, ponieważ czułem, że jestem w tyle za swoimi rówieśnikami i przyniosłoby mi korzyści, aby połączyć rzeczy, których nauczyłem się z moich wykładów, z pracą doświadczalną.

Potrzebne materiały:

- 1x Arduino Uno

- 1x ESP-8266

- 2x Mikroserwa

- 2x ultradźwiękowe detektory ruchu HC-SR04

- 1x dioda LED RGB

- rezystory 3x 330 Ω

-1x 3.3 Regulator Napięcia;

-2x100 uF kondensator elektrolityczny

-1x 0.1 uF kondensator ceramiczny

- 1x Corona Extra 12-pakowy pojemnik na piwo z długą szyjką

Krok 1: Oryginalne plany i progresja

Oryginalne plany i postępy
Oryginalne plany i postępy
Oryginalne plany i postępy
Oryginalne plany i postępy
Oryginalne plany i postępy
Oryginalne plany i postępy
Oryginalne plany i postępy
Oryginalne plany i postępy

Na początku semestru nie miałem planów na to, co chciałem robić. Wskoczyłem do tej klasy bez pomysłu. Tak więc na początek opracowałem łatwy sposób na powolne poruszanie się w świecie elektroniki hobby.

Kroki:

1. Poznaj podstawy Arduino

- Dokonano tego, postępując zgodnie z przewodnikiem wynalazcy SparkFun, który jest dostarczany z zestawem startowym. Pozwoliło mi to nauczyć się podstaw rezystorów, diod LED, elementów piezo (dźwięk), wykrywania i ogólnego kodowania z Arduino.

2. Spójrz na projekty DIY Arduino online

- Chodziło o znalezienie inspiracji do tworzenia kreatywnej i użytecznej elektroniki

3. Skorzystaj z inspiracji, aby znaleźć to, co chciałem zrobić

- Ponieważ jestem leniwą osobą i ponieważ moi znajomi, z którymi mieszkam w następnym semestrze, nie sprzątają zbyt dobrze, postanowiłem zrobić automatyczny kosz na śmieci.

Pierwotny plan to rozmowa z jednym z moich mentorów rówieśniczych, Bryanem Tamem, innym studentem inżynierii komputerowej. Głośna dyskusja z nim, krytyka moich projektów, pomogła mi zrozumieć proces projektowania. Proces podejmowania problemu i myślenia o rozwiązaniu, bez względu na to, jak niewykonalne, a następnie debata nad tym, jak zrobić ten projekt. Nauczyło mnie, że ambicja i kreatywność są najważniejsze w projektowaniu w inżynierii.

Początkowo chciałem zrobić kosz na śmieci, który automatycznie wykrywałby, kiedy kosz jest pełny, a następnie zamykał lub owijał worek. Po zbadaniu możliwych sposobów zaprojektowania tego, zdałem sobie sprawę, że było to daleko poza moimi rękami. Tym samym nieco zmieniłem cel - zrobić kosz na śmieci, który mógłby wysyłać SMS-a, gdy jest pełny.

Zbliżając się do końca semestru, miałem problemy z integracją komponentu Wi-Fi w celu wysłania tekstu i martwiłem się, więc pomyślałem o innych alternatywach jako systemie alarmowym. Spojrzałem w stronę elementów piezo, aby być może wydać irytujący dźwięk, który nie ustanie, dopóki śmieci nie zostaną wyrzucone. Przyjrzałem się również użyciu diod LED do tworzenia różnych kolorów, aby wskazać poziom śmieci.

Aby to stworzyć, potrzebne byłyby dwa czujniki: jeden zewnętrzny, aby wyczuć, kiedy ręka znajduje się nad nim, aby się otworzyć, a drugi wewnętrzny, aby wykryć poziom śmieci. Pierwotnie tylko moduł WiFi wysyłał tekst jako alarm, ale pod koniec semestru postanowiłem dodać lampkę na górze kosza, aby to wesprzeć.

To jest projekt, z którym się utknąłem i przeszedłem do końca.

Krok 2: Badania

Aby przygotować się na tę próbę, zbadałem wiele rzeczy.

Najpierw badam ogólny sposób kodowania Arduino. Ćwiczenie z zestawem wynalazcy SparkFun ogromnie pomogło; przyzwyczajenie mnie do konieczności podłączania pinów do Arduino i używania płytki stykowej.

Wtedy szczególnie ćwiczyłem użycie serw, ponieważ wiedziałem, że w ten sposób będę musiał kontrolować pokrywę, aby się obracać. Najpierw ćwiczę kontrolowanie ich czasów, a następnie łączenie użycia z warunkami warunkowymi, abym mógł kontrolować, kiedy są aktywowane.

Następnie sprawdziłem, jakich czujników użyć. Były dwa typy: czujnik ultradźwiękowy (HC-SR04) i czujnik podczerwieni (czujnik ruchu PIR). Czujnik ultradźwiękowy wysyła impuls, który jest następnie odbijany i odczytywany przez HC-SR04, obliczając czas w tym przedziale, aby określić odległość między nim a miejscem odbicia. Zdecydowałem się użyć czujnika ultradźwiękowego do czujnika wewnętrznego, ponieważ wykrywanie odległości byłoby bardziej pomocne, zwłaszcza że śmieci nie emitują dużo promieniowania. Potem zdecydowałem, że łatwiej będzie po prostu użyć HC-SR04 zarówno do czujnika wewnętrznego, jak i zewnętrznego.

Badając ESP-8266, dowiedziałem się wiele o działaniu Wi-Fi. Dowiedziałem się o punktach dostępu i punktach stacji. Dowiedziałem się również o serwerach internetowych jako możliwej opcji. Na końcu. ESP to własna płytka, którą można programować całkowicie niezależnie od Arduino. W ten sposób można nawet zrobić cały ten projekt tylko za jego pomocą. Aby zaprogramować ESP, podłączyłem go do Arduino i podłączyłem GND w Arduino, aby zresetować, aby go wyłączyć i zmusić do działania jako komunikator między ESP a kablem USB.

Dowiedziałem się wtedy, że mogę sprawić, by ESP zachowywał się jak klient, który chce uzyskać dostęp lub zażądać danych ze strony internetowej. Wiedząc o tym, użyłem witryny IFTTT.com do stworzenia apletu do łączenia webhooków z SMS-ami w całym moim systemie, tak aby po wyzwoleniu zdarzenia (gdy klient zażądał danych z określonego adresu URL, wysłałby tekst).

Kolejną rzeczą, którą zbadałem, były regulatory napięcia, diody i rezystory. Rezystory były potrzebne, aby dioda LED mogła połączyć diodę LED z Arduino. Diody i regulatory napięcia były możliwymi rozwiązaniami do zasilania ESP-8266, ponieważ wymaga on ściśle 3,3 V dla Vcc. Najprostszym rozwiązaniem był regulator napięcia. Chociaż w Arduino jest opcja 3,3 V, potraktowałem to jako okazję, aby dowiedzieć się więcej.

Następnie dowiedziałem się o kondensatorach, ponieważ są one niezbędne do funkcjonowania regulatora napięcia. Kondensatory pomagają wyrównać napięcie w przypadku, gdy zbyt mocno „odbije się” lub „czknie”. 2 kondensatory elektrolityczne i 1 kondensator ceramiczny są zwykle konfigurowane dla regulatorów napięcia.

Większość badań miała na celu debugowanie mojego kodu, ponieważ podczas jego tworzenia było wiele błędów.

Krok 3: Napotkane trudności i jak je przezwyciężyć

Dużą trudność na początku semestru stanowił po prostu brak doświadczenia. Nigdy wcześniej nie zastanawiałem się nad zbudowaniem czegoś, więc bałem się, że będę albo zbyt ambitny, albo zbyt prosty. Dlatego tak długo odkładałem wybór pomysłu.

Aby to przezwyciężyć, zdecydowanie pomogła rozmowa z seniorem, który miał doświadczenie. Bryan był w stanie skrytykować moje pomysły i powiedzieć mi, które z nich zmierzają w dobrym kierunku, a które w złym kierunku. Pomógł mi uświadomić sobie, że muszę wziąć pod uwagę mój poziom umiejętności, zasoby, do których mam dostęp, oraz zarządzanie czasem.

Zarządzanie czasem też było dla mnie bardzo trudne. Już wiem, że mam słabość, jeśli chodzi o zarządzanie czasem, zwłaszcza, że ten semestr był niesamowicie napięty, bo miałem przeładowany 21 punktami.

Były chwile, kiedy musiałem poświęcić pracę nad swoim projektem, ale aby to przezwyciężyć, poświęcałem co najmniej godzinę badań w weekendy na pracę nad projektem, a co drugi tydzień w weekendy, aby przejść do M5, aby nad nim pracować.

Kolejną trudnością, jaką miałem, był brak wiedzy na temat wielu części. Nie wiedziałem jak działały ani jakie przewody gdzie się podłączyły. Aby rozwiązać ten problem, nauczyłem się cennego atutu przeglądania arkuszy danych online, które pomogły mi zrozumieć, jakie było niezbędne napięcie wejściowe i gdzie należy okablować VCC, GND i wejścia. Pamiętam, jak pracowałem nad połączeniem serw z czujnikami ruchu i byłem sfrustrowany, ponieważ serwa w ogóle nie działały.

To skłoniło mnie do wypróbowania różnych serw, mając nadzieję, że coś jest z nimi nie tak. Jednak nadal nie działały, co oznaczało, że musiało to być albo moje okablowanie, albo mój kod. Następnie spróbowałem użyć zewnętrznego źródła zasilania, podłączając serwomechanizmy do 4 baterii AA, ponieważ czasami czytałem, że USB w komputerze może nie dawać wystarczającego napięcia do ich zasilania. W końcu postanowiłem po prostu spojrzeć na arkusz danych i zdałem sobie sprawę, że to tylko dlatego, że moje okablowanie było przez cały czas nieprawidłowe.

Moją najtrudniejszą przeszkodą była próba zintegrowania komponentu WiFi z Arduino. Szukałem wielu samouczków online i po prostu rozumiem programowanie, ponieważ było to dla mnie trudne do zrozumienia. Jednak jedna konkretna strona internetowa pomogła mi i wprowadziła mnie do IFTTT. Wierzyłem, że odniosłem zwycięstwo, jednak nie zdawałem sobie sprawy, że tablice są oddzielne i skończyło się na programowaniu tablic z innym kodem. Utknąłem na tydzień, próbując wymyślić, jak je podłączyć, ale internet nie pomógł. Aby pokonać tę przeszkodę, w końcu po prostu poprosiłem o pomoc dr Mallocha. Jestem bardzo dumną osobą i mam tendencję do robienia rzeczy sama. Pomógł mi wcześniej, jednak nie był to duży problem, ale raczej dyskusja na temat możliwych sposobów podejścia do mojego projektu. Po prostu poproszenie doktora Mallocha natychmiast rozwiązało problem integracji mojego ESP-8266.

Ten projekt pomógł mi postawić na swoim miejscu i uświadomić sobie, że powinienem pracować i prosić ludzi o więcej pomocy, ponieważ inżynieria nie jest projektem indywidualnym, ale dynamicznym zespołem.

Krok 4: Zmiany w M5, aby usprawnić proces uczenia się

Zmiany w M5 w celu usprawnienia procesu uczenia się
Zmiany w M5 w celu usprawnienia procesu uczenia się

M5 był dla mnie fantastycznym narzędziem w tym semestrze. Już teraz zawiera wiele zasobów dla nowych odkrywców i doświadczonych weteranów.

Myślę, że M5 może pomóc usprawnić proces uczenia się, organizując więcej warsztatów na temat szerszej gamy tematów i czyniąc je bardziej ogłaszanymi. Ledwie słyszałem o warsztatach, które odbywały się w M5, a jedyne, o których wiedziałem, to warsztaty lutownicze.

Pomocne byłyby również inne warsztaty, takie jak „Jak projektować” czy „Jak korzystać z drukarki 3D”. Być może mają te warsztaty, ale nigdy nie mogłem o nich usłyszeć.

Krok 5: Co osiągnąłem w końcu?

Udało mi się zrobić automatyczny kosz na śmieci

Co jednak ważniejsze, nauczyłem się, jak ważne jest zarządzanie czasem, jak budować obwody i korzystać z części elektronicznych. Dowiedziałem się o Arduino, falach i czujnikach, rezystorach, płytkach stykowych, WiFi, ESP-8266, serwerach WWW, regulatorach napięcia, diodach itp. Udało mi się osiągnąć dokładnie to, co miałem na myśli. Aby uzyskać praktyczne zrozumienie elektroniki i obwodów.

To również rozpaliło we mnie kreatywny ogień, ponieważ tworzenie tego projektu, choć czasami niezwykle frustrujące, było bardzo zabawne i satysfakcjonujące. W końcu zrozumienie, jak działa część lub sprawienie, aby kod działał tak, jak chciałem, było warte godzin poprawek i zmian, które musiałem wprowadzić. Pomogło mi to zrozumieć, że to właśnie chciałem zrobić. Na początku semestru wahałem się co do inżynierii elektrycznej i komputerowej, ponieważ nie miałem w tym doświadczenia, aby wiedzieć, czy mi się to podobało, czy nie. Na przykład, jak ktoś nie wie, czy lubi sport, grę wideo czy hobby, chyba że spróbuje.

Moim największym osiągnięciem w tym zakresie było to, że mogłem z przekonaniem powiedzieć, że chcę kontynuować inżynierię elektryczną i komputerową.

Krok 6: Jak ktoś inny mógłby podążać moimi śladami

Jeśli ktoś jest w takiej samej sytuacji, w jakiej byłem na początku semestru, poleciłbym wykonanie tych samych kroków, które przedstawiłem w „Pierwotnych planach i progresji”. To naprawdę pomogło mi powoli określić, czym jestem zainteresowany i co mogę zrobić.

W szczególności dla tego projektu poniżej opiszę, jak go wykonać.

Krok 1: Wejdź na IFTTT.com, zarejestruj swój numer telefonu, a następnie utwórz aplet. Wybierz „if” jako webhook, a „that” jako SMS. Po utworzeniu wyszukaj Maker Webhooks w polu wyszukiwania i kliknij dokumentację. Uzupełnij informacje własną nazwą wydarzenia i skopiuj adres URL. To jest adres URL, którego użyjesz dla kodu ESP-8266 znajdującego się na dole.

Krok 1: Podłącz ESP-8266 jako taki:

RXD -> RX

TXD -> TX

VCC -> VCC

CH_PD VCC

GPIO0 -> GND

GND -> GND

Następnie podłącz GND na Arduino do Reset na nim, aby go wyłączyć.

Krok 2: Wpisz kod na dole i wgraj go do ESP-8266 (najpierw pobierz płytę esp-8266 na IDE). Następnie odłącz ESP-8266.

Krok 3: Podłącz serwa do pinu 8 i pinu 9 w Arduino

Krok 4: Podłącz pierwszy czujnik HC-SR04 do styków 10 i 13 (odpowiednio dla wyzwalania i echa). Następnie podłącz drugi do pinów 11 i 12 (ponownie odpowiednio dla wyzwalania i echa).

Krok 5: Podłącz diodę LED RGB do pinów 4 (czerwony), 5 (zielony) i 6 (niebieski).

Krok 6: Podłącz GPIO2 do pinu 2

Krok 7: Wprowadź kod na dole (ECE_297_DP) i prześlij go do Arduino.

Krok 8: Znajdź stare pudełko po piwie z recyklingu i kawałek tektury na pokrywkę. Przyklej na gorąco patyczki do serw do serwomechanizmów, a następnie przyklej serwa na gorąco do wnętrza bota z każdej strony. Przyklej pokrywkę do patyczków do lodów. Przyklej dwa czujniki do pokrywy (wewnątrz służy do wykrywania śmieci (piny 11 i 12), a zewnętrzny do wykrywania ruchu (piny 10 i 13). Następnie przyklej diodę LED do górnej części pokrywy. I przyklej okablowanie za pudełkiem, aby ukryć brzydkie okablowanie.

Krok 7: Co zrobię dalej

Idąc dalej w projekcie, miałem kilka pomysłów na wprowadzenie oprócz diody LED alarmu dźwiękowego. Ponieważ dostałem do pracy ESP-8266, postanowiłem tego nie robić. Gdybym jednak miał iść do przodu, byłoby interesujące dodać jeden i zdenerwować ludzi do wynoszenia śmieci.

Chciałbym też popracować nad bardziej ostatecznym projektem, ponieważ jest to w większości projekt typu proof of concept. Gdybym miał iść do przodu, użyłbym prawdziwego kosza na śmieci lub cięższego plastikowego pojemnika. Dodatkowo chciałbym być bardziej wydajny z okablowaniem, ponieważ jest bardzo niechlujny.

Jedną z alternatyw dla ESP-8266, nad którą się zastanawiałem, kiedy martwiłem się, że nie będę w stanie go zintegrować, było użycie modułu Bluetooth. Mój przyjaciel Sean wspomniał mi, że wcześniej wykonał projekt, w którym musiał przesyłać dane ze swojego projektu do swojego telefonu i używać modułu Bluetooth. Powiedział, że to stosunkowo łatwe. Jednak moduł WiFi zaczął działać, zanim wykonałem w nim jakąkolwiek poważną pracę detektywistyczną. Myślę, że byłoby ciekawie zobaczyć, dokąd zaprowadziłaby mnie ta ścieżka.

Poza tym chciałbym wdrożyć część „automatycznego owijania worków na śmieci”, ale na razie jest to poza moją ligą. Być może w przyszłości powrócę do tego projektu i postaram się uczynić go bardziej wydajnym.

Zalecana: