- Ток пројекта:
- Захтеви пројекта
- Кружни дијаграм:
- Инсталирајте зависности за осцилоскоп Распберри Пи:
- Питхон код за Распберри Пи осцилоскоп:
- Осцилоскоп Распберри Пи у акцији:
Здраво момци, добродошли у данашњи пост. Једна од најфасцинантнијих ствари у производњи је знати како развити импровизоване алате, никада нећете запети радећи на било ком пројекту када имате такву свестраност. Дакле, данас ћу делити како да направим импровизовану верзију једног од најважнијих алата у електротехничком / електроничком инжењерству заснованом на Распберри Пи- у; Осцилоскоп.
Осцилоскоп је електронски инструмент за испитивање који омогућава визуелизацију и посматрање променљивих напона сигнала, обично као дводимензионални графикон са једним или више сигнала уцртаних у времену. Данашњи пројекат настојаће да преслика могућности визуализације сигнала осцилоскопа помоћу Распберри Пи-а и модула аналогног у дигитални претварач.
Ток пројекта:
Копирање визуализације сигнала осцилоскопа помоћу Распберри Пи захтеваће следеће кораке;
1. Извршите дигиталну у аналогну конверзију улазног сигнала
2. Припремите резултујуће податке за представљање
3. Зацртајте податке на графикону времена уживо
Поједностављени блок дијаграм за овај пројекат изгледао би као дијаграм испод.
Захтеви пројекта
Захтјеви за овај пројекат могу се подијелити у два:
- Хардверски захтеви
- Захтеви за софтвер
Хардверски захтеви
За изградњу овог пројекта потребне су следеће компоненте / део;
- Распберри пи 2 (или било који други модел)
- СД картица од 8 или 16 ГБ
- ЛАН / Етхернет кабл
- Напајање или УСБ кабл
- АДС1115 АДЦ
- ЛДР (опционално као што је намењено за тест)
- Отпорник 10к или 1к
- Жице краткоспојника
- Бреадбоард
- Монитор или било који други начин гледања радне површине пи-а (укључујући ВНЦ)
Захтеви за софтвер
Софтверски захтеви за овај пројекат су у основи питхон модули ( матплотлиб и дравнов ) који ће се користити за визуелизацију података и модул Адафруит за повезивање са АДС1115 АДЦ чипом. Показаћу како инсталирати ове модуле на Распберри Пи како настављамо.
Иако ће овај водич радити без обзира на коришћени малина пи ОС, ја ћу користити Распберри Пи стретцх ОС и претпостављам да сте упознати са подешавањем Распберри Пи са Распбиан стретцх ОС-ом и да знате како ССХ у малину пи користећи терминал софтвер попут кита. Ако имате проблема са било којим од овога, на овој веб локацији постоји мноштво туторијала за Распберри Пи који вам могу помоћи.
Са свим хардверским компонентама на месту, креирајмо шеме и повежимо их заједно.
Кружни дијаграм:
За претварање аналогних улазних сигнала у дигиталне сигнале који се могу визуализовати помоћу Распберри Пи, користићемо АДС1115 АДЦ чип. Овај чип постаје важан јер Распберри Пи, за разлику од Ардуина и већине микроконтролера, нема уграђени аналогно-дигитални претварач (АДЦ). Иако смо могли да користимо било који АДЦ чип који је компатибилан са Распберри Пи, овај чип ми је дражи због високе резолуције (16 бита) и добро документованог листа података и упутстава за употребу компаније Адафруит. Такође можете погледати наш водич за Распберри Пи АДЦ да бисте сазнали више о томе.
АДЦ је уређај заснован на И2Ц и требало би да буде повезан са Распберри Пи како је приказано у шемама доле.
Ради јасноће, ниже је описана и пин веза између две компоненте.
АДС1115 и Распберри Пи везе:
ВДД - 3.3в
ГНД - ГНД
СДА - СДА
СЦЛ - СЦЛ
Кад су све везе готове, укључите пи и наставите са инсталирањем доленаведених зависности.
Инсталирајте зависности за осцилоскоп Распберри Пи:
Пре него што започнемо са писањем питхон скрипте за извлачење података из АДЦ-а и њихово исцртавање на живом графикону, потребно је да омогућимо И2Ц комуникациони интерфејс Распберри Пи-а и инсталирамо претходно поменуте софтверске захтеве. Ово ће бити учињено у доњим корацима, тако да је лако следити:
Корак 1: Омогућите интерфејс Распберри Пи И2Ц
Да бисте омогућили И2Ц, с терминала покрените;
судо распи-цонфиг
Када се отворе панели за конфигурацију, одаберите опције интерфејса, одаберите И2Ц и кликните на енабле.
Корак 2: Ажурирајте Распберри пи
Прво што урадим пре започињања било ког пројекта је ажурирање Пи-а. Кроз ово, сигуран сам да су све ствари на ОС-у ажурне и да нећу имати проблема са компатибилношћу ни са једним најновијим софтвером који одлучим да инсталирам на Пи. Да бисте то урадили, покрените испод две команде:
судо апт-гет упдате судо апт-гет надоградња
Корак 3: Инсталирајте Адафруит АДС1115 библиотеку за АДЦ
Завршеним ажурирањем, сада смо спремни да инсталирамо зависности почевши од питхон модула Адафруит за чип АДС115. Уверите се да сте у матичном директоријуму Распберри Пи покретањем;
цд ~
затим инсталирањем основних инсталација покретањем;
судо апт-гет инсталл буилд-битно питхон-дев питхон-смбус гит
Затим клонирајте директоријум Адафруит гит за библиотеку покретањем;
гит клон хттпс://гитхуб.цом/адафруит/Адафруит_Питхон_АДС1к15.гит
Промените се у директоријум клониране датотеке и покрените датотеку за подешавање;
цд Адафруит_Питхон_АДС1к1з судо питхон сетуп.пи инсталација
Након инсталације, ваш екран би требао изгледати као на слици испод.
Корак 4: Тестирајте библиотеку и комуникацију 12Ц.
Пре него што наставимо са остатком пројекта, важно је тестирати библиотеку и осигурати да АДЦ може комуницирати са малине пи преко И2Ц. Да бисмо то урадили, користићемо пример скрипте која долази са библиотеком.
Док сте још увек у директоријуму Адафруит_Питхон_АДС1к15, промените директоријум у директоријум примера покретањем;
цд примери
Затим покрените пример самплетест.пи који приказује вредност четири канала на АДЦ-у у табеларном облику.
Покрените пример користећи:
питхон симплетест.пи
Ако је И2Ц модул омогућен и везе добре, требало би да видите податке као што је приказано на доњој слици.
Ако дође до грешке, проверите да ли је АДЦ добро повезан са ПИ-ом и да ли је на Пи омогућена И2Ц комуникација.
Корак 5: Инсталирајте Матплотлиб
Да бисмо визуализирали податке, морамо инсталирати матплотлиб модул који се користи за цртање свих врста графова у питхон-у. То се може постићи трчањем;
судо апт-гет инсталирај питхон-матплотлиб
Требали бисте видети исход попут слике испод.
Корак 6: Инсталирајте Дравнов питхон модул
На крају, морамо да инсталирамо дравнов питхон модул. Овај модул нам помаже да пружимо ажурирања података у реалном времену.
Инсталираћемо дравнов путем инсталационог програма питхон пакета; пип , тако да морамо бити сигурни да је инсталиран. То се може постићи трчањем;
судо апт-гет инсталирај питхон-пип
Тада можемо да користимо пип за инсталирање дравнов пакета покретањем:
судо пип инсталирај дравнов
Након покретања требали бисте добити исход попут слике испод.
Са свим инсталираним зависностима, сада смо спремни за писање кода.
Питхон код за Распберри Пи осцилоскоп:
Питхон код за овај Пи осцилоскоп је прилично једноставан, посебно ако сте упознати са питхон матплотлиб модулом. Пре него што нам покаже цео код, покушаћу да га разбијем на део и објасним шта сваки део кода ради, тако да можете имати довољно знања да проширите код на више ствари.
У овој фази је важно пребацити се на монитор или користити ВНЦ приказивач, било шта кроз шта можете видети радну површину вашег Распберри Пи, јер се графикон који се исцртава неће приказивати на терминалу.
Са монитором као интерфејсом отворите нову питхон датотеку. Можете га назвати било којим именом, али ја ћу га назвати сцопе.пи.
судо нано опсег.пи
Са створеном датотеком, прво што урадимо је увоз модула које ћемо користити;
време увоза импорт матплотлиб.пиплот ас плт фром дравнов импорт * импорт Адафруит_АДС1к15
Затим креирамо инстанцу библиотеке АДС1к15 која специфицира АДС1115 АДЦ
адц = Адафруит_АДС1к15.АДС1115 ()
Даље, постављамо добитак АДЦ-а. Постоје различити опсези појачања и треба их одабрати на основу напона који очекујете на улазу АДЦ-а. За овај туторијал процењујемо 0 - 4.09в, тако да ћемо користити добитак од 1. За више информација о добитку можете погледати табелу података АДС1015 / АДС1115.
ДОБИТ = 1
Даље, треба да креирамо променљиве низа које ће се користити за складиштење података који се цртају и још једну која ће служити као бројање.
Вал = цнт = 0
Даље, упознајемо се са намерама да радњу учинимо интерактивном како би нам омогућили да податке графички приказујемо уживо.
плт.ион ()
Даље започињемо континуирану АДЦ конверзију специфицирајући АДЦ канал, у овом случају канал 0, а такође одређујемо и појачање.
Треба напоменути да се сва четири АДЦ канала на АДС1115 могу читати истовремено, али један канал је довољан за ову демонстрацију.
адц.старт_адц (0, добитак = ДОБИТАК)
Даље креирамо функцију деф макеФиг , како бисмо креирали и поставили атрибуте графа који ће садржавати нашу ливе плот. Пре свега постављамо ограничења осе и помоћу илим-а , након чега уносимо наслов графикона и назив ознаке пре него што одредимо податке који ће се исцртати и њихов стил и боју графикона помоћу плт.плот (). Такође можемо навести канал (као што је наведен канал 0), тако да можемо идентификовати сваки сигнал када се користе четири канала АДЦ-а. плт.легенд се користи за одређивање где желимо да се информације о том сигналу (нпр. Канал 0) приказују на слици.
плт.илим (-5000,5000) плт.титле ('Осцилоскоп') плт.грид (Тачно) плт.илабел ('АДЦ излази') плт.плот (вал, 'ро-', лабел = 'лук') плт.легенд (лоц = 'доњи десни')
Даље напишемо вхиле петљу која ће се користити за стално читање података из АДЦ-а и ажурирање графикона у складу с тим.
Прво што радимо је очитавање вредности АДЦ конверзије
вредност = адц.гет_ласт_ресулт ()
Даље вредност исписујемо на терминалу само како бисмо добили други начин потврде нацртаних података. Чекамо неколико секунди након штампања, а затим додајемо податке на листу (вал) створену за чување података за тај канал.
принт ('Цханнел 0: {0}'. формат (валуе)) тиме.слееп (0.5) вал.аппенд (инт (валуе))
Затим зовемо дравнов да ажурирамо заплет.
дравнов (макеФиг)
Да бисмо били сигурни да су најновији подаци доступни на графикону, бришемо податке у индексу 0 након сваких 50 бројања података.
цнт = цнт + 1 иф (цнт> 50): вал.поп (0)
То је све!
Комплетан Питон код је дат на крају овог туторијала.
Осцилоскоп Распберри Пи у акцији:
Копирајте целокупан питхон код и налепите у питхон датотеку коју смо раније креирали, имајте на уму да ће нам требати монитор за преглед парцеле, па би све то требало да уради или ВНЦ, или повезани монитор или екран.
Сачувајте код и покрените помоћу;
судо питхон сцопе.пи
Ако сте користили друго име осим сцопе.пи, не заборавите да промените ово да се подудара.
Након неколико минута, требали бисте видети АДЦ податке како се штампају на терминалу. Повремено од матплотлиб- а можете добити упозорење (као што је приказано на доњој слици) које би требало потиснути, али ионако не утиче на податке који се приказују или на графикон. Да би се упозорење потиснуло, следећи редови кода могу се додати након редова за увоз у нашем коду.
Упозорења о увозу импорт матплотлиб.цбоок варнингс.филтерварнингс („занемари“, категорија = матплотлиб.цбоок.мплДепрецатион)
То је то за све момке из овог упутства, да бисте у потпуности тестирали свој осцилоскоп, можете да прикључите аналогни уређај попут потенциометра на канал на АДЦ-у и требало би да видите промене података при сваком окретању потенциометра. Можете и да унесете синусни или квадратни талас да бисте тестирали излаз.
Хвала на читању, ако имате питања или нешто што бисте волели да додам, само ми оставите коментар.
До следећег пута, настави да правиш!