Мазмуну:

Токен жарыялоо системасы: 5 кадам
Токен жарыялоо системасы: 5 кадам

Video: Токен жарыялоо системасы: 5 кадам

Video: Токен жарыялоо системасы: 5 кадам
Video: ⚠️ 3 ТОЧКИ КОТОРЫЕ СПАСУТ ВАМ ЖИЗНЬ 2024, Июль
Anonim
Токен жарыялоо системасы
Токен жарыялоо системасы

Мурунку көрсөтмөлөрдө биз сиздин Arduino кантип сүйлөй тургандыгын көрдүк. Бүгүн биз ошол эле темада дагы бир аз изилдейбиз. Баарыбыз жашоонун кайсы бир учурунда банкта же вокзалда кулактандыруу системасына туш болушубуз керек. Бул кулактандыруу системалары кантип иштээрин ойлонуп көрдүңүз беле? Ооба, алар биздин акыркы долбоорубузга окшош принцип боюнча иштешет. Ошентип, бүгүн бул үйрөткүчтө биз 1ден 999га чейин токендерди жарыялоого жөндөмдүү Токендерди жарыялоо системасын жасайбыз, башкача айтканда жалпы 999 токен (эгер сиз 0ду кошсоңуз 1000). Ошентип, курулуш процессине кирели !!!

1 -кадам: Берилиштерди чогултуу

Берилиштерди чогултуу
Берилиштерди чогултуу
Берилиштерди чогултуу
Берилиштерди чогултуу
Берилиштерди чогултуу
Берилиштерди чогултуу

Эй, эгерде компоненттерди сатып алуу үчүн онлайн дүкөн издесең, анда UTSource.net бул текшерүү керек болгон сайт. Алар арзан баада электроника модулдарынын жана компоненттеринин көп түрдүүлүгүнө ээ. Алар ошондой эле 16 катмарга чейин PCB кызматтарын көрсөтүшөт. Алардын веб -сайтын текшериңиз.

Келгиле, бул долбоорго керектүү модулдарды карап көрөлү -

1. Arduino Uno Board

2. 4 * 4 матрицалык баскычтоп

3. SD карт модулу

4. 3,5 мм аудио Jack

5. Күчөткүч жана AUX кабели орнотулган динамик

6. Кээ бир Header Wires

Бул компоненттердин көбү мурунку долбоорлорубузда колдонулган.

2 -кадам: Райондук диаграмма

Райондук диаграмма
Райондук диаграмма

Бул долбоордун схемасы Talking Arduino долбоорундагыдай эле. Жалгыз айырмасы - клавиатура. Баскычтоптун интерфейси өтө жөнөкөй. Жөн гана баскыч саптарын жогоруда көрсөтүлгөндөй Arduino казыктарына туташтырыңыз.

(Алар мен бул долбоордо колдонгон клавиатура схемага окшош эмес, анткени мен Фритзингдин бөлүктөрүнүн тизмесинен туура тапкан жокмун. Андыктан чынжырдагы клавиатуранын биринчи жана акыркы казыктарына көңүл бурба.)

Audio Jackдин сол жана оң каналын Arduino санарип пинине 10 туташтырыңыз. Жана жер казыгы Ардуинонун жерине туташат.

Калган байланыштарды жасоо үчүн схеманы аткарыңыз.

3 -кадам: Аудио файлдарды даярдоо

Аудио файлдарды даярдоо
Аудио файлдарды даярдоо
Аудио файлдарды даярдоо
Аудио файлдарды даярдоо

Эми муну эстен чыгарбоо керек, SD карт модулун жана TMRpcm китепканасын колдонууда.wav аудио форматын гана колдоно аласыз. Башка аудио формат иштебейт.

Ошентип, жаздырылган аудио файлдарды же SD картка орнотууну көздөгөн файлдарды айландыруу үчүн, бул онлайн аудио алмаштыргычты колдонуу керек >> БУЛ ЖЕРДИ БАСЫҢЫЗ

Жогорудагы сүрөттө көрсөтүлгөндөй өзгөртүү үчүн орнотууларды сактаңыз.

Эгерде сиз реалдуу тутумдарда уккан санариптештирилген үндөрдү кааласаңыз, анда жазылган текстти сүйлөөгө айландыруучу бул веб -сайтты текшериңиз. Анан биз аны mp3 форматында жүктөп алсак болот, андан кийин жогоруда айтылган сайттан.wav форматына айландырса болот.

САЙТКА КИРҮҮ ҮЧҮН БУЛ ЖЕРГЕ БАСЫҢЫЗ

Сиз ошондой эле мен колдонгон аудио файлдарды түшүрүп алсаңыз болот. Ошентип, тактага программалоо убактысы келди.

4 -кадам: Коддоо

Coding
Coding

. Ino файлын төмөндөн жүктөп алыңыз. Программаны түзүңүз жана Arduino тактаңызга жүктөңүз. Эгер сиз кодду жүктөөдө кандайдыр бир көйгөйгө туш болсоңуз, анда мага кайрылыңыз же астына комментарий калтырыңыз. Мен сизге жардам берүүгө кубанычта болом.

#кошуу #кошуу "SD.h" #SD_ChipSelectPin 4 аныктоо #кошуу "TMRpcm.h" #include "SPI.h" TMRpcm tmrpcm; char myNum [4]; int i; const байт ROWS = 4; // төрт катар const байт COLS = 4; // төрт мамычанын чар баскычтары [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; байт rowPins [ROWS] = {A0, A1, A2, A3}; // баскычтоптун байт colPins'инин катарына туташуу [COLS] = {9, 8, 7, 6}; // клавиатуранын мамыча түйүндөрүнө туташуу Баскычтоп баскычы = Баскычтоп (makeKeymap (key), rowPins, colPins, ROWS, COLS); жараксыз орнотуу () {tmrpcm.speakerPin = 10; Serial.begin (9600); if (! SD.begin (SD_ChipSelectPin)) {Serial.println ("SD fail"); кайтуу; } /* tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); // Тестирлөө үчүн колдонулат (Акыркы кодго кошпогула) кечигүү (1000);*/} void loop () {Serial.println ("Үч орундуу санды киргизүү -"); for (i = 0; i <4; ++ i) {while ((myNum = keypad.getKey ()) == NO_KEY) {кечигүү (1); // Жөн эле ачкычты күтө туруңуз // // Ачкычтын бошотулушун күтө туруңуз (keypad.getKey ()! = NO_KEY) {delay (1); } Serial.print (myNum ); } if (myNum [3] == 'A') {Serial.println ("Токен жөнөтүлдү"); tmrpcm.setVolume (5); tmrpcm.play ("tokenno.wav"); кечигүү (2000); текшерүү(); } if (myNum [3] == 'B') {Serial.println ("Токен жөнөтүлгөн жок"); i = 0; } if (myNum [3] == '*') {Serial.println ("Reg desk"); tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); i = 0; } if (myNum [3] == '#') {Serial.println ("жабуу"); 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"); кечигүү (1000); } if (myNum [c] == '1') {tmrpcm.setVolume (5); tmrpcm.play ("one.wav"); кечигүү (1000); } if (myNum [c] == '2') {tmrpcm.setVolume (5); tmrpcm.play ("two.wav"); кечигүү (1000); } if (myNum [c] == '3') {tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); кечигүү (1000); } if (myNum [c] == '4') {tmrpcm.setVolume (5); tmrpcm.play ("four.wav"); кечигүү (1000); } if (myNum [c] == '5') {tmrpcm.setVolume (5); tmrpcm.play ("five.wav"); кечигүү (1000); } if (myNum [c] == '6') {tmrpcm.setVolume (5); tmrpcm.play ("six.wav"); кечигүү (1000); } if (myNum [c] == '7') {tmrpcm.setVolume (5); tmrpcm.play ("seven.wav"); кечигүү (1000); } if (myNum [c] == '8') {tmrpcm.setVolume (5); tmrpcm.play ("seven.wav"); кечигүү (1000); } if (myNum [c] == '9') {tmrpcm.setVolume (5); tmrpcm.play ("nine.wav"); кечигүү (1000); }} tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); }

Эгерде сиз аудио файлдардын аталыштарын өзгөртсөңүз, анда аларды коддо да түзөтүңүз. Ушуну менен долбооруңуз сыноого даяр. Келгиле, анын кантип иштээрин карап көрөлү.

5 -кадам: Долбоордун иштеши

Долбоордун иштеши
Долбоордун иштеши

Мен төмөндө долбоордун видеосун жүктөдүм. Сиз муну текшере аласыз. Долбоор мен күткөндөй иштеди. Мен туш болгон жалгыз чектөө - бул долбоор үчүн өзүнчө дисплейдин жоктугу. Биз ноутбукту дайыма туташтыра албайбыз. Экинчи жагдай, эгер сиз бир күн бою ноутбукта иштесеңиз жана көптөгөн USB портуңуз бар болсо.

Ошондуктан, мен силерден балдар бул долбоорго lcd (каалаганын жасайт) кошуп, мага ошол долбоордун шилтемесин жөнөтүшүн каалайм.

Бул долбоорду офистериңизде кабыл алуу столдорунда колдонсоңуз болот, эгерде сизде көп адамдар барса.

Өзүнчө электр булагын жана LCDди кошуу бул долбоорду жалгыз кылат. Мен бул ишти силерге балдарга тапшырам.

Эгерде менин ишим сизге жакса, анда менин долбоорлорумду социалдык медиа туткаларыңызда бөлүшүү менен мага жардам бериңиз. Азырынча ушундай. Жакында дагы бир долбоор менен жолугушабыз.

Сунушталууда: