Мазмұны:

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

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

Бейне: Микроконтроллерге негізделген метроном: 5 қадам
Бейне: Multi-function DC/AC 5V - 24V Forward Reverse Motor Controller Timer I053A02 2024, Шілде
Anonim
Image
Image

Метроном - бұл музыканттар әндерді тыңдауды бақылау үшін және жаңа аспапты үйреніп жатқан жаңадан бастаушылардың уақыт сезімін дамыту үшін қолданатын уақыт өлшеу құралы. Бұл музыкада маңызды ритм сезімін сақтауға көмектеседі.

Мұнда салынған бұл метромды бір барға және минутына соққылардың санын белгілеуге болады. Бұл орнату деректері енгізілгеннен кейін, ол светодиоды бар тиісті жарықтандырумен бірге берілген деректерге сәйкес сигнал береді. Орнату деректері СКД экранында көрсетіледі.

1 -қадам: Қажетті компоненттер:

·

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

2 -қадам: схеманы құру

Велосипед тақтасындағы суретте көрсетілгендей тізбек қосылыстарын жасаңыз және қосылыстарды дұрыс дәнекерлеңіз

3 -қадам: Метрономаның ерекшеліктері

Метрономның интерфейсі негізінен LCD экранында орналасқан. Оның үстінде 8А микроконтроллері жарық диодты шамдар мен оң жақта орталықта орналасқан. Үш қосқыш пен Relimate қосқышы жоғарғы жағында орналасқан.

Бүкіл жоба екі монеталық батареямен ғана жұмыс істейді (сериялы @6V 220mAh), болжамды жұмыс мерзімі 20 күннен 1 айға дейін (үздіксіз емес). Демек, ол орташа қуатты үнемдейді және ағымдағы қажеттілік 3-5 мА құрайды.

Өздігінен құлыпталатын қосқыш шеткі сол жақта орналасқан және ҚОСУ/ӨШІРУ түймесі болып табылады. Ортадағы түйме - Орнату түймесі, ал оң жақтағы түймешік bpm мен соққылардың мәндерін өзгерту үшін пайдаланылады (әр жолаққа).

ҚОСУ/ӨШІРУ қосқышы басылған кезде, lcd қосылады және бір жолаққа соққылардың мәнін көрсетеді. Ол пайдаланушының мәнді өзгертуін 3 секунд күтеді, содан кейін алынған мәнді кіріс ретінде қабылдайды. Бұл мән 1/4, 2/4, 3/4, 4/4 аралығында болады.

Содан кейін ол минутына соққыларды көрсетеді (bpm) және қайтадан 3 секунд күтеді, содан кейін пайдаланушы мәнді өзгертеді, содан кейін ол арнайы мәнді орнатады. Бұл 3 секунд күту уақыты пайдаланушы мәнді өзгерткеннен кейін калибрленеді. Bpm мәндері 30 -дан 240 -қа дейін өзгеруі мүмкін. Bpm орнату кезінде Setup (Орнату) түймесін басу оның мәнін 30 bpm -ге қалпына келтіреді, бұл түймені басу санын азайтуға көмектеседі. Bpm мәндері 5 еселігі.

Орнату аяқталғаннан кейін, батареяны үнемдеу үшін LCD артқы жарығы сөнеді. Зумер әр соққы үшін бір рет дыбыстық сигнал береді, ал жарық диодты шамдар кезек -кезек жыпылықтайды. Мәндерді өзгерту үшін Орнату түймесі басылады. Мұны істегеннен кейін, LCD артқы жарығы қосылады және жылдамдық дәл сол процедурамен бұрын айтылғандай пайда болады.

Atmega8A микроконтроллері 500 байт EEPROM -дан тұрады, демек, соққы мен bpm мәндері енгізілсе де, метром өшірілгеннен кейін де сақталады. Сондықтан оны қайта қосу оны бұрын енгізілген деректермен жалғастыруға мүмкіндік береді.

Relimate қосқышы - бұл екі мақсатта қолдануға болатын SPI тақырыбы. Оны микробағдарламаны жаңарту және метромаға жаңа мүмкіндіктерді қосу үшін Atmega8A микроконтроллерін қайта бағдарламалау үшін пайдалануға болады. Екіншіден, метрономды хардкор пайдаланушыларға беру үшін сыртқы қуат көзін де пайдалануға болады. Бірақ бұл қуат көзі 5,5 вольттан аспауы керек және ол ҚОСУ/ӨШІРУ қосқышын ауыстырады. Қауіпсіздік мақсатында бұл қосқыш ішкі батареялармен сыртқы қоректену қысқа болмауы үшін өшірілуі керек.

4 -қадам: Сипаттама

Бұл жоба Arduino IDE көмегімен Arduino Uno/Mega/Nano арқылы ISP бағдарламашысы ретінде бағдарламаланған Atmel Atmega8A микроконтроллері арқылы жасалған.

Бұл микроконтроллер Armelino Uno -да кеңінен қолданылатын Atmel Atmega328p нұсқасының кішігірім нұсқасы. Atmega8A құрамында 1 Кб жедел жады бар 8 Кб бағдарламаланатын жады бар. Бұл 328p, яғни 16 МГц жиілікте жұмыс істейтін 8 биттік микроконтроллер.

Бұл жобада ағымдағы тұтыну маңызды аспект болғандықтан, сағат жиілігі қысқартылды және ішкі 1 МГц осцилляторы пайдаланылды. Бұл ағымдағы талапты шамамен 3,5 мА 3,3 В және 5 мА @4,5 В дейін төмендетеді.

Arduino IDE -де бұл микроконтроллерді бағдарламалау мүмкіндігі жоқ. Сондықтан Optiboot жүктеуші көмегімен ішкі осцилляторымен 8А іске қосу үшін «Minicore» пакеті (плагин) орнатылды. Жобаның қуат кернеуі кернеудің жоғарылауымен жоғарылағаны байқалды. Қуатты оңтайлы пайдалану үшін микроконтроллер 1 МГц жиілігінде жұмыс істейді, оның сыйымдылығы 3,5 мА болатын 3В монеталы батарея. Бірақ LCD төмен кернеуде дұрыс жұмыс жасамайтыны байқалды. Осылайша, кернеуді 6 В -қа дейін төмендету үшін екі монеталық батареяны сериялық қолдану шешімі қабылданды. Бірақ бұл ағымдағы тұтыну 15 мА дейін өсті, бұл үлкен кемшілік болды, өйткені батареяның қызмет ету мерзімі өте нашарлайды. Сондай -ақ, ол 8А микроконтроллерінің қауіпсіз кернеу шегі 5,5В асып кетті.

Бұл ақаулықты жою үшін 6В қуат көзіне 330 Ом резисторы қосылды. Резистор негізінен кернеудің төмендеуін тудырады, бұл микроконтроллерді қауіпсіз іске қосу үшін кернеу деңгейін 5,5 В шегінде төмендетеді. Қосымша 330 мәні әр түрлі факторларды ескере отырып таңдалды:

  • · Мақсаты - 8А мүмкіндігінше төмен кернеуде, қуатты үнемдеу үшін.
  • · Микроконтроллер әлі де жұмыс істеп тұрса да, lcd 3.2В төмен жұмыс істемей қалды
  • · Бұл 330 мәні монеталық батареяларды толық пайдалану үшін кернеудің төмендеуінің дәлдігіне көз жеткізеді.
  • · Монета ұяшықтары шыңында болғанда, кернеу 6,3 В шамасында болды, ал 8А 4,6 - 4,7 В (@ 5mA) тиімді кернеуді алады. Батареялар құрғаған кезде, кернеу 8А -мен 4В шамасында болды, ал LCD дұрыс жұмыс істеу үшін жеткілікті кернеуді, яғни 3,2В алады. (@3.5mA)
  • · Батареялардың 4В деңгейінен төмен, олар ешнәрсеге қуат бермейтін шырынсыз тиімді түрде жарамсыз болды. Резистордағы кернеудің төмендеуі барлық уақытта өзгереді, өйткені 8А микроконтроллерінің және LCD дисплейінің ағымдағы шығыны аккумулятордың қызмет ету мерзімін ұзартуға көмектесетін кернеудің төмендеуімен азаяды.

16*2 СКД Arduino IDE кіріктірілген LiquidCrystal кітапханасының көмегімен бағдарламаланған. Ол 8А микроконтроллерінің 6 деректер түйреуішін пайдаланады. Сонымен қатар, оның жарықтығы мен контрастын бақылау екі деректер түйрегішінің көмегімен жүзеге асырылды. Бұл қосымша компонентті, яғни потенциометрді пайдаланбау үшін жасалды. Оның орнына, D9 деректер түйреуішінің PWM функциясы экран контрастын реттеу үшін пайдаланылды. Сондай -ақ, қажет емес кезде LCD артқы жарығы өшірілуі керек еді, сондықтан оны қосу үшін деректер түйреуішінсіз мүмкін болмас еді. Жарықдиодты жарықдиодты токпен шектеу үшін 220 Ом резисторы қолданылды.

Дыбыстық сигнал және жарық диоды 8А деректер түйреуіштеріне де қосылды (әрқайсысы үшін бір). Қызыл жарық диодтағы токты шектеу үшін 5,6 кОм резистор қолданылды, ал жасыл үшін - 1к Ом. Резистор мәндері жарықтық пен ток тұтыну арасындағы тәтті нүктені алу арқылы таңдалды.

ҚОСУ/ӨШІРУ түймесі деректер түйреуішіне қосылмаған және жобаны ауыстыратын қосқыш болып табылады. Оның бір терминалы 330 Ом резисторға қосылады, ал екіншісі - lcd және 8A Vcc түйреуіштеріне қосылады. Басқа екі түйме бағдарламалық қамтамасыз ету арқылы кернеуді беру үшін ішке тартылған деректер түйреуіштеріне қосылған. Бұл қосқыштардың жұмысы үшін қажет.

Қосымша деректер түйрегіші, «Орнату» түймесі қосылады, бұл аппараттық үзіліс түйреуіші. Оның үзіліспен қызмет көрсету тәртібі (ISR) Arduino IDE -де іске қосылады. Бұл нені білдіреді, егер пайдаланушы орнату мәзірін іске қосқысы келсе, 8A метроном ретінде жұмыс істеуді тоқтатады және ISR іске қосады, ол негізінен Орнату мәзірін іске қосады. Әйтпесе, пайдаланушы Setup мәзіріне кіре алмайды.

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

Бүкіл жоба жеке компоненттер мен дәнекерлеу схемасына сәйкес сәйкес қосылыстарды дәнекерлеу арқылы Veroboard тақтасында жасалған.

Ұсынылған: