Mündəricat:

Mikro nəzarətçi əsaslı Metronom: 5 addım
Mikro nəzarətçi əsaslı Metronom: 5 addım

Video: Mikro nəzarətçi əsaslı Metronom: 5 addım

Video: Mikro nəzarətçi əsaslı Metronom: 5 addım
Video: Yanmış mikro SD kartdan Məlumatların bərpası prosesi 2024, Iyul
Anonim
Image
Image

Metronom, musiqiçilər tərəfindən mahnıların ritmlərini izləmək və yeni bir alət öyrənən yeni başlayanlar arasında zaman hissini inkişaf etdirmək üçün istifadə olunan bir zamanlama cihazıdır. Musiqidə çox vacib olan ritm hissini qorumağa kömək edir.

Burada qurulan bu metronom, bar başına və dəqiqədə vuruş sayını təyin etmək üçün istifadə edilə bilər. Bu quraşdırma məlumatları daxil edildikdən sonra, LED -lərdən istifadə edərək müvafiq işıqlandırma ilə müşayiət olunan məlumatlara görə səs siqnalı verir. Quraşdırma məlumatları LCD ekranda göstərilir.

Addım 1: Lazım olan komponentlər:

·

  • Atmega8A mikro nəzarətçi
  • · 16*2 Lcd Ekran
  • · Piezo Buzzer
  • · LEDlər (yaşıl, qırmızı)
  • · Rezistorlar (220e, 330e, 1k, 5.6k)
  • · Düymələr (2* kilid əleyhinə, 1* kilidləmə)
  • · 3V CR2032 Sikkə Hüceyrə Batareyası (*2)
  • Sikkə Batareya Tutacağı (*2)
  • · 6pin Relimate (qütblü) Bağlayıcı

Addım 2: Dövrə qurun

Bir veroboarddakı şəkildə göstərildiyi kimi dövrə bağlantılarını düzəldin və əlaqələri düzgün bir şəkildə lehimləyin

Addım 3: Metronomun xüsusiyyətləri

Metronomun interfeysi əsasən lcd ekranıdır. Yuxarıda, LEDlər və sağdakı səs siqnalı ilə mərkəzləşdirilmiş şəkildə yerləşdirilmiş 8A mikrokontrollerdir. Üç açar və Relimate konnektoru yuxarıda yerləşdirilmişdir.

Bütün layihə, 20 gündən 1 aya qədər (davamlı deyil) təxmin edilən işləmə müddəti ilə yalnız (6V 220mAh seriyalı) iki ədəd sikkə batareyası ilə işləyir. Buna görə orta dərəcədə qənaətlidir və 3-5 mA cari tələbə malikdir.

Özünü kilidləmə açarı ən sol tərəfdə yerləşir və ON/OFF düyməsidir. Ortadakı düymə Quraşdırma düyməsidir və sağdakı düymə bpm və vuruşların (bar başına) dəyərlərini dəyişdirmək üçün istifadə olunur.

ON/OFF düyməsinə basıldıqda, lcd açılır və bar başına vuruşların dəyərini göstərir. İstifadəçinin dəyəri dəyişdirməsi üçün 3 saniyə gözlədikdən sonra nəticədə əldə edilən dəyəri daxil edir. Bu dəyər 1/4, 2/4, 3/4, 4/4 arasında dəyişir.

Sonra dəqiqədə vuruşları (bpm) göstərir və istifadəçinin müəyyən bir dəyəri təyin etdikdən sonra yenidən 3 saniyə gözləməsini gözləyir. İstifadəçi bir dəyəri dəyişdirdikdən sonra bu 3 saniyəlik gözləmə müddəti kalibr edilir. Bpm dəyərləri 30 ilə 240 arasında dəyişə bilər. Bpm qurulması zamanı Setup düyməsinə basmaq onun dəyərini 30 bpm -ə qaytarır ki, bu da düymə kliklərinin miqdarını azaltmağa kömək edir. Bpm dəyərləri 5 -in çarpanlarıdır.

Quraşdırma başa çatdıqdan sonra, batareyanın qənaət edilməsi üçün LCD arxa işığı sönür. Siqnal hər vuruş üçün bir dəfə səslənir və hər vuruş üçün LEDlər bir -bir yanıb -sönür. Dəyərləri dəyişdirmək üçün Quraşdırma düyməsinə basılır. Bunu etdikdən sonra, lcd arxa işığı açılır və sonra eyni prosedurla əvvəl qeyd edildiyi kimi vuruş istəyi görünür.

