Оглавление:
- Шаг 1. Что вам понадобится
- Шаг 2: Создайте свою схему
- Шаг 3. Создайте скрипт Python для чтения светозависимого резистора
- Шаг 4: как это работает
![Схемы Raspberry Pi GPIO: использование аналогового датчика LDR без АЦП (аналого-цифрового преобразователя): 4 шага Схемы Raspberry Pi GPIO: использование аналогового датчика LDR без АЦП (аналого-цифрового преобразователя): 4 шага](https://i.howwhatproduce.com/images/002/image-5254-45-j.webp)
Видео: Схемы Raspberry Pi GPIO: использование аналогового датчика LDR без АЦП (аналого-цифрового преобразователя): 4 шага
![Видео: Схемы Raspberry Pi GPIO: использование аналогового датчика LDR без АЦП (аналого-цифрового преобразователя): 4 шага Видео: Схемы Raspberry Pi GPIO: использование аналогового датчика LDR без АЦП (аналого-цифрового преобразователя): 4 шага](https://i.ytimg.com/vi/AsoKOqL7iNs/hqdefault.jpg)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
![Схемы Raspberry Pi GPIO: использование аналогового датчика LDR без АЦП (аналого-цифрового преобразователя) Схемы Raspberry Pi GPIO: использование аналогового датчика LDR без АЦП (аналого-цифрового преобразователя)](https://i.howwhatproduce.com/images/002/image-5254-46-j.webp)
В наших предыдущих инструкциях мы показали вам, как вы можете связать контакты GPIO вашего Raspberry Pi со светодиодами и переключателями и как контакты GPIO могут быть высокими или низкими. Но что, если вы хотите использовать Raspberry Pi с аналоговым датчиком?
Если мы хотим использовать аналоговые датчики с Raspberry Pi, нам необходимо иметь возможность измерять сопротивление датчика. В отличие от Arduino, контакты GPIO Raspberry Pi не могут измерять сопротивление и могут определять, только если подаваемое на них напряжение выше определенного напряжения (примерно 2 вольта). Чтобы решить эту проблему, вы можете использовать аналого-цифровой преобразователь (АЦП) или вместо него использовать относительно дешевый конденсатор.
Эта инструкция покажет вам, как это можно сделать.
Шаг 1. Что вам понадобится
![Что тебе понадобится Что тебе понадобится](https://i.howwhatproduce.com/images/002/image-5254-47-j.webp)
![Что тебе понадобится Что тебе понадобится](https://i.howwhatproduce.com/images/002/image-5254-48-j.webp)
![Что тебе понадобится Что тебе понадобится](https://i.howwhatproduce.com/images/002/image-5254-49-j.webp)
![Что тебе понадобится Что тебе понадобится](https://i.howwhatproduce.com/images/002/image-5254-50-j.webp)
- RaspberryPi с уже установленным Raspbian. Вам также потребуется иметь доступ к Pi с помощью монитора, мыши и клавиатуры или через удаленный рабочий стол. Вы можете использовать любую модель Raspberry Pi. Если у вас есть одна из моделей Pi Zero, вы можете припаять несколько контактов заголовка к порту GPIO.
- Светозависимый резистор (также известный как LDR или фоторезистор)
- Керамический конденсатор емкостью 1 мкФ
- Макетная плата для прототипирования без пайки
- Некоторые перемычки между мужчинами и женщинами
Шаг 2: Создайте свою схему
![Создайте свою схему Создайте свою схему](https://i.howwhatproduce.com/images/002/image-5254-51-j.webp)
![Создайте свою схему Создайте свою схему](https://i.howwhatproduce.com/images/002/image-5254-52-j.webp)
Постройте указанную выше схему на своей макетной плате, убедившись, что ни один из выводов компонентов не соприкасается. Светозависимый резистор и керамический конденсатор не имеют полярности, что означает, что отрицательный и положительный ток могут быть подключены к любому выводу. Поэтому вам не нужно беспокоиться о том, каким образом эти компоненты были подключены в вашей цепи.
После того, как вы проверили свою схему, подключите перемычки к контактам GPIO Raspberry Pi, следуя приведенной выше схеме.
Шаг 3. Создайте скрипт Python для чтения светозависимого резистора
![Создайте скрипт Python для чтения светозависимого резистора Создайте скрипт Python для чтения светозависимого резистора](https://i.howwhatproduce.com/images/002/image-5254-53-j.webp)
Теперь мы напишем короткий скрипт, который будет читать и отображать сопротивление LDR с помощью Python.
На Raspberry Pi откройте IDLE (Меню> Программирование> Python 2 (IDLE)). Откройте новый проект и выберите «Файл»> «Новый файл». Затем введите (или скопируйте и вставьте) следующий код:
импортировать RPi. GPIO как GPIOimport timempin = 17 tpin = 27 GPIO.setmode (GPIO. BCM) cap = 0.000001 adj = 2.130620985i = 0 t = 0 while 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 () measureresistance = endtime-starttime res = (measureresistance / cap) * adj i = i + 1 t = t + res, если i == 10: t = t / i print (t) i = 0 t = 0
Сохраните свой проект как lightsensor.py (Файл> Сохранить как) в папке «Документы».
Теперь откройте Терминал (Меню> Стандартные> Терминал) и введите следующую команду:
python lightsensor.py
Raspberry Pi будет многократно отображать сопротивление фоторезистора. Если приложить палец к фоторезистору, сопротивление увеличится. Если осветить фоторезистор ярким светом, сопротивление уменьшится. Вы можете остановить эту программу, нажав CTRL + Z.
Шаг 4: как это работает
По мере того, как конденсатор постепенно заряжается, напряжение, которое проходит по цепи и к выводу GPIO, возрастает. Как только конденсатор заряжается до определенной точки, его напряжение поднимается выше 2 вольт, и Raspberry Pi определит, что вывод 13 GPIO ВЫСОКИЙ.
Если сопротивление датчика увеличивается, конденсатор будет заряжаться медленнее, и цепи потребуется больше времени, чтобы достичь 2 вольт.
Вышеупомянутый сценарий по существу определяет, сколько времени требуется контакту 13, чтобы перейти в высокий уровень, а затем использует это измерение для расчета сопротивления фоторезистора.
Рекомендуемые:
Цифровые часы с использованием микроконтроллера (AT89S52 без схемы RTC): 4 шага (с изображениями)
![Цифровые часы с использованием микроконтроллера (AT89S52 без схемы RTC): 4 шага (с изображениями) Цифровые часы с использованием микроконтроллера (AT89S52 без схемы RTC): 4 шага (с изображениями)](https://i.howwhatproduce.com/images/005/image-12599-j.webp)
Цифровые часы с использованием микроконтроллера (AT89S52 без схемы RTC): давайте опишем часы … «Часы - это устройство, которое считает и показывает время (относительное)» !!! Думаю, я правильно сказал, поэтому давайте сделаем ЧАСЫ с функцией БУДИЛЬНИКА . ПРИМЕЧАНИЕ: чтение займет 2-3 минуты, пожалуйста, прочтите весь проект, иначе я не буду
DSO138 USB Power: без повышающего преобразователя !: 3 шага
![DSO138 USB Power: без повышающего преобразователя !: 3 шага DSO138 USB Power: без повышающего преобразователя !: 3 шага](https://i.howwhatproduce.com/images/005/image-14395-j.webp)
DSO138 USB Power: без повышающего преобразователя !: JYE DSO138 - отличный маленький осциллограф для работы со звуком, который может стать отличным портативным трассировщиком сигналов. Проблема в том, что он не совсем портативный, потому что ему нужен адаптер питания на 9 В. Лучше бы его можно было поставить из эталона
Три схемы датчика касания + схема таймера касания: 4 шага
![Три схемы датчика касания + схема таймера касания: 4 шага Три схемы датчика касания + схема таймера касания: 4 шага](https://i.howwhatproduce.com/images/003/image-7071-4-j.webp)
Три цепи датчика касания + схема таймера касания: датчик касания - это схема, которая включается при обнаружении прикосновения к контактам касания. Он работает на временной основе, т.е. нагрузка будет включена только на время прикосновения к контактам. Здесь я покажу вам три различных способа сделать сенсорную отправку
Использование датчика движения с RaspberryPi и Telegram Bot: 4 шага
![Использование датчика движения с RaspberryPi и Telegram Bot: 4 шага Использование датчика движения с RaspberryPi и Telegram Bot: 4 шага](https://i.howwhatproduce.com/images/002/image-5197-49-j.webp)
Использование датчика движения с RaspberryPi и Telegram Bot: Привет, ребята, в этом посте мы будем использовать Telegram Bot Raspberry Pi с датчиком движения (PIR)
Нулевой охладитель / подставка для ноутбука (без клея, без сверления, без гаек и болтов, без винтов): 3 шага
![Нулевой охладитель / подставка для ноутбука (без клея, без сверления, без гаек и болтов, без винтов): 3 шага Нулевой охладитель / подставка для ноутбука (без клея, без сверления, без гаек и болтов, без винтов): 3 шага](https://i.howwhatproduce.com/preview/how-and-what-to-produce/11132735-zero-cost-laptop-cooler-stand-no-glue-no-drilling-no-nuts-and-bolts-no-screws-3-steps-j.webp)
Охладитель / подставка для ноутбука с нулевой стоимостью (без клея, без сверления, без гаек и болтов, без винтов): ОБНОВЛЕНИЕ: ПОЖАЛУЙСТА, ПРОГОЛОСОВАЙТЕ ЗА МОЙ ИНСТРУКЦИЮ, СПАСИБО ^ _ ^ ВЫ МОЖЕТЕ ПОПРОБОВАТЬ ЗАПИСЬ НА www.instructables.com/id/Zero-Cost-Aluminium-Furnace-No-Propane-No-Glue-/ ИЛИ МОЖЕТ БЫТЬ ГОЛОСОВАТЬ ЗА ЛУЧШЕГО ДРУГА