Isi kandungan:

Selamat Pesta Musim Panas Ini Dengan Cawan LED Reaktif Alkohol Darah Arduino: 10 Langkah
Selamat Pesta Musim Panas Ini Dengan Cawan LED Reaktif Alkohol Darah Arduino: 10 Langkah

Video: Selamat Pesta Musim Panas Ini Dengan Cawan LED Reaktif Alkohol Darah Arduino: 10 Langkah

Video: Selamat Pesta Musim Panas Ini Dengan Cawan LED Reaktif Alkohol Darah Arduino: 10 Langkah
Video: Осенняя экспедиция. Квадроциклы и багги на дальняк 2024, Disember
Anonim
Selamat Pesta Musim Panas Ini Dengan Cawan LED Reaktif Alkohol Darah Arduino
Selamat Pesta Musim Panas Ini Dengan Cawan LED Reaktif Alkohol Darah Arduino

Kesukaran Tahap Projek: Menengah

Kemahiran yang diperlukan:

- Membaca dan meniru rajah

- Memateri jika anda memilih untuk tidak membeli bahagian pra-pematerian

Pengenalan Projek

Di Amerika Syarikat dan di seluruh dunia, alkohol telah menimbulkan ancaman kesihatan yang teruk apabila diminum dengan cara yang tidak bertanggungjawab. Kematian akibat memandu di bawah pengaruh dan kerosakan hati, serta kesan jangka panjang seperti kemungkinan kerosakan otak dan buah pinggang, mungkin disebabkan oleh pengambilan alkohol yang tidak bertanggungjawab. Di Amerika Syarikat sahaja, 250 bilion dolar hilang kerana penyalahgunaan alkohol (NIAAA, 2010), serta lebih daripada 88, 000 orang, menjadikan alkohol sebagai penyebab kematian ketiga yang dapat dicegah di negara ini. Soalan untuk projek ini adalah sebagai pembuat, bagaimana kita dapat mengatasi masalah ini dan memastikan perayaan yang menyeronokkan dengan alkohol seperti pesta dapat tetap selamat dan menyenangkan?

Jawapan saya untuk soalan ini adalah untuk mencari cara untuk menganggarkan dan kemudian menggambarkan BAC pengguna yang diramalkan untuk membolehkan mereka memahami dengan lebih baik keadaan mereka. Untuk projek ini, saya menggunakan mikrokontroler Arduino dengan sensor paras air, cincin LED, dan skrin LCD untuk mengesan berapa banyak minuman yang dimakan seseorang, dan kemudian mencari cara untuk menganggarkan kandungan alkohol darah (BAC) sebanyak pengguna berdasarkan jantina dan berat badan. Anggaran BAC, bergantung pada julatnya, menentukan animasi cincin LED di bawah. Julatnya berada di antara empat kawasan yang berbeza: Selamat, terjejas, mabuk, dan mematikan. Harapan saya adalah dengan membuat projek ini, anda bukan sahaja dapat membuat projek Arduino yang dapat digunakan tetapi juga memperoleh pemahaman yang lebih baik tentang bagaimana kita memetabolisme alkohol dan mungkin juga beberapa program asas jika anda memilih untuk melihat kod yang dikomen.

Bagaimana cawan itu tahu berapa banyak minuman yang saya ada?

Sekiranya nilai analog sensor paras air melebihi 300, nilai boolean yang mewakili cawan akan dicatat sebagai TINGGI (penuh). Sekiranya nilai analog sensor di bawah 300, nilai boolean yang mewakili cawan akan direkodkan sebagai RENDAH (kosong). Untuk merakam minuman yang ditambahkan ke dalam cawan, nilai boolean ini mesti berubah dari kosong ke penuh.

Bagaimana anda menentukan BAC?

Untuk menjadikan projek ini seakurat mungkin, saya menggunakan data dari Saint Benedict & Saint John's University mengenai berapa BAC seseorang meningkat setiap minuman yang dimakan. Program ini bukan sahaja mempertimbangkan berat badan tetapi juga jantina pengguna dalam pengiraan BAC pengguna. Ini kerana BAC didasarkan pada seberapa cepat tubuh dapat memetabolisme alkohol, yang berbeza antara lelaki dan wanita dan orang dengan berat badan yang berbeza. Carta boleh dilihat di sini.

Mengapa julat BAC berbeza untuk orang yang berbeza?

Julat BAC didasarkan secara langsung pada data yang diperoleh dari Universiti SBSJ, yang mempertimbangkan berapa banyak alkohol yang harus dimiliki pengguna dalam sistemnya agar mereka berada dalam salah satu daripada empat julat:

- Selamat: Satu-satunya jarak yang selamat untuk mengendalikan kenderaan (diwakili oleh animasi pelangi)

- Terjejas: Tuduhan jenayah mungkin berlaku jika anda mengoperasikan kenderaan dalam jarak ini (diwakili oleh animasi oren)

- Mabuk: Tuduhan jenayah akan berlaku jika anda mengendalikan kenderaan dalam jarak ini (diwakili oleh lampu merah)

- Mematikan: Sekiranya anda belum pingsan, anda berada dalam bahaya perubatan segera dalam julat ini (diwakili oleh lampu merah dan putih yang berkelip)

Tetapi saya boleh minum alkohol dengan baik, jadi adakah cawan ini tidak tepat?

Seberapa baik anda dapat bertindak setelah minum alkohol tidak akan menjadi masalah jika anda melepasi had undang-undang semasa memandu. Data yang digunakan dalam projek ini mempertimbangkan apa julat undang-undang dan perubatan BAC pengguna, sementara juga mempertimbangkan berat dan jantina pengguna.

Bekalan

Bekalan elektronik am untuk projek ini merangkumi:

- Dua butang tekan

- Wayar pelompat

- Potensiometer 10k

- 2 perintang 10k

- 1 220 perintang

Bahagian / modul khas:

- Arduino (Saya menggunakan Uno untuk projek ini, tetapi terdapat banyak alternatif yang lebih murah)

- Sensor paras air (CATATAN: Sensor ini sering tidak tepat dan cepat terkikis, yang merupakan kekecewaan utama dalam membangunkan projek ini. Walau bagaimanapun, saya dapat mencari jalan keluar agar kesukaran saya dengan projek ini tidak dapat diterjemahkan ke dalam kesukaran anda dengan projek ini.)

- Cincin LED (12 LED)

- Skrin LCD

Alat:

- Soldering iron (Hanya diperlukan jika membeli cincin LED tanpa header)

- pencetak 3d (Pilihan)

Langkah 1: Muat turun Arduino IDE dan Salin Kod yang Diperlukan

Tidak diperlukan pengaturcaraan komputer untuk projek ini, yang perlu anda lakukan hanyalah menyalin kod dari sini dan menampalnya ke Arduino IDE. Untuk memuat turun Arduino IDE:

Memuat turun dan mengkonfigurasi Arduino IDE:

- Lawati laman web Arduino dan pilih muat turun untuk sistem anda

- Setelah muat turun selesai, dapatkan nombor port COM untuk Arduino. Pasang Arduino dan arahkan ke Pengurus Peranti anda. Di bawah port, cari Arduino anda dan perhatikan nombor port. Ia mesti kelihatan seperti ini: COMx (Di mana x adalah nombor 1-9)

- Dengan menggunakan nombor port COM, konfigurasikan IDE untuk papan dan port anda dengan membuka Arduino IDE dan memilih "Tools" di bar atas. Pilih "Papan" dan pilih model anda. Seterusnya, pilih "Port" dan pilih port yang anda lihat untuk Arduino anda di Device Manager.

Memperolehi Kod Projek

- Salin kod dari langkah ini dan tampalkannya ke bahagian putih di Arduino IDE. Pastikan untuk terlebih dahulu menghapus semua yang ada pada lakaran, seperti rutin loop () dan batal (), kerana ini dilaksanakan dalam kod yang anda salin dan tempelkan.

Langkah 2: Muat turun Perpustakaan yang Diperlukan Dari Arduino IDE

Perpustakaan yang digunakan dalam projek ini merangkumi "Wire", "LiquidCrystal", dan "Adafruit Neopixel". Sketsa memerlukan perpustakaan ini untuk berkomunikasi dengan komponen yang digunakan dalam projek ini. Untuk memuat turun perpustakaan ini:

- Pilih "Sketsa" di bar atas

- Pilih "Sertakan perpustakaan" dari menu lungsur

- Pilih "Urus perpustakaan"