Atmega8A mikrodenetleyicisi 500 bayt EEPROM -dan ibarətdir, o deməkdir ki, vuruş və bpm dəyərləri nə olursa olsun, metronom söndürüldükdən sonra da saxlanılır. Yenidən açmaq, əvvəllər daxil edilmiş eyni məlumatlarla davam etməsini təmin edir.

Relimate konnektoru əslində iki məqsəd üçün istifadə edilə bilən bir SPI başlığıdır. Firmware proqramını yeniləmək və metronoma yeni xüsusiyyətlər əlavə etmək üçün Atmega8A mikrokontrolörünü yenidən proqramlaşdırmaq üçün istifadə edilə bilər. İkincisi, hardcore istifadəçiləri üçün metronomu gücləndirmək üçün xarici bir enerji təchizatı da istifadə edilə bilər. Ancaq bu enerji təchizatı 5.5 voltdan çox olmamalıdır və ON/OFF düyməsini aşır. Təhlükəsizlik səbəbiylə bu açar söndürülməlidir, belə ki, xarici təchizat daxili batareyalarla qısalmasın.

Addım 4: Təsvir

Bu layihə, ISP Proqramçısı olaraq istifadə edilən Arduino Uno/Mega/Nano vasitəsi ilə Arduino IDE istifadə edərək proqramlaşdırılan Atmel Atmega8A mikrokontrolöründən istifadə etməklə hazırlanmışdır.

Bu mikro nəzarətçi, Arduino Uno -da geniş istifadə olunan Atmel Atmega328p -in daha az xüsusiyyətli bir versiyasıdır. Atmega8A, 1Kb RAM ilə 8Kb proqramlaşdırıla bilən yaddaşdan ibarətdir. 328p yəni 16Mhz ilə eyni tezlikdə işləyən 8 bitlik bir mikro nəzarətçidir.

Bu layihədə cari istehlak əhəmiyyətli bir aspekt olduğu üçün saat tezliyi azaldıldı və daxili 1 Mhz osilatör istifadə edildi. Bu, mövcud tələbatı təxminən 3.5 mA -da 3.3V və 5mA -da 4.5V -ə qədər azaldır.

Arduino IDE -də bu mikro nəzarətçini proqramlaşdırmaq imkanı yoxdur. Beləliklə, Optiboot bootloader istifadə edərək daxili osilatoru ilə 8A -nı işə salmaq üçün "Minicore" paketi (plugin) quraşdırıldı. Layihənin enerji tələbatının artan gərginliklə artdığı müşahidə edildi. Optimal enerji istifadəsi üçün, mikro nəzarətçi 1 MHz -də yalnız 3,5 mA çəkən bir 3V sikkə batareyası ilə işə salındı. Ancaq LCD -nin belə aşağı gərginlikdə düzgün işləmədiyi müşahidə edildi. Beləliklə, gərginliyi 6V -a qaldırmaq üçün iki sikkə batareyasının ardıcıl istifadəsi qərarı verildi. Ancaq bu, cari istehlakın 15 mA -ya qədər artması deməkdir ki, bu da batareyanın ömrünün çox pis olacağı üçün böyük bir çatışmazlıq idi. Həmçinin 8A mikrokontrolörünün 5.5V təhlükəsiz gərginlik həddini keçdi.

Bu problemdən xilas olmaq üçün 6V enerji təchizatı ilə 330 ohm rezistor seriyaya qoşuldu. Rezistor əsasən mikrokontrolörün təhlükəsiz işləməsi üçün 5.5V daxilində gərginlik səviyyəsinin aşağı düşməsinə səbəb olur. Əlavə olaraq 330 dəyəri müxtəlif amillər nəzərə alınmaqla seçildi:

  • · Məqsəd, enerjiyə qənaət etmək üçün 8A -nı mümkün qədər aşağı bir gərginliklə işlətmək idi.
  • · Mikrokontrolör hələ də işləsə də, lcd -in 3.2V -dən aşağı işini dayandırdığı müşahidə edildi
  • · Bu 330 dəyəri, pul batareyalarından tam istifadə etmək üçün həddindən artıq gərginlik düşməsinin tam dəqiq olmasını təmin edir.
  • · Sikkə hüceyrələri pik nöqtəsinə çatdıqda, gərginlik 6.3V civarındaydı, 8A isə 4.6 - 4.7 V (@ 5mA) təsirli bir gərginlik aldı. Batareyalar demək olar ki, qurudulduqda, 8A ilə gərginlik təxminən 4V idi və LCD düzgün işləməsi üçün kifayət qədər gərginlik, yəni 3.2V alırdı. (@3.5mA)
  • · Batareyaların 4v səviyyəsindən aşağı, heç bir suyu gücləndirmək üçün heç bir suyu qalmamış, səmərəsiz olaraq yararsız idi. Rezistordakı gərginlik düşməsi, 8A mikrokontrolörünün və LCD -nin cari istehlakı, batareyanın ömrünü uzatmağa kömək edən gərginliyi azaltmaqla azaldığından bütün müddət ərzində dəyişir.

16*2 LCD, Arduino IDE -nin LiquidCrystal kitabxanasından istifadə edərək proqramlaşdırılmışdır. 8A mikrokontrolörünün 6 məlumat pinindən istifadə edir. Əlavə olaraq, parlaqlığı və kontrastı iki məlumat pinindən istifadə etməklə idarə olunurdu. Bu əlavə bir komponentdən, yəni potansiyometrdən istifadə etməmək üçün edildi. Bunun əvəzinə, ekranın kontrastını tənzimləmək üçün D9 məlumat pininin PWM funksiyasından istifadə edildi. Həmçinin LCD arxa işığın lazım olmadıqda söndürülməsi lazım idi, buna görə də onu gücləndirmək üçün məlumat pinindən istifadə etmədən bu mümkün olmazdı. Arxa işıq LED -də cərəyanı məhdudlaşdırmaq üçün 220 ohm rezistor istifadə edilmişdir.

Buzzer və LEDlər də 8A -nın məlumat pinlərinə qoşuldu (hər biri üçün bir ədəd). Qırmızı LED üzərindəki cərəyanı məhdudlaşdırmaq üçün 5.6 k ohm rezistor, yaşıl isə 1k ohm istifadə edilmişdir. Rezistor dəyərləri parlaqlıq və cari istehlak arasında şirin bir yer əldə edərək seçilmişdir.

ON/OFF düyməsi bir məlumat pininə bağlı deyil və sadəcə layihəni dəyişdirən bir açardır. Terminallarından biri 330 ohm rezistora, digəri isə lcd və 8A -nın Vcc pinlərinə qoşulur. Digər iki düymə, proqram vasitəsi ilə gərginliyi təmin etmək üçün içəriyə çəkilən məlumat pinlərinə bağlıdır. Bu açarların işləməsi üçün lazımdır.

Əlavə olaraq, Quraşdırma düyməsini bağladığı məlumat pinləri, Hardware Interrupt pinidir. Arduino IDE -də onun fasilə xidmət qaydası (ISR) aktivləşdirilir. Bunun mənası odur ki, istifadəçi nə vaxt quraşdırma menyusunu işə salmaq istəsə, 8A indiki işini bir metronom olaraq dayandırır və əsasən Quraşdırma menyusunu aktivləşdirən ISR -ni işə salır. Əks halda istifadəçi Quraşdırma menyusuna daxil ola bilməyəcək.

Daha əvvəl qeyd olunan EEPROM seçimi, daxil edilmiş məlumatların lövhə söndürüldükdən sonra da saxlanıldığını təmin edir. Və SPI başlığı 6 pindən ibarətdir - Vcc, Gnd, MOSI, MISO, SCK, RST. Bu SPI protokolunun bir hissəsidir və daha əvvəl də qeyd edildiyi kimi, bir ISP proqramçısı, yeni xüsusiyyətlər və ya başqa bir şey əlavə etmək üçün 8A -nı yenidən proqramlaşdırmaq üçün istifadə edilə bilər. Vcc pin, batareyanın müsbət terminalından təcrid olunmuşdur və buna görə də Metronome, yuxarıda göstərilən məhdudiyyətləri nəzərə alaraq xarici bir enerji təchizatı istifadə etmək imkanı verir.

Bütün layihə fərdi komponentləri və müvafiq sxemləri sxem sxeminə uyğun olaraq lehimləməklə Veroboard -da qurulmuşdur.

Tövsiyə: