Мазмуну:
- 1 -кадам: Керектүү компоненттер:
- 2 -кадам: Районду жасоо
- 3 -кадам: Метрономдун өзгөчөлүктөрү
- 4 -кадам: Description
Video: Микроконтроллер негизделген метром: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Метроном - бул музыканттар ырлардын ыргактарын көзөмөлдөө жана жаңы инструментти үйрөнүп баштагандар арасында убакытты аныктоо үчүн колдонгон убакыт эсептөөчү түзүлүш. Бул музыкада маанилүү ритм сезимин сактоого жардам берет.
Бул жерде курулган бул метром бардын согуу санын жана мүнөтүнө соккуларды коюу үчүн колдонулушу мүмкүн. Бул орнотуу маалыматы киргизилгенден кийин, ал диоддордун жардамы менен тиешелүү жарык менен коштолгон маалыматтарга ылайык сигнал берет. Орнотуу маалыматы 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да курулган.
Сунушталууда:
Ардуино же микроконтроллер жок DIY Байланышсыз Кол Дезинфекциялоочу Диспенсер: 17 кадам (Сүрөттөр менен)
Ардуино же микроконтролсуз DIY байланышсыз кол тазалоочу дистрибьютору: Баарыбыз билгендей, COVID-19 тутанышы дүйнөнү каптап, жашоо образыбызды өзгөрттү. Бул шартта, спирт жана кол дезинфекциялоочу каражаттар өтө маанилүү суюктуктар, бирок аларды туура колдонуу керек. Колу жуккан спирт идиштерине же дезинфекциялоочу каражаттарга тийүү
Микроконтроллер менен өзүңүздүн өнүктүрүү тактаңызды түзүңүз: 3 кадам (сүрөттөр менен)
Микроконтроллердин жардамы менен өзүңүздүн өнүктүрүү тактаңызды түзүңүз: Сиз качандыр бир убакта микроконтроллер менен өзүңүздүн өнүгүү тактаңызды түзүүнү кааладыңыз беле жана кантип жасоону билбейсиз. Бул нускамада мен аны кантип жасоону көрсөтөм. жана программалоо. Эгер кандайдыр бир тапшырмаңыз болсо
Ардуиного негизделген байланышсыз инфракызыл термометр - IR негизделген термометр Arduino колдонуу: 4 кадам
Ардуиного негизделген байланышсыз инфракызыл термометр | IR негизделген термометр Arduino колдонуу: Салам балдар бул көрсөтмөлөрдө биз ардуинону колдонобуз. ошол сахнада температура
Аба ырайына негизделген музыка генератору (ESP8266 негизделген Midi генератору): 4 кадам (сүрөттөр менен)
Аба ырайына негизделген музыка генератору (ESP8266 негизделген Midi генератору): Саламатсызбы, мен бүгүн өзүңүздүн кичинекей аба ырайына негизделген музыкалык генераторду кантип жасоону түшүндүрүп берем. жана жарыктын интенсивдүүлүгү. Бул бүтүндөй ырларды же аккорд программасын түзөт деп күтпөңүз
MATLAB башкарылуучу микроконтроллер (Arduino MKR1000): 4 кадам
MATLAB Башкарылган Микроконтроллер (Arduino MKR1000): Биздин долбоордун максаты MATLAB жана Arduino MKR1000ди колдон келишинче колдонуу болгон. Биздин максатыбыз ардуинонун айрым өзгөчөлүктөрүнө белгилүү бир киргизүүнүн негизинде белгилүү бир өндүрүштү аткарууга мүмкүндүк берген сценарий түзүү болчу. Биз көп колдонгон