Spisu treści:

Automatyczne budzenie na śniegu: 6 kroków (ze zdjęciami)
Automatyczne budzenie na śniegu: 6 kroków (ze zdjęciami)

Wideo: Automatyczne budzenie na śniegu: 6 kroków (ze zdjęciami)

Wideo: Automatyczne budzenie na śniegu: 6 kroków (ze zdjęciami)
Wideo: Ludzie, którzy zamienili się w zwierzęta 😲🤔 2024, Lipiec
Anonim
Automatyczne budzenie w śniegu
Automatyczne budzenie w śniegu
Automatyczne budzenie w śniegu
Automatyczne budzenie w śniegu

Wychodzenie z domu rano może być przypływem aktywności po tym, jak kilka centymetrów białych rzeczy osiądzie przez noc. Czy nie byłoby miło, gdyby w te dni obudziłem się trochę wcześniej, aby pozbyć się stresu porannego? Ten projekt właśnie to robi!

Ten projekt wykorzystuje Arduino, czujnik odległości i IFTTT (łatwą w użyciu stronę internetową), aby zautomatyzować budzenie telefonu, jeśli w nocy pada śnieg. Gdy będziesz gotowy, umieść zbudowane urządzenie na wysokim punkcie (na przykład na statywie) i skieruj je na ziemię. Stamtąd będzie stale mierzył odległość między sobą a ziemią. Gdy pada śnieg, „ziemia” zbliża się do niego, więc odległość, jaką mierzy, maleje. Jeśli różnica między wieczorem a porankiem jest wystarczająco duża, urządzenie zaalarmuje Cię, że spadł śnieg!

Elektronika jest prosta do podłączenia i podam kod, więc wskoczmy od razu!

Kieszonkowe dzieci

  1. Mikrochip kompatybilny z Arduino z obsługą Wi-Fi. Zakładam, że do tego projektu użyjesz płytki rozwojowej ESP8266 NodeMCU, którą polecam z wielu powodów:

    • Ma wbudowane Wi-Fi.
    • Odsłania prawie wszystkie piny, których możesz chcieć.
    • Zapewnia łatwy interfejs USB do programowania.
    • Obsługuje reset płyty podczas przesyłania kodu i udostępnia przyciski resetowania do debugowania.
  2. Czujnik zasięgu TF Mini Lidar.

    Zauważ, że są tańsze czujniki ultradźwiękowe, takie jak HC-SR04, ale miękkie tłumiki śnieżne brzmią na tyle, że nie działają w tym przypadku

  3. Mini płytka do krojenia chleba.
  4. Statyw lub dowolne rozwiązanie do montażu czujnika kilka metrów nad śniegiem.
  5. Kabel microUSB.
  6. Przedłużacz.
  7. Ładowarka USB.
  8. Plastikowy pojemnik.

Uwaga, przedmioty 5 i wyższe można dość łatwo kupić w Dollar Tree.

Ceny są różne, ale udało mi się zrobić ten projekt za około 50 USD (nie licząc statywu), robiąc zakupy w Dollar Tree na proste części. Zdecydowanie najdroższą częścią jest czujnik Lidar, który z pewnością można wykorzystać ponownie w innych projektach.

Krok 1: Elektronika (sprzęt)

Elektronika (sprzęt)
Elektronika (sprzęt)
Elektronika (sprzęt)
Elektronika (sprzęt)
Elektronika (sprzęt)
Elektronika (sprzęt)

Elektronika do tego projektu powinna być dość szybka w montażu. Wystarczy podłączyć czujnik odległości TF Mini Lidar do chipa. Przewody powinny być połączone zgodnie z opisem w tym doskonałym przewodniku SparkFun.

Oto krótkie podsumowanie:

Czujnik -> ESP8266

Zielony -> D2 (aka GPIO 4, którego użyjemy jako naszego RX)

Biały -> D1 (aka GPIO 5, którego użyjemy jako naszego TX)

Czerwony -> Vin

Czarny -> Gnd

Krok 2: Elektronika (oprogramowanie)

Elektronika (oprogramowanie)
Elektronika (oprogramowanie)

Decyzję o wysłaniu sygnału pobudki podejmuje Twój mikroczip, więc musimy go odpowiednio zaprogramować! Aby zaprogramować twój układ, użyjemy języka o nazwie Arduino, który możesz wgrać do swojego układu za pomocą Arduino IDE (oprogramowania działającego na twoim komputerze).

1. Pobierz oprogramowanie Arduino tutaj. Ten przewodnik będzie odwoływał się do menu Arduino Desktop IDE, więc śmiało pobierz go, chyba że czujesz się bardzo komfortowo z Web IDE.

2. Skonfiguruj swoje Arduino Desktop IDE do pracy z mikrochipem ESP8266. Odpowiednie instrukcje można znaleźć tutaj. Idąc dalej, ten przewodnik zakłada, że dioda LED miga i wiesz, jak przesłać skrypt do ESP8266.

3. Pobierz skrypt do wgrania do mikroprocesora z https://github.com/robertclaus/snowalert. Nie trzeba edytować skryptu. Wszystko, co musisz skonfigurować, będzie można skonfigurować po przesłaniu kodu.

4. Otwórz skrypt w Arduino i zainstaluj biblioteki, od których on zależy w twoim systemie. U góry IDE kliknij: Szkic -> Dołącz biblioteki -> Zarządzaj bibliotekami

Następnie wyszukaj i zainstaluj te biblioteki:

  • WifiManager od tzapu (wersja 0.14.0)
  • ArduinoJson autorstwa Benoit Blanchon (wersja 6.14.1)
  • TFminiArduino autorstwa hideakitai (wersja 0.1.1)
  • Klient NTPC autorstwa Fabrice Weinberga (wersja 3.2.0)
  • ESP_DoubleResetDetector autorstwa Khoi Hoanga (wersja 1.0.1)

5. Skonfiguruj swoją tablicę do tego projektu. W górnej części IDE kliknij Narzędzia i dostosuj te ustawienia:

  • Rozmiar lampy błyskowej - 4M (1M SPIFFS) - To rezerwuje miejsce na zapisanie naszej konfiguracji.
  • Wymaż Flash - Cała zawartość - Dzięki temu na chipie nie ma wcześniejszych danych.

    Zwróć uwagę, że jeśli kiedykolwiek będziesz musiał zaktualizować kod, ustawienie tego na Tylko szkic zachowa twoją konfigurację

6. Upewnij się, że mikrochip ESP jest podłączony do komputera i ma przypisany port. Wybierz odpowiedni port w IDE i prześlij!

7. Otwórz Monitor szeregowy (Narzędzia -> Monitor szeregowy) w Arduino IDE. Następnie kliknij przycisk Reset na chipie. Potwierdź, że na monitorze szeregowym wyświetlany jest tekst

Krok 3: Konfiguracja IFTTT

Konfiguracja IFTTT
Konfiguracja IFTTT
Konfiguracja IFTTT
Konfiguracja IFTTT
Konfiguracja IFTTT
Konfiguracja IFTTT

Teraz, gdy Twoje Arduino działa, musimy go skonfigurować, aby robił to, co chcemy. W tym samouczku użyjemy usługi o nazwie IFTTT, która pozwala nam przetłumaczyć prostą wiadomość z naszego Arduino na bardziej skomplikowane działania.

Na przykład, jeśli nasze Arduino mówi "Śnieg!" wtedy IFTTT powinien zadzwonić na nasz telefon komórkowy z pobudką.

1. Potrzebujesz darmowego konta IFTTT, które możesz utworzyć na

2. Aby utworzyć nowy aplet, który używa tej logiki, przejdź do Create lub po prostu skorzystaj z tego łącza:

3. Kliknij To -> Wyszukaj i wybierz Webhooks -> Jeśli o to poprosi, kliknij Połącz -> Wpisz snow_alert w polu.

4. Kliknij To -> Wyszukaj i wybierz Połączenie telefoniczne (tylko USA) -> Jeśli pojawi się prośba, kliknij Połącz -> Jeśli pojawi się wyskakujące okienko, postępuj zgodnie z instrukcjami -> Wpisz wiadomość, jak ubiegłej nocy padał śnieg! że chcesz, aby telefon odczytał dla Ciebie.

5. Kliknij Zakończ, aby aktywować aplet.

6. Przetestuj swój Webhook, przechodząc do ustawień usługi Webhooks w IFTTT i odnajdując podany tam testowy adres URL. Przejdź do tego adresu URL i zamień {event} na snow_alert. Następnie kliknij Przetestuj. Jeśli wszystko działa, powinieneś otrzymać telefon!

7. Na stronie testowej zapisz adres URL w dolnej części strony. Będziesz go potrzebować na późniejszym etapie. Powinno to wyglądać mniej więcej tak:

maker.ifttt.com/trigger/snow_alert/with/key/d-Y8rXge5kibp0dkdrCgxu

