Mundarija:

Arduino-Raspberry Pi ovozli panelining prototipi: 9 qadam (rasmlar bilan)
Arduino-Raspberry Pi ovozli panelining prototipi: 9 qadam (rasmlar bilan)

Video: Arduino-Raspberry Pi ovozli panelining prototipi: 9 qadam (rasmlar bilan)

Video: Arduino-Raspberry Pi ovozli panelining prototipi: 9 qadam (rasmlar bilan)
Video: Demo Video, Unlock android device by Kali linux 2024, Noyabr
Anonim
Arduino-Raspberry Pi ovoz panelining prototipi
Arduino-Raspberry Pi ovoz panelining prototipi

Arduino va Raspberry Pi yordamida yaratilgan ovozli panel 4 xil tovush yoki shovqinni ijro etishning oddiy usuli bo'lib, ovozli to'plamlarni tugma bilan almashtirish va LCD displeyda mavjud ovoz to'plamini ko'rsatish imkoniyatiga ega.

*E'tibor bering: Loyihaning kodi 99% bajarilgan, lekin ishlamaydi.

Raspberry Pi 16x2 LCD displeyni va aylanuvchi koderni boshqaradi, Arduino esa sezgir rezistorlar (FSR) ning analog kirishini o'qiydi va Arduino -ga ovozni ijro etish uchun signal yuboradi. Biz ikkalamiz ham bu sinfdan oldin hech qachon Arduino yoki Pi ishlatmaganmiz, lekin professorimiz ushbu loyihani osonlikcha kodlash va qurish uchun bizga barcha kerakli vositalar va ko'rsatmalarni berdi. Loyihamizni modellashtirish uchun AutoDesk tomonidan bepul 3D -modellashtirish vositasi bo'lgan TinkerCad ishlatilgan.

Loyihaning eng qiyin qismi Arduino va Raspberry Pi ni ketma -ket aloqa bilan bog'lanish usulini topish edi. Biz dastlab Pi -ni butun loyiha uchun ishlatmoqchi edik, lekin FSR -dan analog signalni o'qish uchun bizga Arduino kerak edi. Biz osongina Arduino -dan so'zlar yoki raqamlar satrlarini yuborib, ularni Pi -da namoyish qila oldik, lekin muammo Python -da o'qish va ularni qayta ishlash uchun shartli bayonotlarga kiritishga harakat qilganimizda edi.

Malakalar talab qilinadi

  • Arduino kodlash uchun C/C ++ haqida oddiy tushuncha
  • Raspberry Pi kodlash uchun Python haqida oddiy tushuncha
  • Non paneli qanday ulanganligi haqida bilim
  • 3D modellashtirishning asosiy ko'nikmalari
  • Dasturlashni, simlarni ulashni va chiroyli narsalarni qurishni o'rganish va kengaytirish istagi

Qismlar ro'yxati

1 x Raspberry Pi 3

1 x Elegoo Uno OR Arduino Uno

1 x 830 Breadboard taxtasi

1 x GPIO uzilish taxtasi (RSP-GPIO)

Chiqib ketish taxtasi uchun 1 x lenta kabeli

4 ta kichik kuch sezgir rezistorlar

1 x asosiy 16x2 belgili LCD displey

1 x Rotary Enkoder moduli

24 x Erkak -ayol simlari

10 x Erkak -erkak simlari

4 x 10k rezistorlar

1 x 10k potentsiometr

1 x bog 'ko'pikli tizzasi (dollar do'koni)

1 -qadam: Arduino bilan FSRni sinab ko'ring

Arduino bilan FSRni sinab ko'ring
Arduino bilan FSRni sinab ko'ring

Biz birinchi navbatda Arduino bilan FSRni sinab ko'rishga qaror qildik. FSR analog signal yuboradi va shuning uchun biz Arduino -dan foydalanishimiz kerak edi, chunki Pi boshqa sxemalarsiz analogni qabul qilmaydi. Biz presslar yaxshi bosim ostida ekanligiga ishonch hosil qilish uchun chegaralarni sinab ko'rmoqchi edik. Biz buni 1000 dan 150 ga yaqin deb topdik. Arduino IDE -dagi ketma -ket plotter bu qadam uchun juda foydali bo'ldi.

2 -qadam: Kengash rejalarini tuzing

Kengash rejalarini tuzing
Kengash rejalarini tuzing
Kengash rejalarini tuzing
Kengash rejalarini tuzing

Keyin biz taxtaning rejalarini tuzdik va o'lchadik. Biz tovushlarni ijro etish uchun 4 ta prokladkani, hozirgi ovoz guruhini ko'rsatadigan LCD displeyli joyni va ovoz guruhini o'zgartirish uchun aylanuvchi kodlovchi bo'lishni xohladik.

3 -qadam: TinkerCad -da taxtani modellashtirish

TinkerCad -da taxtani modellashtirish
TinkerCad -da taxtani modellashtirish
TinkerCad -da taxtani modellashtirish
TinkerCad -da taxtani modellashtirish
TinkerCad -da taxtani modellashtirish
TinkerCad -da taxtani modellashtirish

Rejalar tuzilgandan so'ng, biz taxtani Autodesk by TinkerCad deb nomlangan onlayn, bepul, 3D -modellashtirish veb -saytida modellashtirdik. Biz sizga 3D -modellashtirish uchun katta hajmdagi pul sarflashni istamaganlar uchun tavsiya qilamiz, chunki ulardan foydalanish oson, bulutli va 3D bosib chiqarishni to'liq qo'llab -quvvatlaydi.

U modellashtirilgandan so'ng, biz uni printerga o'rnatish uchun 2 qismga bo'lishimiz kerak edi. Bu juda yaxshi bosilgan, lekin mening xatom LCD displey uyasining o'lchamini yaxshi emas edi (xato qilmang!) Biz ularni tekshirishni xohlasangiz, chap va o'ng tarafdagi. STL fayllarini yukladik.

4 -qadam: LCD displeyni sinab ko'ring

LCD ekranni sinab ko'ring
LCD ekranni sinab ko'ring

Biz ekranni Arduino -da ishlatgan edik va sozlash juda oson edi. Biroq, uni Pi bilan ishlatish qiyinroq edi. Google -da bir nechta nosozliklarni tuzatish va simlar bilan ishlash natijasida biz nihoyat ishga tushdik. Iltimos, oxirida qanday ishlashini bilish uchun oxirgi Python kodini ko'ring. Biz bir nechta veb -saytlardan foydalangan holda uni ulashga va kod yozishga yordam berdik.

learn.adafruit.com/drive-a-16x2-lcd-direct…

www.raspberrypi-spy.co.uk/2012/07/16x2-lcd…

5 -qadam: LCD displey yordamida aylanuvchi kodlovchini sinab ko'ring

LCD ekran yordamida aylanadigan kodlovchi qurilmani sinab ko'ring
LCD ekran yordamida aylanadigan kodlovchi qurilmani sinab ko'ring

Shunda biz kodlovchi aylantirilganda LCD displeyining matnini o'zgartira olamizmi yoki yo'qligini bilmoqchi bo'ldik. Enkoderda belgilangan burchaklar yoki aylanishlar yo'q, shuning uchun kodda biz soat yo'nalishi bo'yicha yoki soat sohasi farqli o'laroq necha marta aylanganini hisoblab, uni 3 ga aylantirdik. Agar u o'tib ketsa, u 0 ga qaytadi va Agar u 0 dan past bo'lsa, u yana 3 ga qaytadi. Bu raqamlar siz xohlagan ovoz to'plamlari uchun o'rnatilishi mumkin, lekin biz faqat bitta ovoz to'plamini sinab ko'rdik. Ovozlaringiz Python -ning asosiy kodi bajariladigan papkada/joylashuvda ekanligiga ishonch hosil qiling.

6 -qadam: taxtani yig'ing

Kengashni yig'ing
Kengashni yig'ing
Kengashni yig'ing
Kengashni yig'ing
Kengashni yig'ing
Kengashni yig'ing

FSR to'rt xil uyalar ostida siljiydi. Biz ularni markazlashtirdik va lentaga yopishtirdik. Biz yopishqoq lentani yoki hatto yopishtirishni tavsiya qilamiz, chunki oddiy skotch 3D bosilgan materialga yopishib olishda dahshatli edi. Dollar do'koniga tezda borganimizdan so'ng, biz yumshoq, ammo yumshoq bog 'tizzasini topdik, uni taxtaning tugmachalari sifatida to'rt qismga bo'lishimiz mumkin. Biz ularni joylariga mahkam o'rnashib olishlari uchun kesib tashladik, shunda ular joyida qolishi mumkin edi, lekin kerak bo'lganda osongina olib tashlanishi mumkin edi.

7 -qadam: Hammasini bog'lang

Hammasini bog'lang
Hammasini bog'lang
Hammasini bog'lang
Hammasini bog'lang

Kengashni yig'ib, FSR, kodlovchi va ekranni joyiga qo'ygandan so'ng, biz hamma narsani sim bilan bog'ladik. Siz 2 ta taxtadan foydalanishingiz mumkin edi, lekin biz hamma narsani bittasiga sig'dira oldik. Rasm chalkashlikka o'xshaydi, lekin biz Fritzing nomli bepul dasturda sxematik diagramma tuzdik. E'tibor bering, siz xohlagan pinlarni o'zgartirishingiz mumkin, lekin diagramma bizning kodimizga mos keladi.

8 -qadam: Hammasini kodlashni yakunlang

Bu qiyin qism edi. Kirish qismida aytilganidek, biz bu qismni to'ldira olmadik. Bu erda kod 99%, lekin ishlamagan qismi Arduino -dan Pi -ga ketma -ket aloqa edi. Biz Arduino -ni USB -kabel orqali Pi -ga ulaganimizda, biz ma'lumotni osongina yuborishimiz mumkin edi, lekin Pi bu ma'lumotni ekranda aks ettirishdan boshqa hech narsa qila olmadi. Biz qaysi tugma bosilganligini aniq aytib berishni va ma'lum bir ovoz chiqarishni xohlardik, lekin aloqa orqali kelgan ma'lumotlarni shart tugmachasiga kiritish mumkin emas, qaysi tugma bosilganligini tekshirish uchun.

Iltimos, ilova qilingan kodni ko'ring, Pi uchun Python kodida eslatmalar yozilgan. Arduino kodi 100%bo'lishi kerak.

9 -qadam: Xulosa qiling

Xulosa qiling
Xulosa qiling

Umuman olganda, bu loyiha ikkalamiz uchun katta o'quv tajribasi edi va umid qilamizki, bu yozish kelajakdagi talabalarga, o'qituvchilarga yoki masxarabozlarga o'z loyihalari uchun ilhom bag'ishlaydi va ularni xatolarimizdan o'rganib yo'l ko'rsatadi. Bizning ajoyib robototexnika professori bilan baqiring, u bizning darsimizda juda ko'p yordam berdi va bizga bir necha marotaba zavqlanishga va COMP yuqori sinfida ko'p narsalarni o'rganishga imkon berdi! O'qiganingiz uchun tashakkur:)

Tavsiya: