- Компоненте потребне
- МЦП4725 ДАЦ модул (дигитално-аналогни претварач)
- И2Ц пинови у Распберри Пи
- Инсталирање библиотеке МЦП4725 Адафруит у Распберри Пи
- Инсталирање библиотеке ЛЦД екрана Адафруит
- Кружни дијаграм и везе
- Програмирање Распберри Пи за дигиталну у аналогну конверзију
Микроконтролери раде само са дигиталним вредностима, али у стварном свету морамо да се бавимо аналогним сигналима. Због тога постоји АДЦ (аналогни у дигитални претварач) који претвара аналогне вредности из стварног света у дигитални облик како би микроконтролери могли да обрађују сигнале. Али шта ако су нам потребни аналогни сигнали из дигиталних вредности, па ево ДАЦ-а (Дигитал то Аналог Цонвертер).
ДАЦ се може користити у многим апликацијама као што су управљање мотором, контрола осветљености ЛЕД светла, аудио појачало, видео енкодери, системи за прикупљање података итд.
Већ смо повезали МЦП4725 ДАЦ модул са Ардуином и СТМ32. Данас ћемо користити исти МЦП4725 ДАЦ ИЦ за дизајн дигитално-аналогног претварача помоћу Распберри Пи. Претпоставља се да сте већ инсталирали најновији ОС на Распберри ПИ и имате му приступ путем ССХ-а. Ако није, следите Водич за почетак рада са Распберри Пи пре него што наставите. Овде користимо Расбиан Стретцх инсталиран на Распберри Пи 3.
Компоненте потребне
- Распберри Пи 3 Б + (са инсталираним Распбиан ОС)
- МЦП4725 ДАЦ ИЦ
- ЛЦД екран од 16к2
- Бреадбоард
- Повезивање жица
МЦП4725 ДАЦ модул (дигитално-аналогни претварач)
МЦП4725 ИЦ је 12-битни модул дигитално-аналогног претварача који се користи за генерисање излазних аналогних напона од (0 до 5В) и њиме се управља помоћу И2Ц комуникације. Такође долази са уграђеном трајном меморијом ЕЕПРОМ.
Ова ИЦ има 12-битну резолуцију. То значи да користимо (0 до 4096) као улаз за обезбеђивање излазног напона у односу на референтни напон. Максимални референтни напон је 5В.
Формула за израчунавање излазног напона
О / П напон = (референтни напон / резолуција) к дигитална вредност
На пример, ако користимо 5В као референтни напон и претпоставимо да је дигитална вредност 2048. Дакле, за израчунавање ДАЦ излаза.
Напон О / П = (5/4096) к 2048 = 2,5В
Пиноут за МЦП4725
Испод је слика МЦП4725 са јасно назначеним именима пинова.
Клинови МЦП4725 |
Користите |
ОУТ |
Излази аналогни напон |
ГНД |
ГНД за излаз |
СЦЛ |
И2Ц линија серијског сата |
СДА |
Линија серијских података И2Ц |
ВЦЦ |
Улазни референтни напон 5В или 3.3В |
ГНД |
ГНД за унос |
Овим ИЦ-ом се може управљати помоћу И2Ц комуникације која захтева само две жице СЦЛ и СДА. Подразумевано је И2Ц адреса за МЦП4725 0к60. Сада знамо за И2Ц комуникацију у Распберри пи.
И2Ц пинови у Распберри Пи
Да бисте користили МЦП4725 са Распберри Пи, прво што треба урадити је знати пинове порта Распберри Пи И2Ц и конфигурисати И2Ц порт у Распберри пи.
Испод је Пин дијаграм модела Распберри Пи 3 Модел Б +, а И2Ц пинови ГПИО2 (СДА) и ГПИО3 (СЦЛ) користе се у овом упутству.
Конфигурисање И2Ц у Распберри Пи
Подразумевано је И2Ц онемогућен у Распберри Пи. Дакле, прво мора бити омогућено. Да бисте омогућили И2Ц у Распберри Пи
1. Идите на терминал и откуцајте судо распи-цонфиг.
2. Сада се појављује алат за конфигурацију софтвера Распберри Пи.
3. Изаберите Опције повезивања, а затим омогућите И2Ц.
4. Након омогућавања И2Ц, поново покрените Пи.
Скенирање И2Ц адресе МЦП4725 помоћу Распберри Пи
Сада да би започела комуникацију са МЦП4725 ИЦ, Распберри Пи мора знати своју И2Ц адресу. Да бисте пронашли адресу, прво повежите СДА и СЦЛ пин МЦП4725 са СДА и СЦЛ пином Распберри Пи. Такође прикључите пинове + 5В и ГНД.
Сада отворите терминал и унесите наредбу испод како бисте знали адресу повезаног И2Ц уређаја, судо и2цдетецт –и 1 или судо и2цдетецт –и 0
Након проналаска И2Ц адресе сада је време да инсталирате потребне библиотеке за употребу МЦП4725 са Распберри Пи.
Инсталирање библиотеке МЦП4725 Адафруит у Распберри Пи
Да би се користила МЦП4725 ДАЦ плоча са И2Ц сабирницом Распберри Пи, користи се библиотека Адафруит МЦП4725. Да бисте преузели и инсталирали библиотеку, следите ове кораке:
1. Уверите се да је Распберри Пи повезан са активним Интернетом.
2. Затим отворите терминал и покрените следеће редове један по један.
судо апт-гет инсталл гит буилд-битно питхон-дев гит клон хттпс://гитхуб.цом/адафруит/Адафруит_Питхон_МЦП4725.гит цд Адафруит_Питхон_МЦП4725 судо питхон сетуп.пи инсталл
3. Након успешне инсталације, сада се библиотека Адафруит МЦП4725 може увести у било коју скрипту питхон помоћу линије
Увези Адафруит_МЦП4725
Инсталирање библиотеке ЛЦД екрана Адафруит
ЛЦД се у овом пројекту користи за приказ вредности ДАЦ-а и аналогног напона, тако да за преузимање и инсталирање ЛЦД библиотеке у Распберри Пи следите ове кораке:
1. Отворите прозор терминала и покрените следеће редове један по један.
апт-гет инсталл гит гит цлоне хттпс://гитхуб.цом/адафруит/Адафруит_Питхон_ЦхарЛЦД.гит цд Адафруит_Питхон_ЦхарЛЦД судо питхон сетуп.пи инсталл
2. Након инсталације ЛЦД библиотеке, Адафруит_питхон_ЦхарЛЦД се може користити из било ког питхон скрипта коришћењем следећег реда
увези Адафруит_ЦхарЛЦД као ЛЦД
Сада је Распберри Пи спреман за кодирање дигиталног у аналогни претварач, па спојимо склоп као што је приказано на доњој слици.
Кружни дијаграм и везе
Дијаграм кола за употребу ДАЦ ИЦ МЦП4725 са Распберри Пи дат је у наставку:
Кружне везе између (16к2) ЛЦД-а и Распберри Пи-а
ЛЦД |
Распберри Пи 3 Б + |
ВСС |
ГНД |
ВДД |
+ 5В |
В0 |
Из потенциометра за контролу контраста |
РС |
ГПИО25 |
РВ |
ГНД |
Е. |
ГПИО24 |
Д4 |
ГПИО23 |
Д5 |
ГПИО17 |
Д6 |
ГПИО18 |
Д7 |
ГПИО22 |
А. |
+ 5В |
К. |
ГНД |
Кружне везе између МЦП4725 и Распберри Пи
МЦП4725 |
Распберри Пи 3 Б + |
Мултиметар |
ГНД |
ГНД |
Негативна сонда |
ВЦЦ |
+ 5В |
- |
СДА |
ГПИО2 (СДА) |
- |
СЦЛ |
ГПИО3 (СЦЛ) |
- |
ОУТ |
- |
Позитивна сонда |
Комплетна поставка ће изгледати овако:
Програмирање Распберри Пи за дигиталну у аналогну конверзију
Комплетни Питхон код за Распберри Пи дат је на крају овог водича. Само га отпремите у Распберри Пи користећи било који ССХ клијент попут Путти-а или било који ФТП клијент попут ФилеЗилле или можете директно написати програм у Распберри Пи тако што ћете на њега повезати монитор. Сазнајте више о програмирању малине Пи овде.
У овом програму дигитална вредност 0-4096 шаље се са Распберри Пи на МЦП4725 преко И2Ц магистрале да би се произвео аналогни излазни напон од 0 до 5В који се може верификовати помоћу мултиметра. И дигиталне и аналогне вредности приказују се на ЛЦД екрану 16к2. У нашем програму дигитална вредност се шаље са кораком од 150 помоћу фор петље (0,150,300,450… 4050). Погледајмо програм детаљно.
Прво укључите све потребне библиотеке. Овде се користе ЛЦД, МЦП4725 и временска библиотека.
увоз Адафруит_ЦхарЛЦД као ЛЦД увоз Адафруит_МЦП4725 време увоза
Даље дефинишите пинове ЛЦД-а заједно са бр. реда и колона. Знамо да ЛЦД 16Кс2 има 2 реда и 16 колона. Овде сазнајте више о повезивању ЛЦД-а са Распберри Пи.
лцд_рс = 25 лцд_ен = 24 лцд_д4 = 23 лцд_д5 = 17 лцд_д6 = 18 лцд_д7 = 22 лцд_бацклигхт = 4 # Дефинишите величину ЛЦД колоне и реда за ЛЦД 16к2 . лцд_цолумнс = 16 лцд_ровс = 2 лцд = ЛЦД.Адафруит_ЦхарЛЦД (лцд_рс, лцд_ен, лцд_д4, лцд_д5, лцд_д6, лцд_д7, лцд_цолумнс, лцд_ровс, лцд_бацклигхт)
Следећих 5 секунди на ЛЦД-у прикажите неку поздравну поруку.
лцд.мессаге ('Цирцуит Дигест') тиме.слееп (2.0) лцд.мессаге ('\ нДАЦ помоћу Рпи') тиме.слееп (5.0) лцд.цлеар ()
У следећем реду креира се ДАЦ инстанца са И2Ц адресом МЦП4725 ДАЦ ИЦ. Моја табла има адресу 0к60, промените је према својој табли.
дац = Адафруит_МЦП4725.МЦП4725 (адреса = 0к60)
Поред имена за петље се користи унутра док петље да промени вредност к дигиталних који се шаљу на МЦП4725 преко И2Ц магистрале. Опсег фор петље је (0,4095,150). Вредности к варирају од 0 до 4050 са кораком од 150.
вхиле Труе: за к у опсегу (0,4097,150):
Дигитална вредност се шаље на МЦП4725 помоћу следећег реда
дац.сет_волтаге (к)
У зависности од дигиталне вредности, аналогна вредност се израчунава помоћу формуле где је 5 референтни напон, а к дигитална вредност.
напон = к / 4096,0 * 5,0
Тада се дигитална вредност и аналогна вредност приказују на ЛЦД екрану са закашњењем од 2 секунде користећи следеће редове
лцд.цурсор_пос = (0,0) лцд.мессаге ("ДАЦ вредност:" + стр (к)) лцд.мессаге ("\ нАналогВолт:%.2ф"% напон) тиме.слееп (2)
Овде је дигитална вредност приказана у првом реду, а аналогна вредност у другом реду ЛЦД екрана. Мултиметар је такође повезан на излазне пинове МЦП4725 да би се верификовао аналогни напон.
Комплетна шифра са демонстрацијским видеом дата је у наставку.