- Cari tiga perpustakaan (Kawat, kristal cair, dan Adafruit Neopixel) yang digunakan dalam projek ini dan muat turun masing-masing.

Harap maklum bahawa kegagalan memuat turun perpustakaan ini akan menyebabkan ralat semasa lakaran sedang disusun. Selepas langkah ini, pasangkan kabel dari Arduino ke komputer riba anda dan tekan butang anak panah di sudut kiri atas IDE. Ini akan menyusun dan memuat naik lakaran ke Arduino. Sekarang kita sudah selesai dengan semua langkah yang berkaitan dengan pengaturcaraan, mari beralih ke pendawaian!

Langkah 3: (Pilihan) Solder Header Ke Bahagian

Sekiranya anda memilih untuk membeli bahagian untuk projek ini yang belum mempunyai pin header yang disolder ke atasnya, anda perlu melakukannya sendiri. Jangan terlalu risau tentang bahagian ini, pematerian untuk projek ini sangat mudah.

- Buat persekitaran yang berventilasi untuk disolder, sebaiknya dengan kipas yang mengandungi penapis. Sekiranya anda tidak mempunyai kipas seperti itu, anda boleh melakukan apa yang saya lakukan dan membuka tingkap serta menghidupkan kipas atau pergi ke garaj semasa ia terbuka.

- Panaskan besi pematerian anda dan pastikan anda juga mempunyai span basah untuk mengelap pateri yang berlebihan.

- Siapkan header dan bahagian yang ingin anda pasangkan header menggunakan alat bantu atau alat lain yang membolehkan anda mengatur bahagian sambil membolehkan anda memegang besi pematerian.

- Sentuh solder ke solder semasa berada di sambungan antara pin header dan bahagian yang anda pasangkan pin. Tanggalkan seterika apabila cukup pateri yang terbentuk untuk memastikan hubungan elektrik antara pin header dan bahagiannya. Lap pelekat yang berlebihan pada span dan ulangi proses ini untuk semua pin.

- Setelah semua pin disolder, letakkan besi pematerian di dudukan, putar kenop ke "mati", dan cabut plag seterika. Tunggu sehingga seterika sejuk sepenuhnya untuk membuangnya.

Langkah 4: Ikuti Gambar dan Kawat Arduino ke Komponen

Ikuti Gambar dan Wire Arduino ke Komponen
Ikuti Gambar dan Wire Arduino ke Komponen

Dalam langkah ini, anda perlu menggunakan kabel jumper pengguna untuk menyambungkan bahagian yang diperlukan untuk projek itu ke Arduino. Saya telah menyediakan fail Fritzing untuk melakukan ini, yang dapat dilihat pada langkah ini. Sila lihat di bawah untuk senarai soalan biasa yang saya tanyakan pada diri sendiri sekiranya saya menghadapi masalah dengan pendawaian:

- Adakah landasan dan landasan elektrik saya bersambung dengan betul antara satu sama lain dan pin 5v dan GND Arduino?

- Adakah saya bermain-main dengan potensiometer saya jika paparan LCD tidak ditunjukkan? (Cuba putar potensiometer untuk mengubah rintangan jika watak putih tidak muncul dengan betul)

