Სარჩევი:

ჟეტონის გამოცხადების სისტემა: 5 ნაბიჯი
ჟეტონის გამოცხადების სისტემა: 5 ნაბიჯი

ვიდეო: ჟეტონის გამოცხადების სისტემა: 5 ნაბიჯი

ვიდეო: ჟეტონის გამოცხადების სისტემა: 5 ნაბიჯი
ვიდეო: კახი კალაძე დატროლეს 😀🤣🤣 2024, ივლისი
Anonim
ჟეტონის გამოცხადების სისტემა
ჟეტონის გამოცხადების სისტემა

წინა სასწავლო ინსტრუქციაში ჩვენ ვნახეთ, თუ როგორ უნდა აიძულოთ თქვენი Arduino ისაუბროს. დღეს ჩვენ უფრო მეტად შევისწავლით იმავე თემას. ჩვენ ყველას უნდა შევხვდეთ განცხადების სისტემას, შესაძლოა ბანკში ან მატარებლის სადგურზე. ოდესმე გიფიქრიათ იმაზე, თუ როგორ მუშაობს ეს გამოცხადების სისტემები? ისინი მუშაობენ იმავე პრინციპით, როგორც ჩვენი ბოლო პროექტი. ასე რომ, დღეს ამ გაკვეთილში ჩვენ შევქმნით ჟეტონის გამოცხადების სისტემას, რომელსაც შეუძლია გამოაქვეყნოს ნიშნები 1 -დან 999 -მდე, ანუ სულ 999 ჟეტონის (1000 თუ ჩათვლით 0). მოდით გადავიდეთ მშენებლობის პროცესზე !!!

ნაბიჯი 1: შეაგროვეთ მასალები

შეაგროვეთ მასალები
შეაგროვეთ მასალები
შეაგროვეთ მასალები
შეაგროვეთ მასალები
შეაგროვეთ მასალები
შეაგროვეთ მასალები

ჰეი, თუ თქვენ ეძებთ ონლაინ მაღაზიას კომპონენტების შესაძენად, მაშინ UTSource.net არის საიტი, რომელიც უნდა შეამოწმოთ. მათ აქვთ უზარმაზარი ელექტრონული მოდულები და კომპონენტები ხელმისაწვდომ ფასად. ისინი ასევე უზრუნველყოფენ PCB სერვისებს 16 -მდე ფენისთვის. შეამოწმეთ მათი ვებ გვერდი.

მოდით შევხედოთ ამ პროექტისთვის საჭირო მოდულებს -

1. Arduino Uno დაფა

2. 4 * 4 მატრიქსის კლავიატურა

3. SD ბარათის მოდული

4. 3.5 მმ აუდიო ჯეკი

5. სპიკერი ჩაშენებული გამაძლიერებლით და AUX კაბელით

6. ზოგიერთი სათაურის მავთული

ამ კომპონენტების უმეტესობა გამოყენებულია ჩვენს წინა პროექტებში.

ნაბიჯი 2: სქემის დიაგრამა

Წრიული დიაგრამა
Წრიული დიაგრამა

ამ პროექტის წრიული სქემა ზუსტად იგივეა რაც Talking Arduino პროექტში. ერთადერთი განსხვავება არის კლავიატურა. კლავიატურის დაკავშირება საკმაოდ მარტივია. უბრალოდ დააკავშირეთ კლავიატურის სტრიქონები არდუინოს ქინძისთავებთან, როგორც ეს ნაჩვენებია ზემოთ.

(ისინი, რომლებიც მე გამოვიყენე ამ პროექტში, არ არის ისეთივე, როგორც წრეში, რადგან მე ვერ ვიპოვე სწორი ფრიზინგის ნაწილების სიაში. ასე რომ, იგნორირება გაუკეთეთ კლავიატურის პირველ და ბოლო კვანძებს წრეში.)

შეაერთეთ აუდიო ჯეკის მარცხენა და მარჯვენა არხი არდუინოს ციფრულ პინთან 10. და დაფქვილი არდუინოს მიწაზე.

დაიცავით დიაგრამა დანარჩენი კავშირების გასაკეთებლად.

ნაბიჯი 3: აუდიო ფაილების მომზადება

აუდიო ფაილების მომზადება
აუდიო ფაილების მომზადება
აუდიო ფაილების მომზადება
აუდიო ფაილების მომზადება

ახლა თქვენ უნდა გაითვალისწინოთ, რომ SD ბარათის მოდულისა და TMRpcm ბიბლიოთეკის გამოყენებისას შეგიძლიათ გამოიყენოთ მხოლოდ.wav აუდიო ფორმატი. სხვა აუდიო ფორმატი არ იმუშავებს.

ასე რომ, თქვენი ჩაწერილი აუდიო ფაილების ან ფაილების გადასაყვანად, რომელთა დაყენებასაც აპირებთ SD ბარათზე, თქვენ უნდა გამოიყენოთ ეს ონლაინ აუდიო გადამყვანი >> დააწკაპუნეთ აქ

შეინახეთ კონვერტაციის პარამეტრები, როგორც ეს მოცემულია ზემოთ მოცემულ სურათზე.

და თუ გსურთ მაგარი ციფრული ხმები, რომელსაც ჩვენ გვესმის რეალურ სისტემებზე, მაშინ შეამოწმეთ ეს ვებ გვერდი, რომელიც წერილობით ტექსტს მეტყველებად აქცევს. შემდეგ კი შეგვიძლია გადმოვწეროთ mp3 ფორმატში, რომელიც შემდეგ შეიძლება გადავიყვანოთ.wav ფორმატში ზემოთ ნახსენები საიტიდან.

დააწკაპუნეთ აქ, რომ ეწვიოთ საიტს

თქვენ ასევე შეგიძლიათ ჩამოტვირთოთ აუდიო ფაილები, რომლებიც მე გამოვიყენე ქვემოდან. ასე რომ, ამის გაკეთების დროა პროგრამირების დაფა.

ნაბიჯი 4: კოდირება

კოდირება
კოდირება

ჩამოტვირთეთ.ino ფაილი ქვემოდან. შეადგინეთ და ატვირთეთ პროგრამა თქვენს Arduino დაფაზე. თუ კოდის ატვირთვისას რაიმე პრობლემა შეგექმნებათ, მოგერიდებათ დამიკავშირდეთ ან დატოვეთ კომენტარი ქვემოთ. სიამოვნებით დაგეხმარებოდი.

#მოიცავს #მოიცავს "SD.h" #განსაზღვრეთ SD_ChipSelectPin 4 #მოიცავს "TMRpcm.h" #მოიცავს "SPI.h" TMRpcm tmrpcm; char myNum [4]; int i; const byte ROWS = 4; // ოთხი სტრიქონი const byte COLS = 4; // ოთხი სვეტი char ღილაკები [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {A0, A1, A2, A3}; // დაკავშირება კლავიატურის ბაიტი colPins- ის რიგის პინუტებთან [COLS] = {9, 8, 7, 6}; // დაკავშირება კლავიატურის სვეტის პინუტებთან Keypad keypad = კლავიატურა (makeKeymap (გასაღებები), rowPins, colPins, ROWS, COLS); void setup () {tmrpcm.speakerPin = 10; სერიული.დაწყება (9600); თუ (! SD.begin (SD_ChipSelectPin)) {Serial.println ("SD fail"); დაბრუნების; } /* tmrpcm.setVolume (5); tmrpcm.play ("სამი. ტალღა"); // გამოიყენება ტესტირებისთვის (არ შეიყვანოთ საბოლოო კოდში) დაყოვნება (1000);*/} void loop () {Serial.println ("შეიყვანეთ სამნიშნა რიცხვი -"); for (i = 0; i <4; ++ i) {while ((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 ("ჟეტონი არ არის გაგზავნილი"); 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 ("ერთი. ტალღა"); დაგვიანება (1000); } if (myNum [c] == '2') {tmrpcm.setVolume (5); tmrpcm.play ("ორი. ტალღა"); დაგვიანება (1000); } if (myNum [c] == '3') {tmrpcm.setVolume (5); tmrpcm.play ("სამი. ტალღა"); დაგვიანება (1000); } if (myNum [c] == '4') {tmrpcm.setVolume (5); tmrpcm.play ("ოთხი. ტალღა"); დაგვიანება (1000); } if (myNum [c] == '5') {tmrpcm.setVolume (5); tmrpcm.play ("ხუთი. ტალღა"); დაგვიანება (1000); } if (myNum [c] == '6') {tmrpcm.setVolume (5); tmrpcm.play ("six.wav"); დაგვიანება (1000); } if (myNum [c] == '7') {tmrpcm.setVolume (5); tmrpcm.play ("შვიდი. ტალღა"); დაგვიანება (1000); } if (myNum [c] == '8') {tmrpcm.setVolume (5); tmrpcm.play ("რვა. ტალღა"); დაგვიანება (1000); } if (myNum [c] == '9') {tmrpcm.setVolume (5); tmrpcm.play ("ცხრა. ტალღა"); დაგვიანება (1000); }} tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); }

თუ თქვენ შეცვლით აუდიო ფაილების სახელებს, დარწმუნდით, რომ თქვენ ასევე შეცვლით მათ კოდში. ამის შემდეგ თქვენი პროექტი მზად არის გამოცდისთვის. ვნახოთ როგორ მუშაობს.

ნაბიჯი 5: პროექტის მუშაობა

პროექტის მუშაობა
პროექტის მუშაობა

ქვემოთ ატვირთული მაქვს პროექტის ვიდეო. ამის შემოწმება შეგიძლიათ. პროექტმა იმუშავა ჩემი მოლოდინის შესაბამისად. ერთადერთი შეზღუდვა, რომლის წინაშეც აღმოვჩნდი, იყო პროექტის ცალკე ჩვენების არარსებობა. ჩვენ არ შეგვიძლია ლეპტოპის მუდმივი დაკავშირება. სხვა შემთხვევაა, თუ ლეპტოპზე მუშაობთ მთელი დღის განმავლობაში და გაქვთ უამრავი USB პორტი.

ამიტომ მინდა რომ თქვენ ბიჭებმა დაამატოთ LCD (ნებისმიერი გააკეთებს) ამ პროექტში და გამომიგზავნოთ ამ პროექტის ბმული.

ეს პროექტი შეიძლება გამოყენებულ იქნას თქვენს ოფისებში მიმღებში, თუკი ყოველდღიურად გყავთ უამრავი ადამიანი.

ცალკე დენის წყაროს და LCD– ის დამატება გახდის ამ პროექტს ცალკე. ბიჭებო, მე მინდობთ ამ ამოცანას.

თუ მოგწონთ ჩემი ნამუშევარი, დამეხმარეთ ჩემი პროექტების გაზიარებით თქვენს სოციალურ მედიაში. სულ ესაა ჯერჯერობით. მალე შევხვდებით სხვა პროექტთან ერთად.

გირჩევთ: