![Токен жарыялоо системасы: 5 кадам Токен жарыялоо системасы: 5 кадам](https://i.howwhatproduce.com/images/011/image-32767-j.webp)
Мазмуну:
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:51
![Токен жарыялоо системасы Токен жарыялоо системасы](https://i.howwhatproduce.com/images/011/image-32767-1-j.webp)
Мурунку көрсөтмөлөрдө биз сиздин Arduino кантип сүйлөй тургандыгын көрдүк. Бүгүн биз ошол эле темада дагы бир аз изилдейбиз. Баарыбыз жашоонун кайсы бир учурунда банкта же вокзалда кулактандыруу системасына туш болушубуз керек. Бул кулактандыруу системалары кантип иштээрин ойлонуп көрдүңүз беле? Ооба, алар биздин акыркы долбоорубузга окшош принцип боюнча иштешет. Ошентип, бүгүн бул үйрөткүчтө биз 1ден 999га чейин токендерди жарыялоого жөндөмдүү Токендерди жарыялоо системасын жасайбыз, башкача айтканда жалпы 999 токен (эгер сиз 0ду кошсоңуз 1000). Ошентип, курулуш процессине кирели !!!
1 -кадам: Берилиштерди чогултуу
![Берилиштерди чогултуу Берилиштерди чогултуу](https://i.howwhatproduce.com/images/011/image-32767-2-j.webp)
![Берилиштерди чогултуу Берилиштерди чогултуу](https://i.howwhatproduce.com/images/011/image-32767-3-j.webp)
![Берилиштерди чогултуу Берилиштерди чогултуу](https://i.howwhatproduce.com/images/011/image-32767-4-j.webp)
Эй, эгерде компоненттерди сатып алуу үчүн онлайн дүкөн издесең, анда UTSource.net бул текшерүү керек болгон сайт. Алар арзан баада электроника модулдарынын жана компоненттеринин көп түрдүүлүгүнө ээ. Алар ошондой эле 16 катмарга чейин PCB кызматтарын көрсөтүшөт. Алардын веб -сайтын текшериңиз.
Келгиле, бул долбоорго керектүү модулдарды карап көрөлү -
1. Arduino Uno Board
2. 4 * 4 матрицалык баскычтоп
3. SD карт модулу
4. 3,5 мм аудио Jack
5. Күчөткүч жана AUX кабели орнотулган динамик
6. Кээ бир Header Wires
Бул компоненттердин көбү мурунку долбоорлорубузда колдонулган.
2 -кадам: Райондук диаграмма
![Райондук диаграмма Райондук диаграмма](https://i.howwhatproduce.com/images/011/image-32767-5-j.webp)
Бул долбоордун схемасы Talking Arduino долбоорундагыдай эле. Жалгыз айырмасы - клавиатура. Баскычтоптун интерфейси өтө жөнөкөй. Жөн гана баскыч саптарын жогоруда көрсөтүлгөндөй Arduino казыктарына туташтырыңыз.
(Алар мен бул долбоордо колдонгон клавиатура схемага окшош эмес, анткени мен Фритзингдин бөлүктөрүнүн тизмесинен туура тапкан жокмун. Андыктан чынжырдагы клавиатуранын биринчи жана акыркы казыктарына көңүл бурба.)
Audio Jackдин сол жана оң каналын Arduino санарип пинине 10 туташтырыңыз. Жана жер казыгы Ардуинонун жерине туташат.
Калган байланыштарды жасоо үчүн схеманы аткарыңыз.
3 -кадам: Аудио файлдарды даярдоо
![Аудио файлдарды даярдоо Аудио файлдарды даярдоо](https://i.howwhatproduce.com/images/011/image-32767-6-j.webp)
![Аудио файлдарды даярдоо Аудио файлдарды даярдоо](https://i.howwhatproduce.com/images/011/image-32767-7-j.webp)
Эми муну эстен чыгарбоо керек, SD карт модулун жана TMRpcm китепканасын колдонууда.wav аудио форматын гана колдоно аласыз. Башка аудио формат иштебейт.
Ошентип, жаздырылган аудио файлдарды же SD картка орнотууну көздөгөн файлдарды айландыруу үчүн, бул онлайн аудио алмаштыргычты колдонуу керек >> БУЛ ЖЕРДИ БАСЫҢЫЗ
Жогорудагы сүрөттө көрсөтүлгөндөй өзгөртүү үчүн орнотууларды сактаңыз.
Эгерде сиз реалдуу тутумдарда уккан санариптештирилген үндөрдү кааласаңыз, анда жазылган текстти сүйлөөгө айландыруучу бул веб -сайтты текшериңиз. Анан биз аны mp3 форматында жүктөп алсак болот, андан кийин жогоруда айтылган сайттан.wav форматына айландырса болот.
САЙТКА КИРҮҮ ҮЧҮН БУЛ ЖЕРГЕ БАСЫҢЫЗ
Сиз ошондой эле мен колдонгон аудио файлдарды түшүрүп алсаңыз болот. Ошентип, тактага программалоо убактысы келди.
4 -кадам: Коддоо
![Coding Coding](https://i.howwhatproduce.com/images/011/image-32767-8-j.webp)
. 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 -кадам: Долбоордун иштеши
![Долбоордун иштеши Долбоордун иштеши](https://i.howwhatproduce.com/images/011/image-32767-9-j.webp)
Мен төмөндө долбоордун видеосун жүктөдүм. Сиз муну текшере аласыз. Долбоор мен күткөндөй иштеди. Мен туш болгон жалгыз чектөө - бул долбоор үчүн өзүнчө дисплейдин жоктугу. Биз ноутбукту дайыма туташтыра албайбыз. Экинчи жагдай, эгер сиз бир күн бою ноутбукта иштесеңиз жана көптөгөн USB портуңуз бар болсо.
Ошондуктан, мен силерден балдар бул долбоорго lcd (каалаганын жасайт) кошуп, мага ошол долбоордун шилтемесин жөнөтүшүн каалайм.
Бул долбоорду офистериңизде кабыл алуу столдорунда колдонсоңуз болот, эгерде сизде көп адамдар барса.
Өзүнчө электр булагын жана LCDди кошуу бул долбоорду жалгыз кылат. Мен бул ишти силерге балдарга тапшырам.
Эгерде менин ишим сизге жакса, анда менин долбоорлорумду социалдык медиа туткаларыңызда бөлүшүү менен мага жардам бериңиз. Азырынча ушундай. Жакында дагы бир долбоор менен жолугушабыз.
Сунушталууда:
Matlab 2016bти Word'ге кантип коддоо жана жарыялоо керек (Баштоочулар үчүн колдонмо): 4 кадам
![Matlab 2016bти Word'ге кантип коддоо жана жарыялоо керек (Баштоочулар үчүн колдонмо): 4 кадам Matlab 2016bти Word'ге кантип коддоо жана жарыялоо керек (Баштоочулар үчүн колдонмо): 4 кадам](https://i.howwhatproduce.com/images/004/image-11771-j.webp)
Matlab 2016bти Word'ке кантип коддоо жана жарыялоо керек (Баштоочулар үчүн колдонмо): Matlab-техникалык натыйжаларды эсептөө үчүн колдонулган жогорку деңгээлдеги тил программасы. Бул колдонуучуларга ыңгайлуу түрдө визуалды, эсептөөлөрдү жана программалоону интеграциялоо мүмкүнчүлүгүнө ээ. Бул программа менен колдонуучу көйгөйлөрдү жана чечимдерди жарыялай алат
Түстөрдү сорттоо системасы: Arduino негизделген системасы эки кур менен: 8 кадам
![Түстөрдү сорттоо системасы: Arduino негизделген системасы эки кур менен: 8 кадам Түстөрдү сорттоо системасы: Arduino негизделген системасы эки кур менен: 8 кадам](https://i.howwhatproduce.com/images/006/image-15112-j.webp)
Түстөрдү сорттоо системасы: Arduino негизделген эки белдемдүү система: Өнөр жай тармагындагы продукцияларды жана буюмдарды ташуу жана/же таңгактоо конвейердик линиялардын жардамы менен жүргүзүлөт. Бул курлар нерсени белгилүү бир ылдамдык менен бир чекиттен экинчи пунктка жылдырууга жардам берет. Кээ бир иштетүү же идентификациялык тапшырмалар болушу мүмкүн
NTP убакыт белгиси менен ESP32 маалыматын IoT Cloudга кантип жарыялоо керек: 5 кадам
![NTP убакыт белгиси менен ESP32 маалыматын IoT Cloudга кантип жарыялоо керек: 5 кадам NTP убакыт белгиси менен ESP32 маалыматын IoT Cloudга кантип жарыялоо керек: 5 кадам](https://i.howwhatproduce.com/images/010/image-29385-j.webp)
NTP Timestamp менен ESP32 маалыматтарын IoT Cloudго кантип жарыялоо керек: Көптөгөн колдонмолордо колдонуучулар пайдалуу маалыматтарды жүктөө үчүн AskSensors IoT булутуна жөнөтүлүүчү баалуулуктардын жергиликтүү убакыт белгиси менен бирге жөнөтүшү керек. Убакыт белгилеринин форматы - UNIX доорунун убактысы: Янудан бери өткөн миллисекунддардын саны
UbiDots-туташтыруу ESP32 жана бир нече сенсордук маалыматтарды жарыялоо: 6 кадам
![UbiDots-туташтыруу ESP32 жана бир нече сенсордук маалыматтарды жарыялоо: 6 кадам UbiDots-туташтыруу ESP32 жана бир нече сенсордук маалыматтарды жарыялоо: 6 кадам](https://i.howwhatproduce.com/images/003/image-8537-11-j.webp)
UbiDots-ESP32 туташтыруу жана бир нече сенсордук маалыматтарды жарыялоо: ESP32 жана ESP 8266 IoT тармагында абдан тааныш SoC. Бул IoT долбоорлору үчүн кандайдыр бир жакшылык. ESP 32 - интегралдык WiFi жана BLE менен түзмөк. Жөн гана SSID, сырсөзүңүздү жана IP конфигурацияңызды бериңиз жана нерселерди интеграциялаңыз
MQTT колдонуп зымсыз басым сенсорунун маалыматтарын жарыялоо: 7 кадам
![MQTT колдонуп зымсыз басым сенсорунун маалыматтарын жарыялоо: 7 кадам MQTT колдонуп зымсыз басым сенсорунун маалыматтарын жарыялоо: 7 кадам](https://i.howwhatproduce.com/images/006/image-15093-25-j.webp)
MQTT: ESP32 жанаESP 8266 аркылуу зымсыз басым сенсорунун маалыматтарын жарыялоо IoT тармагында абдан тааныш SoC болуп саналат. Бул IoT долбоорлору үчүн жакшы нерсе. ESP 32 - интеграцияланган WiFi жана BLE менен түзмөк. Жөн гана SSID, сырсөзүңүздү жана IP конфигурацияңызды бериңиз жана нерселерди интеграциялаңыз