Spisu treści:

TTGO T-Watch: 9 kroków (ze zdjęciami)
TTGO T-Watch: 9 kroków (ze zdjęciami)

Wideo: TTGO T-Watch: 9 kroków (ze zdjęciami)

Wideo: TTGO T-Watch: 9 kroków (ze zdjęciami)
Wideo: Zasilanie urządzeń IoT pracujących w technologii LoRaWAN, WLAN oraz GSM - Evertiq Expo 2019 2024, Lipiec
Anonim
Image
Image
Zegarek TTGO
Zegarek TTGO

Ta instrukcja pokazuje, jak zacząć grać z TTGO T-Watch.

Krok 1: Co to jest zegarek TTGO T?

Co to jest zegarek TTGO T?
Co to jest zegarek TTGO T?
Co to jest zegarek TTGO T?
Co to jest zegarek TTGO T?
Co to jest zegarek TTGO T?
Co to jest zegarek TTGO T?
Co to jest zegarek TTGO T?
Co to jest zegarek TTGO T?

TTGO T-Watch to zestaw rozwojowy oparty na ESP32 w kształcie zegarka. 16 MB pamięci flash i 8 MB PSRAM to najlepsza specyfikacja. Posiada również wbudowany wyświetlacz LCD 240x240 IPS, ekran dotykowy, port karty micro-SD, port I2C, RTC, 3-osiowy akcelerometr i niestandardowy przycisk. Backplane można również przełączyć na inne moduły, takie jak LORA, GPS i SIM.

Ale najważniejszą rzeczą, jaką może stać się użytecznym zegarkiem, jest system zasilania. Zintegrowany wielokanałowy programowalny układ zarządzania energią AXP202. Po raz pierwszy widzę zestaw rozwojowy z układem zasilania sterowanym przez I2C!

Zgodnie z interfejsem AXP202X_Library, możesz sterować włączaniem i wyłączaniem każdego kanału zasilania, odczytywać poziom naładowania baterii, stan ładowania, a nawet bezpośrednio wyłączać zasilanie, tak jak nacisnął przycisk zasilania.

Nr ref.:

github.com/Xinyuan-LilyGO/TTGO-T-Watch

Krok 2: Prosty zegarek PoC

Prosty zegarek PoC
Prosty zegarek PoC

Układ zasilania wydaje się dobry, ale jak długo wystarcza na wbudowaną baterię 180 mAh?

Ponieważ został zaprojektowany jako perspektywa zegarka, zacznijmy od prostego przykładu zegarka jako PoC, aby sprawdzić, jak działa układ zasilania.

Krok 3: Zaprojektuj tarczę zegarka

Zaprojektuj tarczę zegarka
Zaprojektuj tarczę zegarka

ESP32 to bardzo wydajny układ, dwurdzeniowy procesor 240 Mhz i prędkość 80 Mhz SPI mogą zaprojektować bardzo płynny układ wyświetlacza. Zaprojektowałem więc przyzwoitą tarczę zegarka z ciągłym przemiataniem drugiej ręki.

Jednak trudności projektowe są nieoczekiwanie wysokie, nie jest łatwo usunąć ostatnią wskazówkę bez mrugnięcia okiem. Wypróbowałem 4 dodatkowe metody, aby to zrobić. Powyższe zdjęcia pokazują nieudane przerysowanie, które pozostały ostatnie piksele nie usunięte z ekranu. Projekt tarczy zegarka ma wiele słów, które można powiedzieć, ale trochę poza tym projektem. Być może mogę powiedzieć więcej o podróży projektowej w moich następnych instrukcjach, powinna ona nazywać się „Arduino Watch Core”.

Krok 4: Ustaw czas

T-Watch ma wbudowany układ RTC, co oznacza, że może zachować czas między resetowaniem podczas opracowywania. Zanim będzie mógł dotrzymać czasu, powinniśmy najpierw ustawić czas.

Czas można ustawić na różne sposoby:

  • ESP32 ma funkcję Wi-Fi, dzięki czemu możesz zsynchronizować czas z NTP
  • podobnie jak w przypadku innych urządzeń elektronicznych, takich jak aparat cyfrowy, możesz napisać interfejs użytkownika, aby ustawić czas
  • możesz użyć płyty montażowej GPS, a następnie możesz uzyskać czas z satelity

Aby to uprościć, wciąż jest to dość leniwy sposób ustawiania czasu, można go znaleźć na pewnym przykładzie zegara TFT. Podczas kompilacji programu w Arduino preprocesor zdefiniował 2 zmienne „_DATE_” i „_TIME_”, aby zarejestrować czas kompilacji. Możemy wykorzystać te informacje do stworzenia bardzo prostego programu do ustawiania czasu RTC.

Notatka:

Ten prosty program zawsze ustawia czas przy starcie. Ale czas kompilacji jest ważny tylko przy pierwszym uruchomieniu, więc powinieneś nadpisać innym programem, gdy ustawi on czas powodzenia.

Nr ref.:

gcc.gnu.org/onlinedocs/cpp/Standard-Predef…

Krok 5: Zużycie energii

Pobór energii
Pobór energii
Pobór energii
Pobór energii

Gdy zegarek działa, pokazując ciągłą wskazówkę sekundową, zużywa nieco ponad 60 mA. Ze względu na oszczędność energii powinien przejść w tryb uśpienia po pewnym czasie.

Jeśli wyłączę podświetlenie LCD i wywołam ESP32 głęboki sen, to spada do około 7,1 mA. Może wytrzymać tylko około 1 dnia dla baterii 180 mAh.

Wiem, że chip LCD pobiera około 6 mA. Zgodnie z arkuszem danych ST7789 istnieje polecenie przejścia w tryb uśpienia. Ale obecna biblioteka TFT_eSPI nie ma jeszcze interfejsu API trybu uśpienia.

A poza tym wciąż gdzieś pobiera około 1 mA.

Krok 6: Programowalny układ zarządzania energią

Image
Image
Program
Program

W zestawie rozwojowym znajduje się wiele chipów, zgodnie z ich arkuszem danych, większość z nich obsługuje tryb oszczędzania energii. Jednak nie wszystkie biblioteki udostępniały interfejs API trybu oszczędzania energii. I jest to długie kodowanie dla oszczędzania energii poprzez sprawdzanie i wywoływanie każdego modułu w tryb uśpienia.

Co powiesz na bezpośrednie wyłączenie zasilania, tak jak bezpośrednie naciśnięcie przycisku zasilania? AXP202X_Library może to zrobić, po prostu wywołując funkcję shutdown(). W trybie wyłączenia pobiera tylko nieco poniżej 0,3 mA. Może wytrzymać 25 dni na akumulator 180 mAh!

Notatka:

Właśnie naładowałem baterię 28 czerwca, możesz śledzić mój twitter, aby poznać najnowszy stan baterii.

Aktualizacja:

Bateria wyczerpała się 18 lipca, bateria może wytrzymać 20 dni. W okresie sprawdzam godzinę kilka razy dziennie, zakładam, że zegarek może wytrzymać 1-2 tygodnie w normalnym użytkowaniu.

Nr ref.:

github.com/lewisxhe/AXP202X_Library/pull/2

Krok 7: Program

  1. Postępuj zgodnie z instrukcjami na stronie https://github.com/Xinyuan-LilyGO/TTGO-T-Watch, aby zainstalować oprogramowanie i bibliotekę.
  2. Pobierz kod źródłowy na GitHub:
  3. Otwórz, skompiluj i prześlij Set_RTC.ino, aby zaktualizować datę i godzinę RTC
  4. Otwórz, skompiluj i prześlij Arduino-T-Watch-simple.ino
  5. Gotowe!

Prosty program zegarka wykona:

  • odczytaj datę i godzinę RTC
  • narysuj znak zegara (możesz wybrać okrągły lub kwadratowy znak zegara)
  • pokaż drugą rękę z ciągłym przemiataniem
  • wyłączanie zasilania po 60 sekundach (możesz też przytrzymać przycisk zasilania w celu natychmiastowego wyłączenia)
  • naciśnij przycisk zasilania, aby włączyć go ponownie

Krok 8: Szczęśliwego programowania

Udanego programowania!
Udanego programowania!

TTGO T-watch potrafi znacznie więcej niż zwykły zegarek, m.in.

  • ESP32 może nawiązać komunikację bezprzewodową WiFi i BT
  • użyj panelu z ekranem dotykowym, aby stworzyć bardziej fantazyjny interfejs użytkownika
  • pokładowy trójosiowy akcelerometr (BMA423), wbudowany algorytm licznika kroków i inny wielofunkcyjny czujnik GS
  • wymienna płyta montażowa może dodać funkcję LORA, GPS, SIM;
  • Port I2C może rozszerzyć o wiele więcej funkcji

Krok 9: Arduino-T-Watch-GFX

Image
Image

Arduino-T-Watch-simple wymaga naciśnięcia i przytrzymania małego przycisku zasilania, aby się obudzić, a początkowe wprowadzenie wyświetlacza LCD opóźnia się o kilka sekund. Więc wrażenia użytkownika nie są tak dobre.

Dodałem inny program o nazwie Arduino-T-Watch-GFX, aby to poprawić. Ten program zmienia się, aby korzystać z biblioteki wyświetlania Arduino_GFX, może następnie powiedzieć wyświetlaczowi, aby przeszedł w tryb uśpienia, aby oszczędzać energię. Więc kiedy ESP32 wchodzi w lekki stan uśpienia, zużywa teraz tylko poniżej 3 mA. A także może teraz wyzwalać budzenie przez dotknięcie ekranu. ESP32 wybudzanie i usypianie wyświetlacza jest znacznie szybsze niż cały proces ponownego uruchamiania, możesz zobaczyć powyższy film, jest to prawie natychmiastowa reakcja. Teoretycznie bateria powinna wytrzymać ponad 2 dni:P

Zalecana: