Daftar Isi:
- Langkah 1: Daftar Perangkat Keras
- Langkah 2: Alat
- Langkah 3: Merakit Perangkat Keras
- Langkah 4: Atur Waktunya
- Langkah 5: Perangkat Lunak
- Langkah 6: Konfigurasikan Perangkat Lunak
- Langkah 7: Bagaimana Perangkat Lunak Bekerja
- Langkah 8: Jalankan Ini
- Langkah 9: Arah Masa Depan
Video: Jam Pasang dan Cuaca: 9 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Meskipun Anda dapat membeli jam pasang analog yang memiliki satu tangan yang menunjukkan apakah air pasang tinggi atau rendah atau di suatu tempat di antaranya, yang saya inginkan adalah sesuatu yang akan memberi tahu saya jam berapa air surut. Saya menginginkan sesuatu yang dapat saya lihat dengan cepat tanpa harus menyalakannya, atau menekan tombol apa pun, atau menunggu. Dan saya menginginkan sesuatu dengan daya tahan baterai yang lama. Jadi saya menggunakan papan TTGO T5, yang merupakan papan berbasis ESP32 dengan layar e-paper 2,13 , terhubung ke chip TTL5110. TPL5110 menyalakan T5 setiap 2,5 jam, dan sekali sehari T5 mengunduh data pasang surut dari NOAA dan data cuaca dari OpenWeatherMap, menampilkan data pada e-paper, kemudian memberitahu TPL5110 untuk mematikan T5.
UPDATE (Feb 25, 2020) Jam Pasang telah berjalan selama satu tahun sekarang, dan baterai berada pada 4,00 volt, sehingga jam tersebut dapat berjalan selama bertahun-tahun.
Langkah 1: Daftar Perangkat Keras
Papan TTGO T5 $17
Papan Adafruit TPL5110 $5
Adafruit Perma-Proto Quarter-size board (opsional) $0.71 (minimum order $8.50)
Baterai Li-Poly 1200 mAh $10 (atau sumber daya lain yang sesuai)
Kabel 2-Pin JST PH – Header Pria $0,75
220 uF kapasitor
Langkah 2: Alat
Besi solder
penari telanjang kawat
Pengisi daya baterai Li-Po, seperti ini.
Langkah 3: Merakit Perangkat Keras
Merakit perangkat keras cukup sederhana seperti yang ditunjukkan skema. Saya menggunakan papan Adafruit Perma-proto yang seperti papan proto biasa kecuali ditata seperti papan tempat memotong roti, dengan sambungan listrik yang sama dengan papan tempat memotong roti, yang bagus. Karena saya hanya membutuhkan beberapa sambungan, dan ingin memasukkan seluruh rakitan ke dalam kotak kecil, saya memotong salah satu papan menjadi empat bagian dengan roda pemotong Dremel.
Kapasitor 220 uF sangat penting. Tanpa itu, TPL5110 tidak akan pernah menghidupkan T5. Sedikit tidak jelas mengapa, tetapi orang lain yang menggunakan TPL5110 memiliki masalah yang sama. Mungkin ESP32 menarik lebih banyak arus saat startup daripada yang dapat disediakan oleh TTL5110?
Jangan memasang kabel baterai. Gunakan kabel JST-PH sehingga Anda dapat melepas baterai untuk mengisinya. Mungkin ada cara untuk mengisi baterai dari T5 kembali melalui TPL5110 jika TPL5110 "aktif", tetapi saya tidak dapat menjamin teknik itu.
Saya membuat kotak kayu sebagai penutup, tetapi apa pun dengan dimensi interior minimum 1,5" x 2,75" x 1" akan berfungsi.
Langkah 4: Atur Waktunya
Papan TPL5110 memiliki potensiometer trim yang mengatur interval waktu di mana TPL5110 bangun. Gunakan obeng kecil untuk memutarnya berlawanan arah jarum jam. Di papan saya, ini mengatur interval ke 145 menit, yang sebenarnya lebih dari maksimum 120 menit yang ditentukan, tetapi bekerja dan konsisten dan akan menghemat lebih banyak daya daripada bangun setiap 120 menit, jadi saya menggunakannya. Anda tidak perlu mengetahui intervalnya dengan tepat, karena tujuannya hanya untuk mendownload data kira-kira sekali sehari kira-kira sekitar jam 4 pagi. Anda dapat menentukan interval (mis., 145 menit) dan waktu bangun (mis., 4am) di env_config.h.
(Jika Anda ingin kontrol waktu yang lebih baik untuk beberapa proyek lain, papan TPL5110 memiliki jejak di bagian belakang yang dapat Anda potong untuk menonaktifkan potensiometer. Kemudian Anda memasang resistor ke pin Penundaan, dan resistansi menentukan interval, menurut grafik ini.)
Langkah 5: Perangkat Lunak
Anda akan membutuhkan Arduino IDE dengan paket ESP32. Di IDE, atur papan Anda ke "ESP32 Dev Module".
Sketsa tersedia di https://github.com/jasonful/Tides dan membutuhkan 3 perpustakaan:
- "ESP8266 Weather Station", tersedia dari Arduino Library Manager (atau di sini). Anda hanya memerlukan 6 file ini: ESPHTTPClient.h, ESPWiFi.h, OpenWeatherMapCurrent.cpp, OpenWeatherMapCurrent.h, OpenWeatherMapForecast.cpp, OpenWeatherMapForecast.h dan dapat menghapus sisanya.
- "Json Streaming Parser" tersedia dari Arduino Library Manager (atau di sini)
- https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo Meskipun kode tersebut tidak dikemas sebagai perpustakaan yang sebenarnya, Anda dapat menyalinnya di bawah direktori perpustakaan Anda dan sertakan dia.
Langkah 6: Konfigurasikan Perangkat Lunak
Ada beberapa parameter yang harus Anda atur (dan beberapa yang mungkin ingin Anda atur) di file env_config.h, termasuk:
- SSID dan kata sandi WiFi
- ID stasiun NOAA (dengan kata lain, di mana Anda berada)
- OpenWeatherMap AppID, yang harus Anda daftarkan (mudah dan gratis)
- OpenWeatherMap LocationID (sekali lagi, di mana Anda)
- CONFIG_USE_TPL5110, yang memungkinkan Anda menggunakan T5 tanpa TPL5110. Sebagai gantinya, perangkat lunak akan memasuki mode tidur nyenyak. Papan T5 menarik sekitar 8 ma dalam tidur nyenyak, jadi saya hanya berharap baterai bertahan beberapa hari.
Langkah 7: Bagaimana Perangkat Lunak Bekerja
(Anda dapat melewati bagian ini jika Anda tidak peduli.)
Tujuannya adalah untuk bangun sekali sehari, tetapi karena interval maksimum TPL5110 hanya sekitar 2 jam, T5 harus bangun lebih sering. Jadi, setelah mengunduh data pasang surut dan cuaca, ia menghitung berapa banyak interval 2 jam ini antara sekarang dan 4:00 pagi besok pagi. Ini sedikit rumit oleh fakta bahwa TPL5110 benar-benar memotong daya ke T5, yang bagus untuk baterai, tetapi itu berarti kita kehilangan RAM dan jam waktu nyata. Ini seperti bangun setiap pagi dengan amnesia. Jadi untuk mengetahui jam berapa sekarang, ia mengekstraknya dari header HTTP NOAA. Dan untuk mengingat berapa banyak interval 2 jam yang tersisa, ia menulis bahwa counter untuk penyimpanan non-volatile (flash). Setiap kali bangun, ia memeriksa penghitung itu, menguranginya, menyimpannya, dan jika lebih besar dari nol, ia segera mengirimkan sinyal ke TPL51110 ("Selesai") menyuruhnya untuk tidur. Ketika penghitung mencapai nol, kode mengunduh data baru, dan menghitung ulang serta mengatur ulang penghitung.
Langkah 8: Jalankan Ini
Pastikan sakelar di sisi kiri T5 dalam posisi atas (on), unggah sketsa ke T5, dan dalam beberapa detik layar akan diperbarui dengan info pasang surut dan cuaca.
Jika Anda perlu men-debug perangkat lunak, ubah "#define DEBUG 0" di bagian atas Tides.ino menjadi "#define DEBUG 1". Ini akan mengaktifkan output debug serial, dan juga menampilkan di bagian bawah e-paper jumlah restart yang tersisa sebelum mengunduh data baru, dan waktu terakhir mengunduh data.
Langkah 9: Arah Masa Depan
- Penggunaan TPL5110 yang dikombinasikan dengan tampilan e-paper adalah cara yang bagus untuk menampilkan data apa pun yang tidak sering berubah, dengan daya tahan baterai yang sangat baik.
- Ketika saya mendesain ini, saya mempertimbangkan untuk menggunakan TrigBoard, yang merupakan papan ESP8266 dengan papan TPL5111. Itu akan membutuhkan tampilan e-paper terpisah dan papan driver e-paper seperti ini atau ini. Atau kombo driver+papan seperti ini atau ini. Untuk mem-port kode ke ESP8266, saya pikir kode SSL harus menggunakan sidik jari alih-alih sertifikat, dan kode penyimpanan non-volatil perlu menggunakan memori EEPROM atau RTC.
- Saya baru-baru ini mendengar bahwa papan Lolin32 cukup baik dalam mode tidur nyenyak: sekitar 100uA. Tidak sebagus papan TPL51110 (20uA menurut Adafruit) tapi cukup bagus.
- OpenWeatherMap mengembalikan lebih banyak data cuaca daripada yang saya tampilkan. Termasuk id ikon, yang memerlukan pencarian ikon monokrom di suatu tempat.
Direkomendasikan:
Stasiun Cuaca NaTaLia: Stasiun Cuaca Bertenaga Surya Arduino Dilakukan dengan Cara yang Benar: 8 Langkah (dengan Gambar)
Stasiun Cuaca NaTaLia: Stasiun Cuaca Bertenaga Surya Arduino Selesai dengan Cara yang Benar: Setelah 1 tahun beroperasi dengan sukses di 2 lokasi berbeda, saya membagikan rencana proyek stasiun cuaca bertenaga surya saya dan menjelaskan bagaimana hal itu berkembang menjadi sistem yang benar-benar dapat bertahan lama periode dari tenaga surya. Jika Anda mengikuti
Stasiun Cuaca RPi dan Jam Digital: 4 Langkah (dengan Gambar)
Stasiun Cuaca RPi dan Jam Digital: Ini adalah proyek yang cepat dan mudah dibuat, dan tampilan yang bagus untuk dipamerkan. Ini menampilkan waktu, kondisi cuaca dan suhu. Dan jika Anda menyukai apa yang Anda lihat, ikuti saya di Instagram dan Twitter (@Anders644PI) untuk mengikuti apa yang saya
Jam Prakiraan Cuaca Menggunakan Alarm Lama dan Arduino: 13 Langkah (dengan Gambar)
Jam Prakiraan Cuaca Menggunakan Alarm Lama dan Arduino: Saya memiliki jam alarm rusak yang tergeletak di sekitar dan muncul dengan ide untuk mengubahnya menjadi jam dan stasiun prakiraan cuaca. Untuk proyek ini Anda memerlukan: Jam alarm melingkar lama Modul sensor Arduino Nano BME280 ( suhu, kelembaban, tekanan) layar LCD
Galeri Jam Pasang Surut: 6 Langkah (dengan Gambar)
Galeri Jam Pasang Surut: Galeri kecil berisi foto-foto yang menggambarkan waktu pasang surut adalah proyek yang bagus untuk musim panas. Prinsip prakiraan pasang surut dengan mikrokontroler didasarkan pada karya Luke Miller yang mengatur struktur data dan kode yang mudah
Stasiun Cuaca 5 in 1 Acurite Menggunakan Raspberry Pi dan Weewx (Stasiun Cuaca lain Kompatibel): 5 Langkah (dengan Gambar)
Stasiun Cuaca Acurite 5 in 1 Menggunakan Raspberry Pi dan Weewx (Stasiun Cuaca Lainnya Kompatibel): Ketika saya membeli stasiun cuaca Acurite 5 in 1, saya ingin dapat memeriksa cuaca di rumah saya saat saya pergi. Ketika saya sampai di rumah dan memasangnya, saya menyadari bahwa saya harus menghubungkan layar ke komputer atau membeli hub pintar mereka