W przypadku problemów z debugowaniem użytkownicy mogą również chcieć rejestrować wysokość śniegu w czasie. Mogą skonfigurować oddzielny aplet IFTTT, który akceptuje webhook snow_measurement i logi do Arkuszy Google. Aby to zrobić, po prostu powtórz powyższe kroki, ale zamień snow_alert na snow_measurement w powyższym kroku Webhooks i zastąp krok Phone Call usługą Arkusze Google -> Dodaj wiersz do arkusza kalkulacyjnego.

Krok 4: Konfiguracja SnowAlert

Konfiguracja alertów śniegowych
Konfiguracja alertów śniegowych

W tym momencie ostatnim krokiem oprogramowania jest skonfigurowanie kodu w ESP, aby wysyłać wiadomości do nowego apletu IFTTT.

W przypadku tej konfiguracji polecam postępować zgodnie z instrukcjami SnowAlert na Github, ponieważ instrukcje tutaj mogą być nieaktualne, jeśli SnowAlert otrzyma nowe funkcje.

W czasie pisania tych instrukcji wykonałbyś następujące czynności.

Co bardzo ważne, wszystkie konfigurowane godziny muszą być w strefie czasowej UTC i w formacie 24-godzinnym (nie AM/PM).

  1. Zdecyduj, o której godzinie chcesz odebrać połączenie rano. To jest twój Czas Końca.
  2. Zdecyduj, o której godzinie rozpocząć pomiar poprzedniego wieczoru. To jest Twój czas rozpoczęcia.
  3. Podłącz swój ESP i otwórz Serial Monitor w Arduino IDE, tak jak poprzednio.
  4. Połącz się z siecią Wi-Fi SnowMeasure na swoim komputerze. Powinieneś zobaczyć jakąś aktywność w monitorze szeregowym podczas łączenia.
  5. Po kilku sekundach powinieneś zostać automatycznie przekierowany do strony konfiguracji w przeglądarce.
  6. Kliknij Konfiguruj Wifi
  7. Wprowadź następujące wartości:

    1. SSID - sieć Wi-Fi, z którą ESP powinien łączyć się w celu uzyskania dostępu do Internetu.
    2. Hasło - hasło do połączenia z tą siecią Wi-Fi.
    3. Godzina rozpoczęcia - godzina, w której ma mierzyć wysokość śniegu wieczorem.
    4. Minuty rozpoczęcia - składowa minutowa do czasu, który chcesz zmierzyć wieczorem.
    5. Godzina zakończenia - godzina, o której chcesz zmierzyć wysokość śniegu rano (i potencjalnie zadzwonić do Ciebie)
    6. Minuty końcowe - składowa minutowa do czasu, który ma być mierzony rano.
    7. Adres URL alertu Webhook - powinien to być adres URL zapisany w poprzednim kroku, który wygląda mniej więcej tak:
    8. Adres URL webhooka pomiaru - powinien to być ten sam adres URL, co powyżej, ale zastąp snow_alert nazwą snow_measurement

Krok 5: Zamontuj czujnik

Zamontuj czujnik
Zamontuj czujnik
Zamontuj czujnik
Zamontuj czujnik
Zamontuj czujnik
Zamontuj czujnik

W tym momencie wszystko powinno być gotowe. Będziesz chciał wyciąć dziury w plastikowym pojemniku i zamontować go gdzieś kilka stóp nad ziemią. To, jak dokładnie go zamontujesz, będzie zależeć od twoich części i celu, ale oto kilka zaleceń, które pomogą ci to zrobić.

  • Upewnij się, że czujnik jest skierowany w dół pod niewielkim kątem. Nie chcesz, aby patrzyła prosto w dół, ponieważ twoje pudełko rzuca cień tam, gdzie śnieg nie uderza w ziemię.
  • Będziesz chciał, aby czujnik znajdował się nad śniegiem na około 2-3 stopy.
  • Śnieg topi się w wodzie, więc upewnij się, że Twój sprzęt jest wystarczająco wodoodporny.
  • Upewnij się, że masz moc! Długi kabel USB lub przedłużacz powinien oddalić Cię od dachu, aby dostać się do użytecznego miejsca. Tak czy inaczej, upewnij się, że na zewnątrz jest bezpiecznie.

Krok 6: Odbierz telefon

Zadzwoń!
Zadzwoń!

Jeśli wszystko pójdzie zgodnie z planem, powinieneś odebrać telefon rano, jeśli pada śnieg. Jeśli coś nie działa, sprawdź dzienniki odległości w Arkuszach Google, aby zobaczyć, co zostało zmierzone.

Śnieżne wyzwanie
Śnieżne wyzwanie
Śnieżne wyzwanie
Śnieżne wyzwanie

Drugie miejsce w śnieżnym wyzwaniu

Zalecana: