Съдържание:

Raspberry Pi GPIO схеми: Използване на LDR аналогов сензор без ADC (аналогово -цифров преобразувател): 4 стъпки
Raspberry Pi GPIO схеми: Използване на LDR аналогов сензор без ADC (аналогово -цифров преобразувател): 4 стъпки

Видео: Raspberry Pi GPIO схеми: Използване на LDR аналогов сензор без ADC (аналогово -цифров преобразувател): 4 стъпки

Видео: Raspberry Pi GPIO схеми: Използване на LDR аналогов сензор без ADC (аналогово -цифров преобразувател): 4 стъпки
Видео: Работа с GPIO пинами Raspberry Pi. 2024, Ноември
Anonim
Raspberry Pi GPIO схеми: Използване на LDR аналогов сензор без ADC (аналогово -цифров преобразувател)
Raspberry Pi GPIO схеми: Използване на LDR аналогов сензор без ADC (аналогово -цифров преобразувател)

В по -ранните ни инструкции ние ви показахме как можете да свържете GPIO щифтовете на вашия Raspberry Pi към светодиоди и ключове и как пиновете на GPIO могат да бъдат високи или ниски. Но какво ще стане, ако искате да използвате Raspberry Pi с аналогов сензор?

Ако искаме да използваме аналогови сензори с Raspberry Pi, ще трябва да можем да измерим съпротивлението на сензора. За разлика от Arduino, GPIO щифтовете на Raspberry Pi не могат да измерват съпротивлението и могат да усетят само ако подаденото към тях напрежение е над определено напрежение (приблизително 2 волта). За да преодолеете този проблем, можете да използвате аналогово -цифров конвертор (ADC) или вместо това да използвате сравнително евтин кондензатор.

Тази инструкция ще ви покаже как това може да стане.

Стъпка 1: Какво ще ви трябва

Какво ще ви трябва
Какво ще ви трябва
Какво ще ви трябва
Какво ще ви трябва
Какво ще ви трябва
Какво ще ви трябва
Какво ще ви трябва
Какво ще ви трябва

- RaspberryPi с вече инсталиран Raspbian. Също така ще трябва да имате достъп до Pi с помощта на монитор, мишка и клавиатура или чрез отдалечен работен плот. Можете да използвате всеки модел на Raspberry Pi. Ако имате един от моделите Pi Zero, може да искате да запоите някои щифтове за заглавки към порта GPIO.

- Светлозависим резистор (известен също като LDR или фоторезистор)

- Керамичен кондензатор 1 uF

- Електронна дъска за прототипиране без запояване

- Някои проводници от мъжки към женски

Стъпка 2: Изградете своята схема

Изградете вашата верига
Изградете вашата верига
Изградете вашата верига
Изградете вашата верига

Изградете горната схема на макета си, като се уверите, че нито един от компонентите не докосва. Резисторът, зависим от светлината, и керамичният кондензатор нямат полярност, което означава, че отрицателен и положителен ток могат да бъдат свързани към двата проводника. Следователно не е нужно да се притеснявате по какъв начин тези компоненти са свързани във вашата схема.

След като проверите веригата си, свържете джъмперните кабели към GPIO щифтовете на Raspberry Pi, като следвате горната диаграма.

Стъпка 3: Създайте скрипт на Python, за да прочетете резистора, зависим от светлината

Създайте скрипт на Python, за да прочетете резистора, зависим от светлината
Създайте скрипт на Python, за да прочетете резистора, зависим от светлината

Сега ще напишем кратък скрипт, който ще чете и показва съпротивлението на LDR с помощта на Python.

На вашия Raspberry Pi отворете IDLE (Меню> Програмиране> Python 2 (IDLE)). Отворете нов проект, отидете на Файл> Нов файл. След това въведете (или копирайте и поставете) следния код:

импортиране на RPi. GPIO като GPIOimport timempin = 17 tpin = 27 GPIO.setmode (GPIO. BCM) капачка = 0,000001 adj = 2,130620985i = 0 t = 0, докато True: GPIO.setup (mpin, GPIO. OUT) GPIO.setup (tpin, GPIO. OUT) GPIO.output (mpin, False) GPIO.output (tpin, False) time.sleep (0.2) GPIO.setup (mpin, GPIO. IN) time.sleep (0.2) GPIO.output (tpin, True) starttime = time.time () endtime = time.time () while (GPIO.input (mpin) == GPIO. LOW): endtime = time.time () измерване на съпротивлението = endtime-starttime res = (измерване на съпротивление/ограничение)* adj i = i+1 t = t+res, ако i == 10: t = t/i print (t) i = 0 t = 0

Запазете проекта си като lightsensor.py (File> Save As) в папката Documents.

Сега отворете Терминал (Меню> Аксесоари> Терминал) и въведете следната команда:

python lightsensor.py

Raspberry Pi ще показва многократно съпротивлението на фоторезистора. Ако поставите пръст върху фоторезистора, съпротивлението ще се увеличи. Ако осветете ярка светлина върху фоторезистора, съпротивлението ще намалее. Можете да спрете изпълнението на тази програма, като натиснете CTRL+Z.

Стъпка 4: Как работи

Тъй като кондензаторът постепенно се зарежда, напрежението, което преминава през веригата и към щифта GPIO се повишава. След като кондензаторът се зареди до определена точка, напрежението му се повишава над 2 волта и Raspberry Pi ще усети, че GPIO щифт 13 е ВИСОК.

Ако съпротивлението на сензора се увеличи, кондензаторът ще се зарежда по -бавно и веригата ще отнеме повече време, за да достигне 2 волта.

Горният скрипт по същество умножава колко време отнема на щифт 13 да се превърне на високо и след това използва това измерване за изчисляване на съпротивлението на фоторезистора.

Препоръчано: