Распберри Пи је плоча заснована на АРМ архитектури заснована за електронске инжењере и хобисте. ПИ је сада једна од најповерљивијих платформи за развој пројеката. Са већом брзином процесора и 1 ГБ РАМ-а, ПИ се може користити за многе пројекте високог профила попут обраде слика и Интернета ствари.
За извођење било ког од пројеката високог профила треба разумети основне функције ПИ-а. У овим упутствима ћемо покрити све основне функционалности Распберри Пи- а. У сваком упутству разговараћемо о једној од функција ПИ-а. До краја ове уџбеничке серије Распберри Пи моћи ћете сами да радите пројекте високог профила. Прођите кроз водиче у наставку:
- Први кораци са Распберри Пи
- Конфигурација Распберри Пи
- ЛЕД Блинки
- Интерфејс на тастеру Распберри Пи
- Распберри Пи ПВМ генерација
- Управљање једносмерним мотором помоћу Распберри Пи
- Управљање корачним мотором са Распберри Пи
- Повезивање Схифт регистра са Распберри Пи
У овом упутству ћемо повезати АДЦ (аналогно у дигиталну конверзију) чип са Распберри Пи. Знамо све параметре аналогних, значи да се они временом непрекидно разликују. Рецимо за пример температуре собе, собна температура континуирано варира током времена. Ова температура је обезбеђена децималним бројевима. Али у дигиталном свету не постоје децимални бројеви, па морамо аналогну вредност претворити у дигиталну вредност. Овај процес конверзије се врши АДЦ техником. Сазнајте више о АДЦ овде: Увод у АДЦ0804
АДЦ0804 и Распберри Пи:
Уобичајени контролери имају АДЦ канале, али за ПИ не постоје интерно обезбеђени АДЦ канали. Дакле, ако желимо да повежемо било који аналогни сензор, потребна нам је АДЦ јединица за претворбу. У ту сврху идемо на интерфејс АДЦ0804 са Распберри Пи.
АДЦ0804 је чип дизајниран за претварање аналогног сигнала у 8-битне дигиталне податке. Овај чип је једна од популарних серија АДЦ. То је 8-битна јединица за претворбу, тако да имамо вредности или 0 до 255 вредности. Са мерним напоном од максимално 5В, имаћемо промену за сваких 19,5мВ. Испод је Пиноут АДЦ0804:
Сада је овде још једна важна ствар, АДЦ0804 ради на 5В и тако даје излаз у 5В логичком сигналу. У 8-пинском излазу (представља 8-битни), сваки пински пружа + 5В излаз који представља логику '1 '. Дакле, проблем је у томе што је ПИ логика од + 3,3 в, тако да не можете дати + 5 В логику на + 3,3 В ГПИО пину ПИ. Ако дате било који од 5 В на било који ГПИО пин ПИ, плоча се оштети.
Дакле, да бисмо спустили ниво логике са + 5В, користићемо коло делитеља напона. Раније смо разговарали о кругу за поделу напона, па смо га претходно размотрили ради даљег појашњења. Оно што ћемо урадити је да користимо два отпорника да поделимо + 5В логику на логику 2 * 2.5В. Дакле, након поделе даћемо ПИ + 2.5в логику. Дакле, кад год АДЦ0804 представи логику '1', видећемо + 2,5 В на ПИ ГПИО Пин-у, уместо + 5В.
Овде сазнајте више о ГПИО пиновима за Распберри Пи и прођите кроз наше претходне водиче.
Компоненте потребне:
Овде користимо Распберри Пи 2 Модел Б са Распбиан Јессие ОС. Сви основни хардверски и софтверски захтеви су претходно разматрани, можете их потражити у Уводу о Распберри Пи, осим онога што нам је потребно:
- Прикључне игле
- Отпорник од 220Ω или 1КΩ (17 комада)
- Пот 10К
- 0.1µФ кондензатор (2 комада)
- АДЦ0804 ИЦ
- Даска за хлеб
Објашњење кола:
Ради на напону напајања од + 5в и може мерити променљиви опсег напона у опсегу 0-5В.
У прикључци за повезивање АДЦ0804 да Распберри Пи, приказани су на схему споја изнад.
АДЦ увек има пуно буке, ова бука може у великој мери утицати на перформансе, па зато користимо кондензатор од 0,1 уФ за филтрирање буке. Без овога ће бити пуно флуктуација на излазу.
Чип ради на РЦ (Ресистор-Цапацитор) осцилатор сату. Као што је приказано на дијаграму кола, Ц2 и Р20 чине сат. Овде је важно имати на уму да се кондензатор Ц2 може променити на нижу вредност за већу брзину АДЦ конверзије. Међутим, са већом брзином доћи ће до смањења тачности. Дакле, ако апликација захтева већу тачност, одаберите кондензатор веће вредности, а за већу брзину кондензатор мање вредности.
Објашњење програмирања:
Једном када се све повеже према схеми кола, можемо УКЉУЧИТИ ПИ да напишемо програм у ПИХТОН-у.
Разговараћемо о неколико команди које ћемо користити у програму ПИХТОН, Увешћемо ГПИО датотеку из библиотеке, доња функција омогућава нам програмирање ГПИО пинова ПИ. Такође смо преименовали „ГПИО“ у „ИО“, па ћемо у програму кад год желимо да се упутимо на ГПИО пинове користити реч „ИО“.
увоз РПи.ГПИО као ИО
Понекад, када ГПИО пинови, које покушавамо да користимо, можда раде неке друге функције. У том случају добићемо упозорења током извршавања програма. Испод наредба говори ПИ-у да занемари упозорења и настави са програмом.
ИО.сетварнингс (Фалсе)
ГПИО пинове ПИ можемо упутити било бројем пина на плочи или бројем њихове функције. Као и „ПИН 29“ на плочи је „ГПИО5“. Дакле, овде кажемо или ћемо овде представљати пин са '29' или '5'.
ИО.сетмоде (ИО.БЦМ)
Постављамо 8 пинова као улазне пинове. Помоћу ових пинова открићемо 8-битне АДЦ податке.
ИО.сетуп (4, ИО.ИН) ИО.сетуп (17, ИО.ИН) ИО.сетуп (27, ИО.ИН) ИО.сетуп (22, ИО.ИН) ИО.сетуп (5, ИО.ИН) ИО.сетуп (6, ИО.ИН) ИО.сетуп (13, ИО.ИН) ИО.сетуп (19, ИО.ИН)
У случају да је стање у заградама тачно, изрази унутар петље извршавају се једном. Дакле, ако ГПИО пин 19 пређе високо, тада ће се изрази унутар ИФ петље извршити једном. Ако ГПИО пин 19 не иде високо, тада се изводи унутар ИФ петље неће извршити.
иф (ИО.инпут (19) == Труе):
Испод наредба се користи као форевер лооп, с овом наредбом ће се изрази унутар ове петље континуирано извршавати.
Док је 1:
Даље објашњење програма дато је у одељку кода испод.
Рад:
Након писања програма и његовог извршавања на екрану ћете видети '0'. '0' значи 0 волти на улазу.
Ако прилагодимо пот од 10К повезану на чип, видећемо промену вредности на екрану. Вредности на екрану се непрестано померају, то су дигиталне вредности које чита ПИ.
Рецимо ако дођемо до средине до средине, имамо + 2,5 В на улазу АДЦ0804. Дакле, на екрану видимо 128 као што је приказано доле.
За + 5В аналогну вредност имаћемо 255.
Дакле, променом лонца варирамо напон од 0 до + 5В на улазу АДЦ0804. Овим ПИ очитавају вредности од 0-255. Вредности се исписују на екрану.
Дакле, повезали смо АДЦ0804 са Распберри Пи.