- Adakah GND dan VCC disambungkan ke setiap bahagian dengan betul ke pin yang betul? Adakah tetapan 5 volt sedang digunakan? (Semua sensor dan komponen dalam projek ini akan menggunakan 5 volt, bukan 3.3 volt.

- Adakah wayar secara tidak sengaja meletakkan satu sambungan dari tempat yang sepatutnya?

CATATAN: Semasa bekerja dengan elektronik, pastikan bahawa litar tidak dihidupkan semasa diubah. Jika tidak, bahagian mungkin rosak dan apabila bekerja dengan voltan yang lebih besar, kerosakan tubuh mungkin terjadi

Langkah 5: Himpunkan Projek "Coaster"

Projek Berkumpul
Projek Berkumpul

Anda mungkin menyedari bahawa tajuk cincin LED melekat dan tidak membenarkan anda meletakkan cawan dengan rata ke permukaan. Untuk mengatasi masalah ini, kami akan memasang cincin LED ke bahagian bercetak 3d yang akan membolehkan cincin diletakkan rata di atas meja. Fail 3d boleh didapati di langkah ini. Sekiranya anda tidak mempunyai pencetak 3d, jangan risau, cetakan ini berharga 1.40 untuk dibuat di perpustakaan tempatan saya. Sekiranya perpustakaan tempatan anda tidak mempunyai pencetak 3d, pilihan lain termasuk Staples dan penjual dalam talian. Perlu juga diperhatikan bahawa bahagian tertentu yang saya lampirkan bukanlah satu-satunya yang serasi, itu hanyalah cara untuk membuat model untuk saya. Oleh itu, jika anda mahir dengan kerja kayu atau kerajinan lain, barang itu lebih baik daripada yang boleh diterima!

Sekiranya anda memilih untuk mencetak bahagian untuk projek ini:

- Muat turun fail STL untuk diimport ke alat pemotong seperti Cura

- Ukur diameter bahagian bawah cawan pilihan anda

- Sesuaikan skala model (dalam milimeter jika menggunakan Cura) untuk ukuran anda

Langkah 6: Pasang Coaster dan Sensor ke Piala Pilihan Anda

Pasang Coaster dan Sensor ke Piala Pilihan Anda
Pasang Coaster dan Sensor ke Piala Pilihan Anda

Seterusnya, ambil pelapis anda dan gunakan pelekat untuk memasangkannya ke bahagian bawah cawan yang anda ukur. Sekarang, kabel pelompat akan dapat mengakses sensor paras air dan cincin LED, dan juga tergeletak di atas meja. Sekarang anda mesti memasang sensor. Sangat berhati-hati untuk mempertimbangkan penempatan sensor, kerana sensor ini, sementara dipasarkan sebagai analog, benar-benar hanya mengeluarkan dua isyarat - air atau tanpa air. Ini menimbulkan banyak masalah bagi saya, tetapi saya dapat mencari jalan untuk menyelesaikannya sehingga orang lain tidak mengalami kekecewaan yang sama dengan projek ini. Kuncinya adalah meletakkan sensor di bahagian atas tempat cecair akan berada ketika cawan sudah penuh. Ini akan memastikan bahawa sensor dapat mendaftarkan keadaan "kosong" dan oleh itu dapat mengira minuman yang dicurahkan seterusnya.

Langkah 7: Mencantikkan Projek dan Melindungi Kawat

Mencantikkan Projek dan Melindungi Kawat
Mencantikkan Projek dan Melindungi Kawat

Pada ketika ini, anda mungkin tersisa dengan segumpal wayar dan bahagian yang kelihatan seperti foto yang dilampirkan. Apa yang anda lakukan untuk menjadikan projek kelihatan lebih baik sepenuhnya bergantung kepada anda, selagi anda mengingat kriteria ini:

- Anda mesti dapat memasang pengecas ke Arduino

- Anda mesti memotong lubang atau merancang ruang untuk pengguna mengakses skrin LCD, butang, sensor paras air, dan cincin LED.

- Anda mesti melindungi komponen elektronik daripada basah, kerana ini kemungkinan kerana projek ini memfokuskan pada minuman.

Beberapa pilihan untuk melampirkan projek adalah:

- Kotak kasut atau kadbod

- Kandang projek elektronik kalis air seperti yang terdapat di sini

- Reka bentuk bercetak 3d (Ini adalah pilihan yang ingin saya ikuti, namun terlalu mahal untuk mencetak reka bentuk seperti ini di perpustakaan saya)

Langkah 8: Minum dengan Bertanggungjawab

Minum dengan Bertanggungjawab!
Minum dengan Bertanggungjawab!

Setelah melekatkan cawan anda ke coaster dan sensor air, anda boleh pergi! Anda akan tahu bahawa semuanya berfungsi dengan baik apabila skrin LCD meminta anda untuk melihat jantina dan berat badan anda. Satu butang sesuai dengan berat badan, sementara yang lain sesuai dengan seks. Anda boleh mengklik masing-masing untuk melihat yang mana sebelum melabelnya. Setelah memilih berat badan anda yang betul (nilai adalah dalam langkah 20) dan jantina, klik kedua-dua butang secara serentak. Ini akan memulakan program yang selebihnya, dan anda akan melihat cincin LED menyala corak pelangi. Cawan itu kini siap untuk anda menuangkan minuman. Semasa anda mengambil dan menuangkan lebih banyak minuman, program ini akan menggunakan jadual BAC yang dibincangkan dalam pengenalan untuk menentukan BAC. Harap maklum bahawa program ini menggunakan satu minuman standard untuk setiap cawan, sila lihat gambarnya (University of South Alabama), atau kunjungi di sini untuk melihat bagaimana terjemahan minuman kegemaran anda. Perhatikan juga bahawa matlamat projek ini bukan untuk mendorong aktiviti haram, tetapi untuk mempromosikan minuman selamat bagi mereka yang cukup umur untuk minum alkohol. Juga, walaupun saya sangat gembira dengan seberapa tepat anggaran BAC menganggap minuman standard, projek ini adalah alat untuk membantu anda minum dengan selamat, tetapi tidak bertanggungjawab sekiranya anda memilih untuk memandu setelah mengambil alkohol.

Langkah 9: (Pilihan) Penyelesaian Masalah

(Pilihan) Penyelesaian masalah
(Pilihan) Penyelesaian masalah

- Kesalahan "Masalah memuat naik ke papan": Semasa cuba menyusun dan memuat naik lakaran ke Arduino, ralat ini akan berlaku jika port COM anda tidak dikonfigurasi dengan betul (Lihat langkah pertama mengenai cara mencari dan menetapkan port COM yang betul) atau papan tidak dipasang.

- Layar LCD tidak menunjukkan aksara putih: Jika cahaya biru LCD anda menyala tetapi anda tidak melihat watak putih setelah memuat naik lakaran, ini kemungkinan besar disebabkan oleh masalah kontras. Untuk memperbaikinya, putar potensiometer anda ke kanan (Pusing ke kiri jika anda melihat blok putih dengan watak anda).

- Projek ini tidak mengira minuman dengan betul: Kesalahan ini adalah masalah sensor paras air. Modul sensor paras air berkarat dengan cepat dan terkenal kerana tidak tepat. Namun, ini tidak membimbangkan anda untuk projek ini, kerana saya menganggap sensor itu sebagai sensor digital dan bukannya analog. Lihat langkah keenam mengenai cara memasang sensor paras air dengan betul.

- Modul sangat panas dan tidak menghantar nilai yang betul: Ini adalah hasil dari sambungan GND atau VCC yang rosak, mungkin semasa bekerja dengan wayar lain. Pastikan bahawa sambungan GND dan VCC ke sensor lengkap dan ikuti mereka ke pin GND dan 5v dari komponen, ke papan roti, ke Arduino untuk mencari kesilapan.

- Saya secara tidak sengaja menaikkan berat badan saya: Jangan bimbang, tetapan berat badan kembali menjadi 100 selepas 240, jadi anda boleh terus memutar pilihan untuk mengembalikan berat badan anda.

Sekiranya masalah berterusan, sambungkan kabel dari Arduino ke komputer riba, buka IDE, dan jalankan lakaran. Semasa lakaran sedang berjalan, beberapa nilai akan ditampilkan di monitor bersiri, memungkinkan Anda melihat apa yang tidak berfungsi sebagaimana mestinya. Untuk mengakses monitor bersiri, jalankan program dan "Tools" dan kemudian "Serial Monitor" dari menu drop-down.

Langkah 10: Refleksi

Dari segi pengaturcaraan, saya sangat gembira dengan bagaimana projek ini dihasilkan. Saya mengambil masa agak lama untuk menulis kerana saya masih pemula, tetapi saya dapat mempelajari banyak perpustakaan baru dan mencapai matlamat untuk meramalkan BAC, dan saya merasakan bahawa saya tidak mengambil jalan pintas dalam mengira BAC kerana saya menggunakan kedua-dua seks dan berat (Ini merangkumi sebahagian besar lakaran). Namun, saya perlu menyetujui reka bentuknya. Walaupun saya tidak memiliki pencetak 3d atau tahu kerja kayu, saya sangat mahukan projek saya dipersembahkan dengan cara yang lebih baik. Saya berhasrat untuk segera mendapatkan Ender 3, dan perkara pertama yang akan saya lakukan adalah kembali kepada arahan yang sama untuk memperbaiki reka bentuk. Sebagai arahan pertama saya, saya merasakan prosesnya berjalan dengan baik dan saya sangat gembira dengan sejauh mana projek ini menangani permintaan yang saya buat untuk Cabaran Parti, tetapi merancang sesuatu yang saya ingin kembali kemudian apabila saya mempunyai sumber daya.

Disyorkan: