Mundarija:
- 1 -qadam: materiallarni yig'ing
- 2 -qadam: O'chirish diagrammasi
- 3 -qadam: audio fayllarni tayyorlash
- 4 -qadam: kodlash
- 5 -qadam: Loyihaning ishlashi
Video: Token e'lon qilish tizimi: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Oldingi yo'riqnomada biz Arduino -ni qanday gapirishni o'rgandik. Bugun biz xuddi shu mavzuda biroz ko'proq o'rganamiz. Hammamiz hayotning biron bir vaqtida bank yoki temir yo'l stantsiyasida e'lonlar tizimiga duch kelganmiz. Siz bu e'lon tizimlari qanday ishlashini hech o'ylab ko'rganmisiz? Xo'sh, ular bizning oxirgi loyihamizga o'xshash printsip asosida ishlaydi. Shunday qilib, bugun biz ushbu darslikda biz 1 dan 999 gacha tokenlarni, ya'ni jami 999 tokenni (agar siz 0 qo'shsangiz, 1000) e'lon qila oladigan Token E'lonlar tizimini yaratamiz. Shunday qilib, qurilish jarayoniga o'tamiz !!!
1 -qadam: materiallarni yig'ing
Hey, agar siz tarkibiy qismlarni sotib olish uchun onlayn -do'konni qidirmoqchi bo'lsangiz, UTSource.net saytini tekshirishingiz kerak. Ularda elektronika modullari va komponentlarining keng assortimenti arzon narxlarda mavjud. Ular, shuningdek, 16 tagacha qatlam uchun PCB xizmatlarini taqdim etadi. Ularning veb -saytini tekshiring.
Keling, ushbu loyiha uchun kerak bo'lgan modullarni ko'rib chiqaylik -
1. Arduino Uno boshqaruv paneli
2. 4 * 4 matritsali klaviatura
3. SD -karta moduli
4. 3,5 mm audio jak
5. O'rnatilgan kuchaytirgich va AUX kabeli bo'lgan dinamik
6. Ba'zi sarlavhali simlar
Bu komponentlarning aksariyati avvalgi loyihalarimizda ishlatilgan.
2 -qadam: O'chirish diagrammasi
Ushbu loyihaning elektron sxemasi Talking Arduino loyihasidagi bilan bir xil. Yagona farq - bu klaviatura. Klaviatura bilan aloqa o'rnatish juda oddiy. Yuqorida ko'rsatilganidek, klaviatura qatorlarini Arduino pinlariga ulang.
(Men bu loyihada ishlatgan klaviatura sxemadagi kabi emas, chunki men Fritzingning qismlar ro'yxatidan to'g'ri topa olmadim. Shunday qilib, elektron klaviaturaning birinchi va oxirgi pinlariga e'tibor bermang.)
Audio Jekning chap va o'ng kanalini Arduino 10 raqamli piniga ulang. Va erni Arduino erga bog'lab qo'ydi.
Qolgan ulanishlarni bajarish uchun diagramaga amal qiling.
3 -qadam: audio fayllarni tayyorlash
Endi shuni yodda tutish kerakki, SD -karta moduli va TMRpcm kutubxonasidan foydalanganda faqat.wav audio formatidan foydalanish mumkin. Boshqa audio format ishlamaydi.
Shunday qilib, yozilgan audio fayllarni yoki SD -kartaga o'rnatmoqchi bo'lgan fayllarni aylantirish uchun siz ushbu onlayn audio konvertoridan foydalanishingiz kerak >> BU YERGA BOSING.
Yuqoridagi rasmda ko'rsatilgandek konvertatsiya qilish sozlamalarini saqlang.
Agar siz haqiqiy tizimlarda biz eshitadigan ajoyib raqamli ovozlarni xohlasangiz, yozma matnni nutqqa aylantiradigan ushbu veb -saytni tekshiring. Va keyin biz uni mp3 formatida yuklab olishimiz mumkin, keyin uni yuqorida ko'rsatilgan saytdan.wav formatiga o'tkazish mumkin.
Saytga tashrif buyurish uchun shu erni bosing
Siz men ishlatgan audio fayllarni pastdan yuklab olishingiz mumkin. Shunday qilib, boshqaruv kengashini dasturlash vaqti keldi.
4 -qadam: kodlash
. Ino faylini pastdan yuklab oling. Dasturni tuzing va Arduino kartangizga yuklang. Agar siz kodni yuklashda muammoga duch kelsangiz, men bilan bog'laning yoki pastda izoh qoldiring. Men sizga yordam berishdan xursand bo'lardim.
#include #include "SD.h" #deinine SD_ChipSelectPin 4 #include "TMRpcm.h" #include "SPI.h" TMRpcm tmrpcm; char myNum [4]; int i; const bayt ROWS = 4; // to'rt qatorli const bayt COLS = 4; // to'rtta ustunli char tugmalari [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; bayt rowPins [ROWS] = {A0, A1, A2, A3}; // klaviatura baytlari colPins [COLS] = {9, 8, 7, 6}; // klaviaturaning ustunli pinoutlariga ulanish Klaviatura klaviaturasi = Klaviatura (makeKeymap (tugmalar), rowPins, colPins, ROWS, COLS); void setup () {tmrpcm.speakerPin = 10; Serial.begin (9600); agar (! SD.begin (SD_ChipSelectPin)) {Serial.println ("SD ishlamayapti"); qaytish; } /* tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); // Sinov uchun ishlatiladi (Oxirgi kodga kiritmang) kechiktirish (1000);*/} void loop () {Serial.println ("Uch xonali raqamni kiriting -"); for (i = 0; i <4; ++ i) {while ((myNum = keypad.getKey ()) == NO_KEY) {kechiktirish (1); // Faqat kalitni kuting} // Kalit bo'shatilguncha kuting (keypad.getKey ()! = NO_KEY) {delay (1); } Serial.print (myNum ); } if (myNum [3] == 'A') {Serial.println ("Token yuborilgan"); tmrpcm.setVolume (5); tmrpcm.play ("tokenno.wav"); kechikish (2000); tekshirish (); } if (myNum [3] == 'B') {Serial.println ("Token yuborilmadi"); i = 0; } agar (myNum [3] == '*') {Serial.println ("Reg desk"); tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); i = 0; } agar (myNum [3] == '#') {Serial.println ("yopilish"); tmrpcm.setVolume (5); tmrpcm.play ("hash.wav"); i = 0; } if (myNum [3] == 'D') {Serial.println ("Sub"); tmrpcm.setVolume (5); tmrpcm.play ("D.wav"); i = 0; }} void check () {for (int c = 0; c <3; c ++) {if (myNum [c] == '0') {tmrpcm.setVolume (5); tmrpcm.play ("zero.wav"); kechikish (1000); } agar (myNum [c] == '1') {tmrpcm.setVolume (5); tmrpcm.play ("one.wav"); kechikish (1000); } agar (myNum [c] == '2') {tmrpcm.setVolume (5); tmrpcm.play ("two.wav"); kechikish (1000); } agar (myNum [c] == '3') {tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); kechikish (1000); } agar (myNum [c] == '4') {tmrpcm.setVolume (5); tmrpcm.play ("four.wav"); kechikish (1000); } agar (myNum [c] == '5') {tmrpcm.setVolume (5); tmrpcm.play ("five.wav"); kechikish (1000); } agar (myNum [c] == '6') {tmrpcm.setVolume (5); tmrpcm.play ("six.wav"); kechikish (1000); } agar (myNum [c] == '7') {tmrpcm.setVolume (5); tmrpcm.play ("seven.wav"); kechikish (1000); } agar (myNum [c] == '8') {tmrpcm.setVolume (5); tmrpcm.play ("sakkizta to'lqin"); kechikish (1000); } agar (myNum [c] == '9') {tmrpcm.setVolume (5); tmrpcm.play ("nine.wav"); kechikish (1000); }} tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); }
Agar siz audio fayllarning nomlarini o'zgartirsangiz, ularni kodda tahrir qilganingizga ishonch hosil qiling. Shunday qilib, sizning loyihangiz sinovdan o'tishga tayyor. Keling, qanday ishlashini ko'rib chiqaylik.
5 -qadam: Loyihaning ishlashi
Men quyida loyihaning videosini yukladim. Buni tekshirib ko'rishingiz mumkin. Loyiha men kutganimdek ishladi. Men duch kelgan yagona cheklov - bu loyiha uchun alohida displeyning yo'qligi. Biz noutbukni doimo ulab tura olmaymiz. Boshqa holat, agar siz kun bo'yi noutbukda ishlasangiz va ko'plab USB portlar mavjud bo'lsa.
Shunday qilib, men sizlardan ushbu loyihaga lcd (har kim qiladigan) qo'shishingizni va menga ushbu loyihaning havolasini yuborishingizni xohlayman.
Agar siz har kuni tashrif buyuradigan odamlar ko'p bo'lsa, ushbu loyihani sizning ofislaringizda qabulxonalarda ishlatishingiz mumkin.
Alohida quvvat manbai va LCD ni qo'shish ushbu loyihani yakka o'zi qiladi. Bolalar, men bu vazifani sizga ishonib topshiraman.
Agar siz mening ishimni yoqtirsangiz, o'z loyihalaringizni ijtimoiy tarmoqlar orqali almashish orqali menga yordam bering. Hozircha shunday. Tez orada yana bir loyiha bilan ko'rishguncha.
Tavsiya:
Hisob -fakturalar va hisob -kitoblarni nazorat qilish tizimi: 3 qadam
Hisob -fakturani billing va inventarizatsiyani nazorat qilish tizimi: Bu ko'rsatmalarni yordamida men sizga MS -dan foydalangan holda hisob -faktura va inventarizatsiyani nazorat qilish tizimini yaratish g'oyasini beraman. Bu juda oson va sizga kompyuter yoki dasturlash bo'yicha qo'shimcha bilim kerak emas. Kirish, jadvallar. shakllar va hisobotlar
Raspberry Pi yopiq iqlimni nazorat qilish va nazorat qilish tizimi: 6 qadam
Raspberry Pi yopiq iqlimni nazorat qilish va nazorat qilish tizimi: Odamlar o'z uylarida qulay bo'lishni xohlashadi. Bizning hududimizdagi iqlim o'zimizga mos kelmasligi uchun, biz sog'lom ichki muhitni saqlash uchun ko'plab asboblardan foydalanamiz: isitgich, havo sovutgichi, namlagich, namlagich, tozalash moslamasi va boshqalar. Hozirgi kunda bu
L293D bilan haroratni nazorat qilish tizimi: 19 qadam (rasmlar bilan)
L293D bilan haroratni nazorat qilish tizimi: Harorat sezgir boshqariladigan tizim - bu atrof -muhit bilan bog'liq bo'lgan ma'lum bir sohada ob'ektning haroratini boshqaruvchi va ushlab turuvchi qurilma. Ushbu turdagi boshqariladigan tizimlar asosan AC (Konditsionerlar), Refrig
Terrarium uchun namlik va haroratni nazorat qilish tizimi: 11 qadam (rasmlar bilan)
Terrarium uchun namlik va haroratni nazorat qilish tizimi: KIRISH: Bu ko'rsatma Arduino Uno yordamida namlik va haroratni nazorat qilishning modulli tizimini ishlab chiqish uchun mo'ljallangan. Ushbu tizim atrof -muhit parametrlarini va Arduino Uno ulanishini kuzatish uchun suv o'tkazmaydigan namlik va harorat o'lchagichidan foydalanadi
Arduino e'lon qilish uchun taymer: 5 qadam
E'lon berish uchun Arduino hisoblagich taymeri: Bu Arduino UNO va LCD monitor yordamida amalga oshiriladigan taymer. Men nima uchun bu loyihani amalga oshirganman, chunki bizning maktabda (KCIS) biz har chorshanba kuni kechki soat 21:30 da tushlikni onlayn saqlashimiz kerak. Biroq, eng mashhur va eng mashhur taom