Аналогно у дигитално претварање је веома важан задатак у уграђеној електроници, јер већина сензора даје излаз као аналогне вредности и да би их уложили у микроконтролер који разуме само бинарне вредности, морамо их претворити у дигиталне вредности. Да би могли да обрађују аналогне податке, микроконтролери требају аналогни у дигитални претварач.
Неки микроконтролери имају уграђени АДЦ као што су Ардуино, МСП430, ПИЦ16Ф877А, али неки микроконтролери га немају као 8051, Распберри Пи итд., А ми морамо да користимо неке спољне аналогне ИЦ-ове за дигитални претварач попут АДЦ0804, АДЦ0808. Испод можете пронаћи разне примере АДЦ-а са различитим микроконтролерима:
- Како се користи АДЦ у Ардуино Уно?
- Водич за АДЦ за Распберри Пи
- Повезивање АДЦ0808 са 8051 микроконтролером
- Дигитални волтметар 0-25В помоћу АВР микроконтролера
- Како се користи АДЦ у СТМ32Ф103Ц8
- Како се користи АДЦ у МСП430Г2
- Како се користи АДЦ у АРМ7 ЛПЦ2148
- Коришћење АДЦ модула ПИЦ микроконтролера са МПЛАБ и КСЦ8
У овом упутству ћемо проверити како повезати ПЦФ8591 АДЦ / ДАЦ модул са Ардуином.
Потребне компоненте
- Ардуино УНО
- АДФ модул ПЦФ8591
- Пот 100К
- Помоћни каблови
ПЦФ8591 АДЦ / ДАЦ модул
ПЦФ8591 је 8-битни аналогно-дигитални или 8-битни дигитално-аналогни претварачки модул, што значи да сваки пин може читати аналогне вредности до 256. Такође има ЛДР и термисторски круг на плочи. Овај модул има четири аналогна улаза и један аналогни излаз. Ради на И 2 Ц комуникацији, тако да постоје СЦЛ и СДА пинови за серијски сат и адресу серијских података. Потребан је напонски напон од 2,5-6В и мала струја у стању приправности. Такође можемо манипулисати улазним напоном подешавањем дугмета потенциометра на модулу. На дасци су и три скакача. Ј4 је повезан за одабир круга за приступ термистору, Ј5 је повезан за избор круга за приступ ЛДР / фото отпорника и Ј6 је повезан да би се изабрао подесиви приступни круг напона. Да бисте приступили овим круговима, морате користити адресе ових краткоспојника: 0к50 за Ј6, 0к60 за Ј5 и 0к70 за Ј4. На плочи Д1 и Д2-Д1 налазе се две ЛЕД диоде, а приказује интензитет излазног напона, а Д2 приказује интензитет напона напајања. Што је већи излазни или напонски напон, већи је интензитет ЛЕД Д1 или Д2. Такође можете да тестирате ове ЛЕД диоде помоћу потенциометра на ВЦЦ или на АОУТ пину.
Повезивање модула АДЦ / ДАЦ ПЦФ8591 са Ардуином
Комплетан програм и радни Видео је дат на крају овог туторијала.
Прво, морамо дефинисати библиотеку за И 2 Ц комуникацију и ЛЦД екран.
#инцлуде
Затим дефинишите неке макронаредбе. Први макро је за дефинисање адресе магистрале података за ИЦ, а други макро је за дефинисање адресе првог улазног пина модула, где је дат улаз из пот-а.
#дефине ПЦФ8591 (0к90 >> 1) #дефине АИн0 0к00
Следеће дефинишите пин везе ЛЦД-а са Ардуином и иницијализујте вредност коју добијамо на аналогном пин-у.
цонст инт рс = 12, ен = 11, д4 = 5, д5 = 4, д6 = 3, д7 = 2; ЛЦД ЛикуидЦристал (рс, ен, д4, д5, д6, д7); инт Вредност = 0;
Сада, идемо на функцију подешавања . Овде смо у првом реду покренули комуникацију И 2 Ц. А у другом реду смо иницијализовали ЛЦД екран на којем исписујемо аналогне вредности. Овде сазнајте више о повезивању ЛЦД-а 16к2 са Ардуином.
воид сетуп () { Вире.бегин (); лцд.бегин (16,2); }
У функцији петље , прва линија треба да започне пренос, односно покреће ПЦФ8591. Други ред говори ИЦ-у да изврши аналогно мерење на првом аналогном улазном пину. Трећа линија завршава пренос, а четврта линија мери податке из аналогног пина.
воид лооп () { Вире.бегинТрансмиссион (ПЦФ8591); Вире.врите (АИн0); Вире.ендТрансмиссион (); Вире.рекуестФром (ПЦФ8591, 1);
У следећем делу ставите вредност очитану са аналогног пина на претходно дефинисану променљиву вредности . И у следећим редовима одштампајте ту вредност на ЛЦД екрану.
Вредност = Вире.реад (); лцд.принт ("Вредност АДЦ ="); лцд.принт (вредност); кашњење (500); лцд.цлеар ();}
Напокон отпремите код у Ардуино и покрените га. Аналогне вредности ће се почети приказивати на ЛЦД дисплеју. Подесите дугме лонца и видећете постепену промену вредности.