Isi kandungan:

Tweerstationneke A.k.a. Stesen Cuaca Belanda: 4 Langkah
Tweerstationneke A.k.a. Stesen Cuaca Belanda: 4 Langkah

Video: Tweerstationneke A.k.a. Stesen Cuaca Belanda: 4 Langkah

Video: Tweerstationneke A.k.a. Stesen Cuaca Belanda: 4 Langkah
Video: Голубая стрела (1958) фильм 2024, November
Anonim
Tweerstationneke A.k.a. Stesen Cuaca Belanda
Tweerstationneke A.k.a. Stesen Cuaca Belanda

Ayah saya selalu berminat dengan berita terkini dan maklumat cuaca terkini. Oleh itu, saya membawa hadiah ulang tahun yang sempurna ketika dia berusia 76 tahun: Stesen cuaca kecil yang berterusan tanpa omong kosong, ia hanya duduk dengan tenang di sudut sepanjang hari dan memberikan ringkasan ramalan terkini.

Ia direka di sekitar dua laman web Belanda. Mungkin anda dapat melihatnya pada tajuk tempatan yang lucu dari topik ini! Satu memberikan ramalan tempatan setiap bandar setiap 10 minit dalam format json. Yang lain memberikan ramalan hujan untuk dua jam berikutnya dalam format teks biasa yang selalu berguna untuk diketahui. Saya yakin jika anda tidak tinggal di Belanda, anda boleh menyesuaikan topik ini dengan mudah ke perkhidmatan lain.

Bekalan

  • Papan ESP8266; cadangkan untuk menggunakan Wemos D1 mini
  • Skrin TFT 1,8 inci dengan 128 * 160 titik; Warna 16 bit
  • Beberapa kabel
  • Program seperti sedia ada atau awal untuk membuat sendiri
  • Kotak yang bagus untuk digabungkan. Gunakan yang standard atau cetak sendiri dengan reka bentuk yang dilampirkan

Langkah 1: Buat Prototaip

Buat Prototaip
Buat Prototaip

Menyambungkan skrin dan pengawal

Gunakan kabel rata kecil dan pateri papan dan skrin TFT bersama-sama. Gunakan senarai untuk menyambungkan ion bahagian dengan cara yang betul

TFT SCREEN ------------------ WEMOS

LED ------------------------------- D8 SCK ---------------- --------------- D5SDA ------------------------------- D7A0 - -------------------------------- D3RESET ----------------- ----------- D2CS ---------------------------------- D4GND --- ---------------------------- GNDVCC --------------------- ---------- 3V3

Sebagai alternatif anda boleh meletakkan LED pada 3v3 dan bukannya pin D8. Saya telah menggunakan pin D8 agar alat tidur sekitar 23:00 pada waktu malam dan bangun sekitar jam 07:00 lagi. Berkuat kuasa ini akan menjadi saat pertama membaca buletin cuaca selepas waktu itu, kerana membaca tajuk untuk memeriksa waktu. Tidak ada jam masa nyata dalam peranti ini.

Sekiranya ini berfungsi, pasangkan kabel usb anda ke Wemos dan muatkan perisiannya. Sekiranya semuanya berfungsi, anda boleh mula membina kotak.

Langkah 2: Reka Bentuk Program

Reka Bentuk Program
Reka Bentuk Program

Idea saya mengenai alat cuaca ini di mana

  • Mudah disesuaikan dengan persekitaran wifi yang lain
  • Paparkan ramalan cuaca dan ramalan hujan
  • Tiada butang
  • Tidak ada suara, qui sederhana, tidak kabur

Oleh itu, saya membuat program yang bermula dengan kod WifiManager apabila tidak dapat menemui rangkaian Wifi yang dikenali. Ini membuat rangkaian sendiri dan menunjukkan nama di paparan. Ini memberi anda peluang untuk menetapkan parameter Wifi ke rangkaian rumah anda sendiri.

Selepas persediaan ini menunjukkan ramalan cuaca dan hujan turun secara bergantian, setiap 20 saat. Sekiranya atas sebab tertentu tidak mungkin membaca ramalan seterusnya, nombor kesalahan kecil akan dipaparkan di sebelah kanan paparan; dan gambar sebelumnya akan ditunjukkan. Pada jangka berikutnya percubaan baru dilakukan untuk mendapatkan maklumat.

Maklumat cuaca diterima dari laman web dalam mesej gaya json. Maklumat di dalamnya ditukar dan disimpan dalam pemboleh ubah global. Dengan cara ini kita dapat memutuskan pengambilan maklumat daripada memaparkannya. Tidak ada alasan untuk mendapatkan cuaca lebih cepat sekali dalam 10 minit.

Mendapatkan hujan lebat lebih mudah. Ia disajikan dalam format teks biasa, dengan jumlah hujan yang diharapkan sebagai nilai 0..255; bar menegak; satu masa pada setiap baris. Ini selama 5 minit untuk 2 jam berikutnya. Nilai hujan disampaikan dengan cara yang bijak di mana nilai-nilai kecil memberi lebih banyak ruang untuk menunjukkan perbezaan sebagai nilai yang lebih besar. Formula yang digunakan adalah seperti berikut:

mmjam = bulat (pow (10, (nilai hujan - 109) / 32) * 10) / 10;

Perhatikan bahawa "kali 10, bahagi dengan 10" adalah tipikal untuk memastikan kita mempunyai 1 perpuluhan di belakang titik. Bergantung pada jumlah maksimum hujan yang dijangkakan dalam 2 jam akan datang, terdapat 3 skala yang digunakan untuk grafik;

  1. Jangka masa maksimum 5 mm / jam
  2. Jangka masa maksimum 20 mm / jam
  3. Maksimum diambil dari nilai tertinggi dalam ramalan

Di Belanda, nilai tertinggi sepanjang masa adalah sekitar 80 mm / jam; jadi skala ini akan berjaya. Bagi negara-negara lain mungkin bijak untuk mengubahnya.

Langkah 3: Kod Program

Kod Program
Kod Program

Tetapan penyunting

Perisian untuk peranti cuaca ini dibuat di persekitaran pengaturcaraan Arduino. Anda akan melampirkannya di sini untuk kemudahan anda. Gunakannya sebagaimana adanya; atau ubah mengikut keperluan anda. Semua teks yang dapat dipaparkan di layar TFT DEFINEd di atas program; yang bermaksud anda boleh menukarnya dengan mudah ke bahasa anda sendiri jika anda mahu. Saya menggunakan Wemos D1 mini, tetapi papan serupa juga akan berfungsi.

Di persekitaran Arduino saya menggunakan tetapan berikut;

  • Papan: LOLIN (WEMOS) D1 RA & Mini
  • Kelajuan Muat Naik: 115200
  • Frekuensi CPU: 80 MHz
  • Saiz Kilat: Memori Bawah VM 4M (Tanpa SPIFFS) Dinyahaktifkan

Pemasa perisian digunakan untuk menjadikan gelung () lebih mudah dan lebih mudah dibaca. Paparan maklumat dipisahkan dari muat turun maklumat. Dengan cara ini kita dapat menggunakan ukuran skrin lain dan lain-lain tanpa perlu mengubah keseluruhan program.

Gunakan fail.ino dan muatkan di editor arduino. Sediakan papan anda dalam penyunting. Lampirkan fail header yang memastikan susunan PROGMEM gaya C yang diperlukan disertakan dalam program.

Kad SD

Perhatikan bahawa kebanyakan paparan 1.8 inci yang tersedia mempunyai slot kad SD di bahagian belakang skrin. Ini adalah ciri bagus yang membantu anda menyimpan gambar besar pada kad. Sebilangan besar pengawal mikro tidak mempunyai terlalu banyak memori di dalamnya sehingga dapat membantu.

Walaupun saya menghabiskan banyak masa untuk berusaha agar kad SD berfungsi dengan paparan, saya tidak dapat menghadapi situasi yang boleh dilaksanakan. Saya boleh menggunakan paparan; berjaya mengambil fail dari kad SD, tetapi selepas itu saya tidak lagi dapat mencapai skrin TFT. Mengubah perpustakaan, mengubah susunan perpustakaan, dan "menanggalkan pakaian" program ke badan terkecil untuk mengesampingkan kemungkinan lain tidak membantu saya.

Untuk menambah kekecewaan saya; terdapat banyak contoh di internet orang yang melakukan perkara serupa dengan hasil positif, hmmm. Mungkin ada masalah perkakasan pada skrin TFT saya? Atau sesuatu yang saya tidak fikirkan? Sebarang cadangan dipersilakan untuk percubaan seterusnya. Pada akhirnya setelah menghabiskan beberapa malam di atasnya; Saya memutuskan untuk meninggalkan jalan itu. Oleh kerana gambarnya hanya 50x50 piksel (yang masing-masing menghasilkan 5000 byte pada warna 16 bit), ESP mampu menyimpannya dalam PROGMEM dengan mudah. Jadi itulah muslihat yang saya gunakan.

Pilihan ini menghasilkan satu lagi cabaran. Bagaimana mendapatkan gambar BMP yang saya ada dalam format yang boleh dibaca. Setelah beberapa carian saya menemui laman web dari Henning Karlsen yang menyelesaikan teka-teki ini lebih awal. Dia membuat program yang menukar fail jenis-p.webp

Langkah 4: Buat Kotak

Buat Kotak
Buat Kotak
Buat Kotak
Buat Kotak
Buat Kotak
Buat Kotak

Ini bukan kotak pertama yang saya perlukan. Terdapat banyak kotak standard dari pembekal. Dengan menggunakan gergaji kecil, pisau, gerudi dll mudah membuat lubang untuk paparan di dalam kotak. Tetapi saya tidak pernah berjaya membuat segi empat tepat yang tepat. Mungkin tidak cukup kemahiran dan / atau kesabaran;-)

Penyelesaiannya: Saya bernasib baik. Saya mempunyai sebuah kolej yang seperti superman jika bermain-main dengan perkara teknikal. Itu termasuk reka bentuk dan percetakan 3D juga. Oleh itu, dia memutuskan untuk menawarkan banyak masa lapang untuk mengukur paparan TFT dan pengawal mikro dan membuat kotak di sekelilingnya. Ini semua sesuai, lihat gambarnya. Bahkan berisi snap untuk layar, lubang untuk penyambung USB, dan tempat untuk memperbaiki pengawal mikro.

Terima kasih Arjan atas kerja yang super ini dilakukan !!! Lebih baik lagi, dia begitu baik memberi semua orang akses kerjanya, jadi jika anda memuat turun failnya dari pautan dan menggunakannya untuk pencetak 3D anda sendiri, anda boleh membuat kotak yang sama dengan kandungan.

Disyorkan: