Мазмуну:

Микроконтроллер негизделген метром: 5 кадам
Микроконтроллер негизделген метром: 5 кадам

Video: Микроконтроллер негизделген метром: 5 кадам

Video: Микроконтроллер негизделген метром: 5 кадам
Video: Стоит БРАТЬ ВСЕМ?? И чем хорош радиоприемник ATS25X1 подробный обзор 2024, Ноябрь
Anonim
Image
Image

Метроном - бул музыканттар ырлардын ыргактарын көзөмөлдөө жана жаңы инструментти үйрөнүп баштагандар арасында убакытты аныктоо үчүн колдонгон убакыт эсептөөчү түзүлүш. Бул музыкада маанилүү ритм сезимин сактоого жардам берет.

Бул жерде курулган бул метром бардын согуу санын жана мүнөтүнө соккуларды коюу үчүн колдонулушу мүмкүн. Бул орнотуу маалыматы киргизилгенден кийин, ал диоддордун жардамы менен тиешелүү жарык менен коштолгон маалыматтарга ылайык сигнал берет. Орнотуу маалыматы LCD экранында көрсөтүлөт.

1 -кадам: Керектүү компоненттер:

·

  • Atmega8A микроконтроллери
  • · 16*2 Lcd дисплей
  • · Piezo Buzzer
  • · Светодиоддор (жашыл, кызыл)
  • · Резисторлор (220e, 330e, 1k, 5.6k)
  • · Баскычтар (2* кулпуга каршы, 1* кулпулоо)
  • · 3V CR2032 монета клеткалык батареясы (*2)
  • Батарейка кармагыч (*2)
  • · 6pin Relimate (поляризацияланган) туташтыргычы

2 -кадам: Районду жасоо

Верондогу сүрөттө көрсөтүлгөндөй, райондук туташууларды жасаңыз жана туташууларды туура ширетиңиз

3 -кадам: Метрономдун өзгөчөлүктөрү

Метрономдун интерфейси негизинен lcd экраны менен ээленет. Анын үстүндө 8А микроконтроллери, LEDлер жана сигнализация оң жакта борборлоштурулган. Үч өчүргүч жана Relimate туташтыргычы үстү жагына жайгаштырылган.

Бүт долбоор эки тыйын батареясы менен гана иштейт (6V 220mAh сериясында), болжолдуу иштөө мөөнөтү 20 күндөн 1 айга чейин (үзгүлтүксүз эмес). Ошентип, ал орточо энергияны үнөмдөөчү жана 3 - 5 мА учурдагы талапка ээ.

Өзүн өзү бекитүүчү которгуч эң сол жакта жайгашкан жана ON/OFF баскычы. Ортодогу баскыч - бул Орнотуу баскычы жана оң жактагы баскыч bpm жана beats (барга) маанилерин өзгөртүү үчүн колдонулат.

КҮЙГҮЗҮҮ/ӨЧҮРҮҮ баскычы басылганда, lcd күйгүзүлөт жана бир тилкедеги уруулардын маанисин көрсөтөт. Колдонуучу 3 секунд күтөт, андан кийин анын мааниси алынган натыйжаны алат. Бул маани 1/4, 2/4, 3/4, 4/4 ортосунда болот.

Андан кийин ал мүнөтүнө соккуларды көрсөтөт (bpm) жана кайра 3 секунд күтөт, андан кийин колдонуучу өзгөчө маанини коет. Бул 3 секунд күтүү убактысы колдонуучу маанини өзгөрткөндөн кийин калибрленет. Bpm мааниси 30дан 240ка чейин өзгөрүшү мүмкүн. Bpm орнотуу учурунда Орнотуу баскычын басуу, анын маанисин 30 bpmге кайтарат, бул баскычты басуу санын азайтууга жардам берет. Bpm мааниси 5ке эселенген.

Орнотуу аяктагандан кийин, батареяны үнөмдөө үчүн, LCD арткы жарык өчөт. Buzzer ар бир согуу үчүн бир жолу сигнал берет жана LED ар бир сокку үчүн кезек -кезеги менен өчөт. Маанилерди өзгөртүү үчүн Орнотуу баскычы басылат. Муну аткаргандан кийин, lcd арткы жарыгы күйөт жана ыргытуу ыкмасы кийинчерээк ошол эле процедурада айтылгандай пайда болот.

Atmega8A микроконтроллери 500 байт EEPROMдан турат, демек, beats жана bpm кандай гана маанилер киргизилбесин, метроном өчүрүлгөндөн кийин дагы сакталат. Демек, аны кайра күйгүзүү, аны мурунку маалыматтар менен улантууга мүмкүнчүлүк берет.

Relimate туташтыргычы чындыгында эки максатта колдонула турган SPI аталышы. Бул анын программасын жаңыртуу жана метрономго жаңы функцияларды кошуу үчүн Atmega8A микроконтроллерин кайра программалоо үчүн колдонулушу мүмкүн. Экинчиден, тышкы электр менен жабдуу метрономду хардкор колдонуучулар үчүн иштетүү үчүн да колдонулушу мүмкүн. Бирок бул электр энергиясы 5,5 вольттон ашпашы керек жана ON/OFF которгучун жокко чыгарат. Коопсуздук максатында, бул алмаштыргыч өчүрүлүшү керек, ошондуктан тышкы жабдык батарейкалар менен кыска болбойт.

4 -кадам: Description

Бул долбоор Arduino IDE аркылуу ISP программисти катары колдонулган Arduino Uno/Mega/Nano аркылуу программаланган Atmel Atmega8A микроконтроллеринин жардамы менен жасалган.

Бул микроконтроллер Atmel Atmega328pдин азыраак өзгөчөлөнгөн версиясы болуп саналат, ал Arduino Unoдо кеңири колдонулат. Atmega8A 1Кб оперативдүү эс тутуму менен 8Кбдан турат. Бул 8 биттик микроконтроллер, 328p менен бир жыштыкта, башкача айтканда 16 МГц.

Бул долбоордо учурдагы керектөө маанилүү аспект болгондуктан, саат жыштыгы төмөндөтүлгөн жана ички 1 МГц осциллятору колдонулат. Бул учурдагы талапты болжол менен 3.5 мА @3.3V жана 5mA @4.5V чейин азайтат.

Arduino IDEде бул микроконтроллерди программалоо мүмкүнчүлүгү жок. Ошентип, Optiboot жүктөгүчүн колдонуу менен ички осциллятору менен 8A иштетүү үчүн "Minicore" пакети (плагин) орнотулган. Бул чыңалуунун жогорулашы менен долбоордун кубаттуулугу жогорулаганы байкалган. Ошентип, кубаттуулукту оптималдуу пайдалануу үчүн, микроконтроллер 1 МГцте иштей турган, болгону 3 м монета батарейкасы болгону 3,5 мА. Бирок ушунчалык төмөн чыңалууда lcd туура иштебей жатканы байкалды. Ошентип, эки монеталуу батарейканы сериялык колдонуу чечими 6Вга чыңалуу үчүн колдонулат. Бирок бул учурдагы керектөө 15 мАга чейин көбөйгөнүн билдирет, бул чоң кемчилик, анткени батареянын иштөө мөөнөтү өтө начарлайт. Ошондой эле ал 8A микроконтроллеринин 5.5V коопсуз чыңалуу чегинен ашып кетти.

Демек, бул көйгөйдөн арылуу үчүн 3V ом резистору 6В электр энергиясы менен катар туташтырылган. Резистор негизинен чыңалуунун төмөндөшүнө алып келет, микроконтроллерди коопсуз иштетүү үчүн 5.5В чыңалуу деңгээлин төмөндөтөт. Кошумча 330 баасы ар кандай факторлорду эске алуу менен тандалып алынган:

  • · Максаты 8Аны энергияны үнөмдөө үчүн мүмкүн болушунча төмөнкү чыңалууда иштетүү болчу.
  • · Микроконтроллер дагы деле иштеп турганына карабай, lcd 3.2Vдан төмөн иштебей калды
  • · Бул 330 мааниси монетанын батареяларын толук колдонуу үчүн чыңалуунун чектен чыкканын так аныктайт.
  • · Монета клеткалары эң жогорку чегине жеткенде, чыңалуу 6,3В тегерегинде болчу, 8А натыйжалуу чыңалуусун 4.6 - 4.7 V (@ 5mA) алат. Батареялар дээрлик куурап калганда, чыңалуу 8А менен 4В тегерегинде болчу жана lcd туура иштөө үчүн жетиштүү чыңалууга ээ, башкача айтканда 3.2V. (@3.5mA)
  • · Батарейкалардын 4v деңгээлинен төмөн, алар эч нерсе иштетүү үчүн эч кандай ширеси калбай натыйжалуу жараксыз болушкан. Резистордогу чыңалуунун төмөндөшү 8А микроконтроллердин жана LCDдин учурдагы керектөөсү батареянын иштөө мөөнөтүн көбөйтүүгө жардам берген чыңалууну азайтуу менен бүт убакыттын ичинде өзгөрөт.

16*2 ЖК Arduino IDEнин LiquidCrystal китепканасынын жардамы менен программаланган. Бул 8A микроконтроллеринин 6 маалымат түйүнүн колдонот. Кошумча катары, анын жарыктыгын жана контрастын контролдоо эки маалымат казыктары аркылуу жүргүзүлгөн. Бул кошумча компонентти, башкача айтканда потенциометрди колдонбоо үчүн жасалды. Анын ордуна, D9 маалымат пининин PWM функциясы экрандын контрастын тууралоо үчүн колдонулган. Ошондой эле lcd арткы жарыгы талап кылынбаган учурда өчүрүлүшү керек болчу, андыктан аны иштетүү үчүн маалымат пинин колдонбостон мүмкүн болмок эмес. Жарыктык диоддогу токту чектөө үчүн 220 омдук резистор колдонулган.

Buzzer жана LED диоддору да 8A маалымат түйүндөрүнө туташкан (ар бири үчүн бирөө). Жашыл үчүн 1к Ом колдонулган, ал эми 5,6 к омдук резистор кызыл LED аркылуу токту чектөө үчүн колдонулган. Резистордун баалуулуктары жарыктык менен учурдагы керектөөнүн ортосундагы таттуу жерди алуу менен тандалып алынган.

КҮЙГҮЗҮҮ/ӨЧҮРҮҮ баскычы маалымат төөнөгүчүнө туташкан эмес жана проектти алмаштыруучу которгуч. Анын терминалдарынын бири 330 омдук резисторго, экинчиси lcd жана 8A Vcc казыктарына туташат. Башка эки баскыч программалык камсыздоо аркылуу чыңалуу үчүн ички тартылган маалымат казыктарына туташтырылган. Бул өчүргүчтөрдүн иштеши үчүн керек.

Кошумча маалымат түйүнү, Орнотуу баскычы туташат, бул аппараттык үзгүлтүктүн пини. Анын үзгүлтүккө учуроо тартиби (ISR) Arduino IDEде жандандырылган. Бул эмнени билдирет, качан колдонуучу орнотуу менюну иштеткиси келсе, 8A метроном катары иштөөнү токтотот жана ISRди иштетет, ал негизинен Орнотуу менюну иштетет. Болбосо, колдонуучу Орнотуу менюсуна кире албайт.

Жогоруда айтылган EEPROM варианты, киргизилген маалыматтар такта өчүрүлгөндөн кийин да сакталып кала тургандыгын текшерет. Жана SPI аталышы 6 пинден турат - Vcc, Gnd, MOSI, MISO, SCK, RST. Бул SPI протоколунун бир бөлүгү жана мурда айтылгандай, ISP программисти жаңы функцияларды же башка нерсени кошуу үчүн 8Aны кайра программалоо үчүн колдонулушу мүмкүн. Vcc пин батареянын оң терминалынан бөлүнүп алынган, демек, Metronome буга чейин айтылган чектөөлөрдү эске алуу менен тышкы электр менен камсыздоону колдонуу мүмкүнчүлүгүн камсыз кылат.

Бүтүндөй долбоор жеке компоненттерди жана тиешелүү схемаларды схемага ылайык ширетүү менен Veroboardда курулган.

Сунушталууда: