สารบัญ:

ระบบประกาศโทเค็น: 5 ขั้นตอน
ระบบประกาศโทเค็น: 5 ขั้นตอน

วีดีโอ: ระบบประกาศโทเค็น: 5 ขั้นตอน

วีดีโอ: ระบบประกาศโทเค็น: 5 ขั้นตอน
วีดีโอ: VYVO Token เรียนรู้วิธีการใช้วิโว่โทเค็น 2024, กรกฎาคม
Anonim
ระบบประกาศโทเค็น
ระบบประกาศโทเค็น

ในคำแนะนำก่อนหน้านี้เราเห็นวิธีทำให้ Arduino ของคุณพูดได้ วันนี้เราจะสำรวจเพิ่มเติมอีกเล็กน้อยในหัวข้อเดียวกัน เราทุกคนต้องมีสักครั้งในชีวิตที่เจอระบบประกาศในธนาคารหรือสถานีรถไฟ คุณเคยสงสัยหรือไม่ว่าระบบการประกาศเหล่านั้นทำงานอย่างไร? พวกเขาทำงานบนหลักการเดียวกันกับโครงการสุดท้ายของเรา ดังนั้นวันนี้ในบทช่วยสอนนี้ เราจะสร้างระบบประกาศโทเค็นที่สามารถประกาศโทเค็นได้ตั้งแต่ 1 ถึง 999 นั่นคือทั้งหมด 999 โทเค็น (1,000 ถ้าคุณมี 0) เข้าสู่กระบวนการสร้างกันเลย!!!

ขั้นตอนที่ 1: รวบรวมอุปกรณ์

รวบรวมเสบียง
รวบรวมเสบียง
รวบรวมเสบียง
รวบรวมเสบียง
รวบรวมเสบียง
รวบรวมเสบียง

เฮ้ หากคุณกำลังมองหาร้านค้าออนไลน์เพื่อซื้อส่วนประกอบ UTSource.net คือไซต์ที่คุณต้องลองดู พวกเขามีโมดูลอิเล็กทรอนิกส์และส่วนประกอบมากมายในราคาที่เหมาะสม พวกเขายังให้บริการ PCB มากถึง 16 ชั้น ตรวจสอบเว็บไซต์ของตน

มาดูโมดูลที่เราต้องการสำหรับโครงการนี้กัน -

1. บอร์ด Arduino Uno

2. 4*4 Matrix Keypad

3. โมดูลการ์ด SD

4. แจ็คเสียง 3.5 มม.

5. ลำโพงที่มีแอมพลิฟายเออร์ในตัวและสาย AUX

6. สายส่วนหัวบางส่วน

ส่วนประกอบเหล่านี้ส่วนใหญ่ถูกใช้ในโครงการก่อนหน้านี้ของเรา

ขั้นตอนที่ 2: แผนภาพวงจร

แผนภูมิวงจรรวม
แผนภูมิวงจรรวม

แผนภาพวงจรสำหรับโครงการนี้เหมือนกับในโครงการ Talking Arduino ทุกประการ ข้อแตกต่างเพียงอย่างเดียวคือปุ่มกด การเชื่อมต่อปุ่มกดค่อนข้างง่าย เพียงเชื่อมต่อแถวปุ่มกดกับหมุดของ Arduino ดังที่แสดงด้านบน

(แผงปุ่มกดที่ฉันใช้ในโปรเจ็กต์นี้ไม่เหมือนกับในวงจรเพราะฉันไม่พบปุ่มที่ถูกต้องในรายการชิ้นส่วนของ Fritzing ดังนั้นอย่าสนใจหมุดตัวแรกและตัวสุดท้ายของแป้นพิมพ์ในวงจร)

เชื่อมต่อช่องสัญญาณเสียงซ้ายและขวาของแจ็คเสียงเข้ากับพินดิจิตอล 10 ของ Arduino และหมุดกราวด์กับกราวด์ของ Arduino

ทำตามแผนภาพเพื่อทำการเชื่อมต่อที่เหลือ

ขั้นตอนที่ 3: การเตรียมไฟล์เสียง

กำลังเตรียมไฟล์เสียง
กำลังเตรียมไฟล์เสียง
กำลังเตรียมไฟล์เสียง
กำลังเตรียมไฟล์เสียง

ตอนนี้ คุณต้องจำไว้ว่าเมื่อใช้โมดูลการ์ด SD และไลบรารี TMRpcm คุณสามารถใช้ได้เฉพาะรูปแบบเสียง.wav เท่านั้น รูปแบบเสียงอื่นจะไม่ทำงาน

ดังนั้นหากต้องการแปลงไฟล์เสียงที่บันทึกไว้หรือไฟล์ที่คุณตั้งใจจะติดตั้งลงในการ์ด SD คุณต้องใช้ตัวแปลงเสียงออนไลน์นี้ >> คลิกที่นี่

เก็บการตั้งค่าสำหรับการแปลงตามที่แสดงในภาพด้านบน

และถ้าคุณต้องการเสียงดิจิทัลเจ๋งๆ ที่เราได้ยินจากระบบจริง ให้ตรวจสอบเว็บไซต์นี้ซึ่งแปลงข้อความที่เขียนเป็นคำพูด จากนั้นเราสามารถดาวน์โหลดได้ในรูปแบบ mp3 ซึ่งสามารถแปลงเป็นรูปแบบ.wav ได้จากเว็บไซต์ที่กล่าวถึงข้างต้น

คลิกที่นี่เพื่อเยี่ยมชมเว็บไซต์

คุณสามารถดาวน์โหลดไฟล์เสียงที่ฉันใช้จากด้านล่าง เมื่อถึงเวลานั้นก็ถึงเวลาตั้งโปรแกรมบอร์ด

ขั้นตอนที่ 4: การเข้ารหัส

การเข้ารหัส
การเข้ารหัส

ดาวน์โหลดไฟล์.ino จากด้านล่าง รวบรวมและอัปโหลดโปรแกรมไปยังบอร์ด Arduino ของคุณ หากคุณประสบปัญหาในการอัปโหลดรหัส โปรดติดต่อฉันหรือแสดงความคิดเห็นด้านล่าง ฉันยินดีที่จะช่วยคุณ

#include #include "SD.h" #define SD_ChipSelectPin 4 #include "TMRpcm.h" #include "SPI.h" TMRpcm tmrpcm; ถ่าน myNum[4]; int ฉัน; ไบต์ 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}; //เชื่อมต่อกับ pinouts แถวของแป้นพิมพ์ไบต์ colPins[COLS] = {9, 8, 7, 6}; // เชื่อมต่อกับ pinouts ของคอลัมน์ของปุ่มกด ปุ่มกด = ปุ่มกด (makeKeymap (คีย์), rowPins, colPins, ROWS, COLS); การตั้งค่าเป็นโมฆะ () { tmrpcm.speakerPin = 10; Serial.begin(9600); ถ้า (!SD.begin(SD_ChipSelectPin)) { Serial.println ("SD ล้มเหลว"); กลับ; } /* tmrpcm.setVolume(5); tmrpcm.play("three.wav"); // ใช้สำหรับการทดสอบ (ไม่รวมอยู่ในรหัสสุดท้าย) ล่าช้า (1000);*/ } void loop () { Serial.println ("ป้อนตัวเลขสามหลัก -"); สำหรับ (i = 0; i < 4; ++i) { ในขณะที่ ((myNum = keypad.getKey())==NO_KEY) { ล่าช้า (1); // แค่รอคีย์ } // รอให้คีย์ถูกปล่อยในขณะที่ (keypad.getKey() != NO_KEY) { ล่าช้า (1); } Serial.print(myNum); } if(myNum[3]=='A') { Serial.println("โทเค็นที่ส่งแล้ว"); tmrpcm.setVolume(5); tmrpcm.play("tokenno.wav"); ล่าช้า (2000); ตรวจสอบ(); } if(myNum[3]=='B') { Serial.println("ไม่ได้ส่งโทเค็น"); ผม=0; } if(myNum[3]=='*') { Serial.println("โต๊ะ Reg"); tmrpcm.setVolume(5); tmrpcm.play("star.wav"); ผม=0; } if(myNum[3]=='#') { Serial.println("ปิด"); tmrpcm.setVolume(5); tmrpcm.play("hash.wav"); ผม=0; } if(myNum[3]=='D') { Serial.println("Sub"); tmrpcm.setVolume(5); tmrpcm.play("D.wav"); ผม=0; } } ตรวจสอบเป็นโมฆะ () { สำหรับ (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("eight.wav"); ล่าช้า (1000); } if (myNum[c]=='9') { tmrpcm.setVolume(5); tmrpcm.play("nine.wav"); ล่าช้า (1000); } } tmrpcm.setVolume(5); tmrpcm.play("star.wav"); }

หากคุณเปลี่ยนชื่อไฟล์เสียง อย่าลืมแก้ไขในโค้ดด้วย เมื่อเสร็จแล้วโครงการของคุณก็พร้อมที่จะทดสอบ เรามาดูกันว่ามันทำงานอย่างไร

ขั้นตอนที่ 5: การทำงานของโครงการ

การทำงานของโครงการ
การทำงานของโครงการ

ฉันได้อัปโหลดวิดีโอของโครงการด้านล่าง คุณสามารถตรวจสอบได้ โครงการทำงานตามความคาดหวังของฉัน ข้อจำกัดเดียวที่ฉันเผชิญคือไม่มีจอแสดงผลแยกต่างหากสำหรับโปรเจ็กต์ เราไม่สามารถเชื่อมต่อแล็ปท็อปได้ตลอดเวลา เป็นอีกกรณีหนึ่งหากคุณทำงานบนแล็ปท็อปทั้งวันและมีพอร์ต USB มากมาย

ฉันอยากให้พวกคุณเพิ่ม LCD (อะไรก็ได้) ในโครงการนี้ และส่งลิงก์ของโครงการนั้นมาให้ฉัน

โปรเจ็กต์นี้สามารถใช้ได้ในสำนักงานของคุณที่แผนกต้อนรับ หากคุณมีคนมาเยี่ยมมากในแต่ละวัน

การเพิ่มพาวเวอร์ซัพพลายและจอแอลซีดีแยกต่างหากจะทำให้โปรเจ็กต์นี้เป็นเอกเทศ ฉันมอบหมายงานนั้นให้กับพวกคุณ

หากคุณชอบงานของฉัน โปรดช่วยฉันด้วยการแชร์โปรเจ็กต์บนโซเชียลมีเดียของคุณ แค่นั้นแหละสำหรับตอนนี้ พบกันใหม่เร็วๆนี้กับอีกโครงการ

แนะนำ: