Съдържание:
- Стъпка 1: Какво ще ви трябва
- Стъпка 2: Изградете своята схема
- Стъпка 3: Създайте скрипт на Python, за да прочетете резистора, зависим от светлината
- Стъпка 4: Как работи
Видео: Raspberry Pi GPIO схеми: Използване на LDR аналогов сензор без ADC (аналогово -цифров преобразувател): 4 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
В по -ранните ни инструкции ние ви показахме как можете да свържете 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, за да прочетете резистора, зависим от светлината
Сега ще напишем кратък скрипт, който ще чете и показва съпротивлението на 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 да се превърне на високо и след това използва това измерване за изчисляване на съпротивлението на фоторезистора.
Препоръчано:
IR сензор за препятствия без използване на Arduino или друг микроконтролер: 6 стъпки
IR сензор за препятствия без използване на Arduino или какъвто и да е микроконтролер: В този проект ще направим прост сензор за препятствия, без да използваме микроконтролер
Три схеми на сензор за докосване + Схема на таймер за докосване: 4 стъпки
Три вериги на сензора за докосване + Схема на таймера за докосване: Сензорът за докосване е верига, която се ВКЛЮЧВА, когато открие докосването върху сензорните щифтове. Той работи на преходна основа, т.е. натоварването ще бъде включено само за времето, когато докосването е върху щифтовете. Тук ще ви покажа три различни начина да усетите докосване
PCF8591 (i2c аналогов I/O разширител) Бързо и лесно използване: 9 стъпки
PCF8591 (i2c Analog I/O Expander) Бързо и лесно използване: Библиотека за използване на i2c pcf8591 IC с arduino и esp8266. Тази IC може да контролира (до 4) аналогов вход и/или 1 аналогов изход, като измерва напрежението, да чете стойността на термистора или да избледнява светодиод. Може да чете аналогова стойност и да записва аналогова стойност само с 2 проводника (перфектно
Изградете аналогов измервателен уред за използване на електричество: 8 стъпки (със снимки)
Изградете аналогов измервателен уред за използване на електроенергия: Използвах Kill A Watt (http://www.p3international.com/products/special/P4400/P4400-CE.html) електромер за известно време и аз реших да построя аналогов. Този проект стана прост, с амперметър с един панел и
Охладител / стойка за лаптоп с нулева цена (без лепило, без пробиване, без гайки и болтове, без винтове): 3 стъпки
Охладител / стойка за лаптоп с нулева цена (без лепило, без пробиване, без гайки и болтове, без винтове): АКТУАЛИЗИРАНЕ: МОЛЯ ПРИЛОЖНО ГЛАСУВАНЕ ЗА МОИТЕ ИНСТРУКЦИИ, БЛАГОДАРЯ ^ _ ^ МОЖЕТЕ И ДРУГИ ДА ИЗБОРИТЕ ВЛИЗАЙТЕ НА www.instructables.com/id/Zero-Cost-Aluminium-Furnace-No-Propane-No-Glue-/ ИЛИ МОЖЕ ДА ГЛАСУВАТЕ ЗА МОЙ НАЙ-ДОБРИЯ ПРИЯТЕЛ