Daftar Isi:

Postino: Apakah Tukang Pos Mengirimkan Sesuatu?: 6 Langkah (dengan Gambar)
Postino: Apakah Tukang Pos Mengirimkan Sesuatu?: 6 Langkah (dengan Gambar)

Video: Postino: Apakah Tukang Pos Mengirimkan Sesuatu?: 6 Langkah (dengan Gambar)

Video: Postino: Apakah Tukang Pos Mengirimkan Sesuatu?: 6 Langkah (dengan Gambar)
Video: Auto Post Generator Blogspot 2024, November
Anonim
Postino: Apakah Tukang Pos Mengirimkan Sesuatu?
Postino: Apakah Tukang Pos Mengirimkan Sesuatu?

Bukan ide saya: suatu hari seorang teman meminta saya cara untuk memeriksa dari jarak jauh apakah ada surat pos yang masuk ke kotak suratnya. Kotak surat tidak berada di jalan setapak menuju pintunya, jadi, karena dia adalah anak yang malas, dia bertanya-tanya apakah gadget teknologi seharusnya dapat memperingatkannya tentang surat apa pun ke dalam kotak surat. Saya telah melihat-lihat pasar dan saya tidak dapat menemukan perangkat siap pakai yang sesuai dengan kebutuhannya, jadi saya mengajukan tantangan kepada diri saya sendiri: mengapa tidak merancang dan membangunnya?

Kendala itu adalah:

  • bertenaga baterai dengan masa pakai yang wajar antara penggantian baterai;
  • komunikasi Wi-Fi;
  • periksa sekali sehari apakah ada surat atau tidak;

Pertanyaan utamanya adalah: jenis sensor apa yang sesuai dengan kebutuhan saya? Sensor jarak tidak dapat berfungsi, karena pemeriksaan harus dilakukan hanya sekali sehari dan tidak secara real-time; sensor berat juga, karena ini akan menambah kompleksitas dan masalah sensitivitas (selembar kertas bisa sangat ringan). Pilihan saya mendarat di sensor Time-of-Flight (laser mikro). Setelah dikalibrasi untuk ukuran kotak surat, apa pun yang ada di tengah akan memicu sensor! Mempertimbangkan 3 kendala, saya memutuskan untuk menggunakan ESP8266 (menjalankan perangkat lunak dan menghubungkan ke WiFi), sensor Waktu Penerbangan VL6180 untuk pengukuran dan Jam Waktu Nyata DS3231 untuk memicu semua sirkuit sekali sehari: begitulah Postino lahir!

Langkah 1: Bagian dan Komponen

  • ESP8266-01 (atau ESP-12E NodeMCU)
  • VL6108 Sensor Waktu Penerbangan
  • DS3231 Jam Waktu Nyata
  • IRLZ44 N-channel MosFET
  • Transistor BC547
  • Resistor
  • Baterai CR123

Langkah 2: Sensor

Sensornya
Sensornya

Jantung dari sistem ini adalah sensor VL6180. Ini adalah teknologi terobosan yang memungkinkan jarak absolut diukur secara independen dari reflektansi target. Alih-alih memperkirakan jarak dengan mengukur jumlah cahaya yang dipantulkan kembali dari objek (yang secara signifikan dipengaruhi oleh warna dan permukaan), VL6180X secara tepat mengukur waktu yang dibutuhkan cahaya untuk melakukan perjalanan ke objek terdekat dan memantul kembali ke sensor (Waktu -of-Penerbangan). Menggabungkan emitor IR, sensor jangkauan, dan sensor cahaya sekitar dalam paket reflowable tiga-dalam-satu yang siap digunakan, VL6180X mudah diintegrasikan dan menghemat pengoptimalan desain optik dan mekanis pembuat produk akhir yang lama dan mahal.

Modul ini dirancang untuk operasi daya rendah. Saya menggunakan papan breakout Pololu yang memiliki pengatur tegangan di papan yang memungkinkannya bekerja pada rentang tegangan input 2,7 V hingga 5,5 V.

Sensor memungkinkan 3 faktor penskalaan valid yang mengatur rentang maksimum pengukuran dari 20 hingga 60 cm, dengan sensitivitas yang berbeda. Dengan mengonfigurasi faktor penskalaan jangkauan, potensi jangkauan maksimum sensor dapat ditingkatkan dengan mengorbankan resolusi yang lebih rendah. Menyetel faktor penskalaan ke 2 memberikan rentang hingga 40 cm dengan resolusi 2 mm, sedangkan faktor penskalaan 3 memberikan rentang hingga 60 cm dengan resolusi 3 mm. Anda harus menguji 3 timbangan dengan dimensi kotak surat Anda. Karena saya adalah 25 cm (H) saya menggunakan faktor skala=1.

Langkah 3: Kustomisasi Jam Waktu Nyata

Untuk RTC saya menggunakan papan breakout DS3231 yang mencakup EEPROM (tidak berguna untuk tujuan saya) dan baterai ukuran koin. Saat saya memutuskan untuk menyalakan RTC melalui baterai perangkat utama (3v CR123), saya melepas baterai koin; untuk menghemat daya saya juga melepas EEPROM (dengan hati-hati memotong pin) dan onboard led.

Baterai koin tidak berguna bagi saya karena saya tidak perlu menyimpan tanggal/jam/menit/detik secara real time, tetapi RTC hanya menghitung selama 24 jam dan kemudian memicu alarm untuk menghidupkan perangkat.

Langkah 4: Aneka Lainnya di Pesawat

Aneka Lainnya di Pesawat
Aneka Lainnya di Pesawat
Aneka Lainnya di Pesawat
Aneka Lainnya di Pesawat

Menghidupkan perangkat dilakukan oleh transistor dan sirkuit MosFET, yang dipicu oleh alarm RTC. Setelah alarm disetel ulang, sirkuit memutus daya ke perangkat untuk siklus 24 jam berikutnya. Ketika alarm tercapai, DS3231 mengganti pin dari tinggi ke rendah: dalam kondisi normal transistor jenuh dan korslet ke gerbang MosFET ground. Setelah alarm membawa basis transistor ke ground, alarm akan terbuka dan memungkinkan MosFET untuk menutup sirkuit dan memberikan daya ke komponen lainnya.

Selain itu, saya menambahkan jumper "test-1M". Tujuan dari sakelar ini adalah – jika diaktifkan – untuk mengubah siklus dari sekali sehari menjadi satu menit sekali, untuk menjalankan uji penerapan. Untuk mengubah interval dari satu hari menjadi satu menit, pertama-tama Anda harus menutup jumper "Test-C" selama sekitar 15 detik, untuk melewati periode aktivasi alarm jam dan untuk menghidupkan perangkat. Saat tes selesai, buka jumper dan setel ulang perangkat (daya siklus).

Langkah 5: Skema

Skema
Skema

Langkah 6: Perangkat Lunak dan Logika

Selama pengujian saya menggunakan (untuk alasan praktis) pengontrol NodeMCU, jadi perangkat lunak menangani ini dengan mengatur varial CHIP ke "NodeMCU" atau "esp8266".

Sketsa mengimplementasikan perpustakaan WiFiManager untuk memungkinkan perangkat terhubung ke AP WiFi yang valid selama proses pertama. Dalam kasus seperti itu, perangkat masuk ke mode AP, memungkinkan Anda untuk terhubung dan memilih jaringan WiFi yang tepat untuk bergabung. Setelah itu, konfigurasi jaringan disimpan di EPROM untuk siklus berikutnya.

Variabel REST_MSG berisi pesan http untuk dikirim ketika sensor menemukan objek di kotak surat. Dalam kasus saya, ia mengirim pesan ke server REST domotic, tetapi Anda dapat mengubahnya sesuai keinginan: pesan BOT Telegram, acara IFTTT WebHook, dll.

Sisa sketsa ada di fungsi setup(), karena loop tidak pernah tercapai. Setelah konfigurasi yang diperlukan untuk beberapa perpustakaan, perangkat lunak menyetel waktu jam ke 00:00:01 dan alarm menjadi sekali sehari (atau satu menit sekali jika jumper "test-1M" diaktifkan). Kemudian itu membuat ukuran, mengirimkan pemberitahuan (jika ada objek yang ditemukan di kotak surat) dan mengatur ulang pin alarm, mematikan perangkat. Di akhir siklus, hanya RTC yang dihidupkan, dihitung selama 24 jam. Jumper Test-1M terhubung ke pin RX dari ESP8266, digunakan sebagai GPIO-3 melalui pengaturan: setMode(PIN, FUNCTION_3). Karena ini, Anda tidak dapat menggunakan monitor Serial saat menjalankan ESP8266: baris “#define DEBUG” (yang memungkinkan semua cetakan serial dalam sketsa) hanya digunakan ketika NodeMCU diinstal sebagai pengganti ESP8266.

ESP8266 menangani komunikasi I2C dengan RTC dan sensor melalui pin GPIO-0 dan GPIO-2, yang diinisialisasi di pustaka Wire.

Kode lengkapnya dapat diunduh dari tautan ini.

Kontes Teknologi Bantu
Kontes Teknologi Bantu
Kontes Teknologi Bantu
Kontes Teknologi Bantu

Runner Up dalam Kontes Teknologi Bantu

Direkomendasikan: