Სარჩევი:

მიკროკონტროლერზე დაფუძნებული მეტრონომი: 5 ნაბიჯი
მიკროკონტროლერზე დაფუძნებული მეტრონომი: 5 ნაბიჯი

ვიდეო: მიკროკონტროლერზე დაფუძნებული მეტრონომი: 5 ნაბიჯი

ვიდეო: მიკროკონტროლერზე დაფუძნებული მეტრონომი: 5 ნაბიჯი
ვიდეო: ტემპერატურის მონიტორინგის SCADA სისტემა ქვევრისთვის/SCADA temperature monitoring system for pitcher 2024, ივლისი
Anonim
Image
Image

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

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

ნაბიჯი 1: საჭირო კომპონენტები:

·

  • მიკროკონტროლი Atmega8A
  • · 16*2 LCD ეკრანი
  • · პიეზო ბუზერი
  • · LED- ები (მწვანე, წითელი)
  • · რეზისტორები (220e, 330e, 1k, 5.6k)
  • · ღილაკები (2* დაბლოკვის საწინააღმდეგო, 1* საკეტი)
  • · 3V CR2032 მონეტის უჯრედის ბატარეა (*2)
  • მონეტის ბატარეის მფლობელი (*2)
  • · 6 პინიანი Relimate (პოლარიზებული) კონექტორი

ნაბიჯი 2: წრის შექმნა

გააკეთეთ წრიული კავშირები, როგორც ნაჩვენებია სურათზე veroboard- ზე და შეაერთეთ კავშირები სწორად

ნაბიჯი 3: მეტრონომის მახასიათებლები

მეტრონომის ინტერფეისი ძირითადად დაკავებულია LCD ეკრანით. მის ზემოთ არის 8A მიკროკონტროლერი, რომელიც მოთავსებულია ცენტრალურად LED- ებით და ზუზერით მარჯვნივ. სამი კონცენტრატორი და Relimate კონექტორი მოთავსებულია ზედა ნაწილში.

მთელი პროექტი იკვებება მხოლოდ ორი მონეტის ელემენტის ბატარეით (სერიაში @6V 220mAh), რომლის სავარაუდო ხანგრძლივობაა 20 დღიდან 1 თვემდე (არა უწყვეტად). აქედან გამომდინარე, ის არის ზომიერად ენერგოეფექტური და აქვს ამჟამინდელი მოთხოვნა 3 - 5 mA.

თვითმმართველობის ჩაკეტვის შეცვლა მოთავსებულია უკიდურეს მარცხნივ და არის ON/OFF ღილაკი. ღილაკი შუაში არის Setup ღილაკი და მარჯვნივ ღილაკი გამოიყენება bpm და beats მნიშვნელობების შესაცვლელად (თითო ბარში).

როდესაც ჩართულია/გამორთულია გადამრთველი, lcd ირთვება და აჩვენებს დარტყმის მნიშვნელობას თითო ბარში. ის ელოდება მომხმარებელს 3 წამის განმავლობაში, რომ შეცვალოს მნიშვნელობა, რის შემდეგაც იგი მიიღებს შედეგად მიღებულ მნიშვნელობას. ეს მნიშვნელობა მერყეობს 1/4, 2/4, 3/4, 4/4 შორის.

შემდეგ ის აჩვენებს დარტყმებს წუთში (bpm) და კვლავ ელოდება 3 წამს, სანამ მომხმარებელი შეცვლის მნიშვნელობას, რის შემდეგაც იგი ადგენს კონკრეტულ მნიშვნელობას. ეს ლოდინის დრო 3 წამი დაკალიბრდება მას შემდეგ, რაც მომხმარებელი შეცვლის მნიშვნელობას. Bpm მნიშვნელობები შეიძლება განსხვავდებოდეს 30 -დან 240 -მდე. Bpm- ის დაყენების დროს Setup ღილაკზე დაჭერით აღადგენს მის მნიშვნელობას 30 წუთში, რაც ხელს უწყობს ღილაკზე დაწკაპუნებების რაოდენობის შემცირებას. Bpm მნიშვნელობები არის 5 -ის ჯერადი.

დაყენების დასრულების შემდეგ, LCD განათება გამორთულია ბატარეის დაზოგვის მიზნით. ბუზერი ხმის სიგნალს ერთხელ ყველა დარტყმისთვის და LED- ები ანათებს სათითაოდ მონაცვლეობით თითოეული დარტყმისთვის. მნიშვნელობების შესაცვლელად დააჭირეთ ღილაკს Setup. ამის გაკეთების შემდეგ, LCD შუქნიშანი ირთვება და სცემს მოთხოვნა ჩნდება ზუსტად ისე, როგორც ზემოთ აღინიშნა, იგივე პროცედურის შემდგომ.

მიკროკონტროლი Atmega8A შედგება 500 ბაიტი EEPROM- ისგან, რაც ნიშნავს, რომ რაც არ უნდა იყოს მითითებული დარტყმისა და წთ -ის მაჩვენებელი, ის ინახება მეტრონომის გამორთვის შემდეგაც კი. ამრიგად, მისი ხელახლა ჩართვა განაპირობებს მას იგივე მონაცემებით, რაც ადრე იყო შეყვანილი.

Relimate კონექტორი სინამდვილეში არის SPI სათაური, რომელიც შეიძლება გამოყენებულ იქნას ორი მიზნით. ის შეიძლება გამოყენებულ იქნას Atmega8A მიკროკონტროლერის ხელახალი პროგრამირებისათვის, რათა განახლდეს მისი პროგრამული უზრუნველყოფა და დაამატოთ ახალი ფუნქციები მეტრონომში. მეორეც, გარე კვების წყარო ასევე შეიძლება გამოყენებულ იქნას მეტრონომის გასაძლიერებლად მყარი მომხმარებლებისთვის. მაგრამ ეს კვების წყარო არ უნდა იყოს 5,5 ვოლტზე მეტი და ის გადალახავს ON/OFF გადამრთველს. უსაფრთხოების მიზეზების გამო, ეს გადამრთველი უნდა იყოს გამორთული ისე, რომ გარე მარაგი არ იყოს მოკლე ჩამონტაჟებული ბატარეებით.

ნაბიჯი 4: აღწერა

ეს პროექტი დამზადებულია Atmel Atmega8A მიკროკონტროლის გამოყენებით, რომელიც დაპროგრამებულია Arduino IDE გამოყენებით Arduino Uno/Mega/Nano– ს საშუალებით, რომელიც გამოიყენება როგორც პროვაიდერის პროვაიდერი.

ეს მიკროკონტროლი არის Atmel Atmega328p– ის ნაკლებად გამორჩეული ვერსია, რომელიც ფართოდ გამოიყენება Arduino Uno– ში. Atmega8A მოიცავს 8Kb პროგრამირებად მეხსიერებას 1Kb ოპერატიული მეხსიერებით. ეს არის 8 ბიტიანი მიკროკონტროლერი, რომელიც მუშაობს იმავე სიხშირით, როგორც 328p ანუ 16 MHz.

ამ პროექტში, ვინაიდან მიმდინარე მოხმარება მნიშვნელოვანი ასპექტია, საათის სიხშირე შემცირდა და შიდა 1 Mhz ოსცილატორი გამოიყენება. ეს მნიშვნელოვნად ამცირებს მიმდინარე მოთხოვნას დაახლოებით 3.5 mA @3.3V და 5mA @4.5V.

Arduino IDE– ს არ აქვს ამ მიკროკონტროლერის პროგრამირების საშუალება. აქედან გამომდინარე, დაინსტალირდა "Minicore" პაკეტი (მოდული), რომელიც აწარმოებს 8A- ს თავისი შიდა ოსცილატორით Optiboot ჩამტვირთველის გამოყენებით. შენიშნა, რომ პროექტის სიმძლავრე გაიზარდა ძაბვის მატებასთან ერთად. ამრიგად, ენერგიის ოპტიმალური გამოყენების მიზნით, მიკროკონტროლერი უნდა მუშაობდეს 1 მჰც სიხშირით, ერთი 3 ვ მონეტის ბატარეის სიმძლავრით, რომელიც მხოლოდ 3.5 მილიამპერია. მაგრამ დაფიქსირდა, რომ lcd არ ფუნქციონირებდა სწორად ასეთ დაბალ ძაბვაზე. აქედან გამომდინარე, სერიის ორი მონეტის ბატარეის გამოყენების გადაწყვეტილება იქნა გამოყენებული ძაბვის 6 ვ -მდე დასაწევად. მაგრამ ეს იმას ნიშნავდა, რომ ამჟამინდელი მოხმარება გაიზარდა 15mA– მდე, რაც უზარმაზარი ნაკლი იყო, რადგან ბატარეის ხანგრძლივობა ძალიან ცუდი გახდებოდა. ასევე მან გადააჭარბა უსაფრთხო ძაბვის ლიმიტს 8A მიკროკონტროლერის 5.5V.

ამრიგად, 330 ოჰმეტიანი რეზისტორი სერიულად იყო დაკავშირებული 6V დენის წყაროსთან, ამ პრობლემის მოსაშორებლად. რეზისტორი ძირითადად იწვევს ძაბვის ვარდნას თავისთავად, რათა შეამციროს ძაბვის დონე 5.5V ფარგლებში მიკროკონტროლერის უსაფრთხოდ მუშაობისთვის. დამატებით 330 ღირებულება შეირჩა სხვადასხვა ფაქტორების გათვალისწინებით:

  • · მიზანი იყო 8A- ს გაშვება რაც შეიძლება დაბალ ძაბვაზე ენერგიის დაზოგვის მიზნით.
  • · დაფიქსირდა, რომ LCD– მა შეწყვიტა მუშაობა 3.2 ვ ქვემოთ, თუმცა მიკროკონტროლერი მაინც ფუნქციონირებდა
  • 330 -ის ეს მაჩვენებელი დარწმუნებულია, რომ ძაბვის ვარდნა უკიდურესობებში ზუსტად არის მონეტის ბატარეების სრულად გამოყენების მიზნით.
  • · როდესაც მონეტის უჯრედები იყო პიკზე, ძაბვა იყო დაახლოებით 6.3V, 8A მიიღებდა ეფექტურ ძაბვას 4.6 - 4.7 V (@ 5mA). როდესაც ბატარეები თითქმის ამოიწურა, ძაბვა იყო დაახლოებით 4V 8A– სთან და lcd იღებდა საკმარის ძაბვას, ანუ 3.2V სწორად ფუნქციონირებისთვის. (@3.5mA)
  • · ბატარეების 4 ვ დონის ქვემოთ, ისინი ფაქტობრივად უსარგებლო იყვნენ ყოველგვარი წვენის გარეშე, რაც ძალას იძლეოდა. ძაბვის ვარდნა რეზისტორზე იცვლება მთელი დროის განმავლობაში, ვინაიდან 8A მიკროკონტროლერისა და LCD– ის ამჟამინდელი მოხმარება მცირდება ძაბვის შემცირებით, რაც არსებითად უწყობს ხელს ბატარეის ხანგრძლივობის გაზრდას.

16*2 LCD დაპროგრამებულია Arduino IDE– ს ჩაშენებული LiquidCrystal ბიბლიოთეკის გამოყენებით. იგი იყენებს 8A მიკროკონტროლის მონაცემთა 6 პინს. გარდა ამისა, მისი სიკაშკაშე და კონტრასტი კონტროლდებოდა ორი მონაცემთა ქინძისთავის გამოყენებით. ეს გაკეთდა ისე, რომ არ გამოვიყენოთ დამატებითი კომპონენტი, ანუ პოტენომეტრი. სამაგიეროდ, მონაცემთა pin P9 PWM ფუნქცია გამოიყენებოდა ეკრანის კონტრასტის შესაცვლელად. ასევე LCD შუქნიშანი უნდა იყოს გამორთული, როდესაც ეს არ არის საჭირო, ასე რომ, ეს არ იქნებოდა შესაძლებელი მონაცემების პინის გამოყენების გარეშე. 220 ოჰმეტიანი რეზისტორი გამოიყენებოდა შუქის შუქდიოდური შუქის მიმდინარეობის შეზღუდვის მიზნით.

Buzzer და LED- ები ასევე დაკავშირებული იყო 8A- ს მონაცემთა ქინძისთავებთან (თითო თითოეული). 5.6 კმ ოჰ რეზისტორი გამოიყენებოდა წითელი LED- ზე დინების შესაზღუდავად, ხოლო მწვანე 1 კმ ოჰ. რეზისტორის ღირებულებები არჩეულია სიკაშკაშესა და მიმდინარე მოხმარებას შორის ტკბილი წერტილის მოპოვებით.

ჩართვის/გამორთვის ღილაკი არ არის დაკავშირებული მონაცემთა პინთან და არის უბრალოდ გადამრთველი, რომელიც ცვლის პროექტს. მისი ერთ -ერთი ტერმინალი უკავშირდება 330 ohm რეზისტორს, ხოლო მეორე აკავშირებს LCD და 8A Vcc ქინძისთავებს. ორი სხვა ღილაკი დაკავშირებულია მონაცემთა ქინძისთავებთან, რომლებიც შინაგანად არის გაყვანილი პროგრამული უზრუნველყოფის საშუალებით ძაბვის უზრუნველსაყოფად. ეს აუცილებელია კონცენტრატორების მუშაობისთვის.

დამატებით მონაცემთა pin, Setup ღილაკი უკავშირდება, არის Hardware Interrupt pin. მისი შეწყვეტის სერვისი (ISR) გააქტიურებულია Arduino IDE– ში. ეს ნიშნავს იმას, რომ როდესაც მომხმარებელს სურს კონფიგურაციის მენიუს გაშვება, 8A აჩერებს მეტრონომად მუშაობის ამჟამინდელ მოქმედებას და აწარმოებს ISR- ს, რომელიც ძირითადად ააქტიურებს Setup მენიუს. წინააღმდეგ შემთხვევაში, მომხმარებელი ვერ შეძლებს წვდომას Setup მენიუში.

ადრე ნახსენები EEPROM ვარიანტი დარწმუნებულია, რომ შეყვანილი მონაცემები ინახება დაფის გამორთვის შემდეგაც კი. და SPI სათაური მოიცავს 6 ქინძისთავს - Vcc, Gnd, MOSI, MISO, SCK, RST. ეს არის SPI პროტოკოლის ნაწილი და როგორც უკვე აღვნიშნეთ, ISP პროგრამისტი შეიძლება გამოყენებულ იქნას 8A– ს ხელახლა დასაპროგრამებლად ახალი ფუნქციების ან სხვა რამის დასამატებლად. Vcc პინი იზოლირებულია ბატარეის პოზიტიური ტერმინალიდან და, შესაბამისად, მეტრონომი იძლევა შესაძლებლობას გამოიყენოს გარე კვების წყარო, ზემოთ აღწერილი შეზღუდვების გათვალისწინებით.

მთელი პროექტი აშენდა Veroboard– ში ინდივიდუალური კომპონენტების შედუღებით და შესაბამისი კავშირებით სქემის დიაგრამის მიხედვით.

გირჩევთ: