Turinys:
- 1 žingsnis: Surinkite reikmenis
- 2 žingsnis: grandinės schema
- 3 žingsnis: Garso failų paruošimas
- 4 žingsnis: kodavimas
- 5 žingsnis: Projekto darbas
Video: Žetonų pranešimo sistema: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
Ankstesnėje instrukcijoje matėme, kaip priversti „Arduino“kalbėti. Šiandien mes panagrinėsime šiek tiek daugiau ta pačia tema. Mes visi tam tikru gyvenimo momentu turėjome susidurti su pranešimų sistema, galbūt banke ar traukinių stotyje. Ar kada susimąstėte, kaip veikia tos skelbimų sistemos? Na, jie veikia panašiu principu, kaip ir mūsų paskutinis projektas. Taigi šiandien šioje pamokoje mes sukursime žetonų paskelbimo sistemą, galinčią paskelbti žetonus nuo 1 iki 999, ty iš viso 999 žetonų (1000, jei įtraukiate 0). Taigi pereikime prie statybos proceso !!!
1 žingsnis: Surinkite reikmenis
Sveiki, jei ieškote internetinės parduotuvės, kur galėtumėte įsigyti komponentų, tada UTSource.net yra svetainė, kurią turite patikrinti. Jie turi daugybę elektronikos modulių ir komponentų už prieinamą kainą. Jie taip pat teikia PCB paslaugas iki 16 sluoksnių. Patikrinkite jų svetainę.
Pažvelkime į modulius, kurių mums reikia šiam projektui -
1. „Arduino Uno“lenta
2. 4 * 4 matricos klaviatūra
3. SD kortelės modulis
4. 3,5 mm garso lizdas
5. Garsiakalbis su įmontuotu stiprintuvu ir AUX laidu
6. Kai kurie antraštiniai laidai
Dauguma šių komponentų buvo naudojami ankstesniuose projektuose.
2 žingsnis: grandinės schema
Šio projekto schema yra visiškai tokia pati kaip ir „Talking Arduino“projekte. Vienintelis skirtumas yra klaviatūra. Sąsaja su klaviatūra yra gana paprasta. Tiesiog prijunkite klaviatūros eilutes prie „Arduino“kaiščių, kaip parodyta aukščiau.
(Jų klaviatūra, kurią naudoju šiame projekte, nėra tokia pati kaip grandinėje, nes neradau tinkamo Fritzingo dalių sąraše. Taigi ignoruokite pirmąjį ir paskutinį grandinės klaviatūros kaiščius.)
Prijunkite kairįjį ir dešinįjį garso lizdo kanalą prie skaitmeninio „Arduino“kaiščio 10. Ir įžeminimo kaištis prie Arduino žemės.
Sekite schemą, kad atliktumėte likusius sujungimus.
3 žingsnis: Garso failų paruošimas
Dabar turėkite tai omenyje, kad naudodami SD kortelės modulį ir TMRpcm biblioteką galite naudoti tik.wav garso formatą. Joks kitas garso formatas neveiks.
Taigi, norėdami konvertuoti savo įrašytus garso failus arba failus, kuriuos ketinate įdiegti į SD kortelę, turite naudoti šį internetinį garso keitiklį >> Spustelėkite čia
Išlaikykite konversijos nustatymus, kaip parodyta aukščiau esančiame paveikslėlyje.
Ir jei norite šaunių skaitmeninių balsų, kuriuos girdime tikrose sistemose, patikrinkite šią svetainę, kurioje parašytas tekstas paverčiamas kalba. Ir tada mes galime jį atsisiųsti mp3 formatu, kurį iš aukščiau paminėtos svetainės galima konvertuoti į.wav formatą.
Norėdami aplankyti svetainę, spustelėkite čia
Taip pat galite atsisiųsti garso failus, kuriuos naudoju iš apačios. Taigi, kai buvo padaryta laiko programuoti lentą.
4 žingsnis: kodavimas
Atsisiųskite.ino failą iš apačios. Sudarykite ir įkelkite programą į „Arduino“lentą. Jei įkeliant kodą kyla problemų, nedvejodami susisiekite su manimi arba palikite komentarą žemiau. Aš mielai jums padėčiau.
#include #include "SD.h" #define SD_ChipSelectPin 4 #include "TMRpcm.h" #include "SPI.h" TMRpcm tmrpcm; char myNum [4]; int i; const baitas ROWS = 4; // keturios eilutės const baitas COLS = 4; // keturių stulpelių simbolių klavišai [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; baitų rowPins [ROWS] = {A0, A1, A2, A3}; // prisijungti prie klaviatūros eilučių baitų colPins [COLS] = {9, 8, 7, 6}; // prisijungti prie klaviatūros stulpelių kontaktų Klaviatūros klaviatūra = klaviatūra (makeKeymap (klavišai), rowPins, colPins, ROWS, COLS); void setup () {tmrpcm.speakerPin = 10; Serial.begin (9600); if (! SD.begin (SD_ChipSelectPin)) {Serial.println ("SD fail"); grįžti; } /* tmrpcm.setVolume (5); tmrpcm.play ("trys.wav"); // Naudojamas bandymams (neįtraukti į galutinį kodą) uždelsimas (1000);*/} void loop () {Serial.println ("Įveskite trijų skaitmenų skaičių -"); (i = 0; i <4; ++ i) {while ((myNum = keypad.getKey ()) == NO_KEY) {delay (1); // Tiesiog laukti rakto} // Palaukite, kol raktas bus paleistas, kol (keypad.getKey ()! = NO_KEY) {delay (1); } Serijinis atspaudas (myNum ); } if (myNum [3] == 'A') {Serial.println ("Žetonas išsiųstas"); tmrpcm.setVolume (5); tmrpcm.play ("tokenno.wav"); vėlavimas (2000 m.); patikrinti(); } if (myNum [3] == 'B') {Serial.println ("Žetonas nesiųstas"); i = 0; } if (myNum [3] == '*') {Serial.println ("Reg desk"); tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); i = 0; } if (myNum [3] == '#') {Serial.println ("uždarymas"); 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 ("nulis.wav"); vėlavimas (1000); } if (myNum [c] == '1') {tmrpcm.setVolume (5); tmrpcm.play ("one.wav"); vėlavimas (1000); } if (myNum [c] == '2') {tmrpcm.setVolume (5); tmrpcm.play ("du.wav"); vėlavimas (1000); } if (myNum [c] == '3') {tmrpcm.setVolume (5); tmrpcm.play ("trys.wav"); vėlavimas (1000); } if (myNum [c] == '4') {tmrpcm.setVolume (5); tmrpcm.play ("four.wav"); vėlavimas (1000); } if (myNum [c] == '5') {tmrpcm.setVolume (5); tmrpcm.play ("penki.wav"); vėlavimas (1000); } if (myNum [c] == '6') {tmrpcm.setVolume (5); tmrpcm.play ("six.wav"); vėlavimas (1000); } if (myNum [c] == '7') {tmrpcm.setVolume (5); tmrpcm.play ("septyni.wav"); vėlavimas (1000); } if (myNum [c] == '8') {tmrpcm.setVolume (5); tmrpcm.play ("aštuoni. wav"); vėlavimas (1000); } if (myNum [c] == '9') {tmrpcm.setVolume (5); tmrpcm.play ("devyni.wav"); vėlavimas (1000); }} tmrpcm.setTomas (5); tmrpcm.play ("star.wav"); }
Jei pakeisite garso failų pavadinimus, būtinai juos taip pat redaguokite kodu. Kai tai bus padaryta, jūsų projektas bus paruoštas išbandyti. Pažiūrėkime, kaip tai veikia.
5 žingsnis: Projekto darbas
Žemiau įkėliau projekto vaizdo įrašą. Galite tai patikrinti. Projektas atitiko mano lūkesčius. Vienintelis apribojimas, su kuriuo susidūriau, buvo tai, kad projektui nebuvo rodomas atskiras ekranas. Negalime nuolat palaikyti prijungto nešiojamojo kompiuterio. Kitas atvejis, jei visą dieną dirbate su nešiojamuoju kompiuteriu ir turite daug USB prievadų.
Taigi noriu, kad jūs, vaikinai, pridėtumėte lcd (bet kas tinka) prie šio projekto ir atsiųstumėte man to projekto nuorodą.
Šis projektas gali būti naudojamas jūsų biuruose registratūroje, jei kasdien lankosi daug žmonių.
Pridėjus atskirą maitinimo šaltinį ir LCD, šis projektas taps savarankiškas. Šią užduotį patikiu jums, vaikinai.
Jei jums patinka mano darbas, padėkite man, pasidalydami savo projektais savo socialinės žiniasklaidos rankenose. Kol kas tiek. Iki greito susitikimo su kitu projektu.
Rekomenduojamas:
Daiktų daiktais pagrįsta skalbinių pranešimo sistema: 18 žingsnių
„IoT“pagrįsta skalbimo pranešimų sistema: „HiThis“instrukcijoje pateikiamas žingsnis po žingsnio įvadas, kaip sukurti skalbinių pranešimo apie internetą sistemą. Prietaisas pritvirtintas prie jūsų stalčių ir skalbinių maišelio. Demonstracijai čia pasiėmėme du stalčius ir vieną skalbinių maišelį. Tai nujaučia
1930 -ųjų „Kodak Pi“pranešimo lempa: 6 žingsniai (su nuotraukomis)
1930 -ųjų „Kodak Pi“pranešimų lemputė: tai 1930 -ųjų „Kodak Table Viewer“, kurią pritaikiau rodyti pranešimus ir įspėjimus naudodami įvairias ryškias spalvas. Šviesos šaltinis yra „Unicorn pHAT“, programuojama ryškių šviesos diodų matrica, ir tai valdo „Raspberry Pi Zero W“, kuri
Vizualinio pranešimo įspėjimas: 9 žingsniai
Vizualinio pranešimo įspėjimas: ši pamoka moko jus, kaip koduoti, kad Phillips Hue įspėtų. Tai būtų labai naudinga žmonėms, kurie yra kurčiai ir neprigirdintys, turi silpnaregį ar jutimo negalią. Vizualinio pranešimo įspėjimas yra informuoti vartotojus, gavus pranešimą
Automatinė kavos pranešimo sistema: 7 žingsniai (su nuotraukomis)
Automatinė pranešimo apie kavą sistema: šiame projekte aš padariau biuro kavos virimo aparatą protingą, sukurdamas kavos įspėjimo sistemą, kuri siunčia „Slack“pranešimus, kai kas nors išverda šviežią kavos puodelį. Kodas gali būti pakeistas, kad būtų išsiųstas el. Laiškas arba tekstinė žinutė. Šis projektas sukurtas remiantis R
Skalbimo mašinos pranešimo jutiklis: 6 žingsniai (su nuotraukomis)
Pranešimo apie skalbimo mašiną jutiklis: Šis skalbimo mašinos jutiklis yra ant mano skalbimo mašinos ir naudoja akselerometrą, kad aptiktų mašinos vibraciją. Pajutęs, kad skalbimo ciklas baigtas, jis siunčia man pranešimą į mano telefoną. Aš tai sukūriau, nes pati mašina