Аналоговые датчики на Raspberry Pi с использованием MCP3008
входов, а это означает, что использовать многие из доступных датчиков немного затруднительно. Я хотел обновить свою систему безопасности гаража, добавив в нее больше датчиков, поэтому решил найти простой и дешевый способ сделать это. Ответом стал MCP3008.
MCP3008 - это 10-битный 8-канальный аналого-цифровой преобразователь (АЦП). Он дешев, прост в подключении и не требует дополнительных компонентов. Он использует протокол шины SPI, который поддерживается заголовком GPIO Pi.
В этой статье объясняется, как использовать устройство MCP3008 для обеспечения 8 аналоговых входов, которые можно использовать с рядом датчиков. В приведенном ниже примере схемы я использую свой MCP3008 для считывания показаний датчика температуры и освещенности.
Вот биты, которые я использовал:
- Raspberry Pi
- MCP3008 8-канальный АЦП
- Светозависимый резистор (LDR)
- Датчик температуры TMP36
- резистор 10 кОм
Первым шагом является включение интерфейса SPI на Pi, который обычно отключен по умолчанию.
Пожалуйста, следуйте моей статье «Включение интерфейса SPI на Raspberry Pi», чтобы настроить SPI и установить оболочку SPI Python.
Схема
В следующем списке показано, как можно подключить MCP3008. Для этого требуется 4 контакта GPIO на заголовке Pi P1.
VDD 3.3VVREF 3.3VAGND GROUNDCLK GPIO11 (P1-23) DOUT GPIO9 (P1-21) DIN GPIO10 (P1-19CS GPIO8 (P1-24) DGND GROUND
Контакты CH0-CH7 - это 8 аналоговых входов.
Вот моя макетная схема:
Он использует CH0 для датчика освещенности и CH1 для датчика температуры TMP36. Остальные 6 входов - запасные.
Светозависимый резистор
Я выбрал симпатичную крупную LDR (NORPS-12, даташит). При нормальном освещении его сопротивление составляет примерно 10 кОм, а в темноте оно увеличивается до более 2 МОм.
Когда много света, LDR имеет низкое сопротивление, что приводит к падению выходного напряжения до 0 В.
В темноте сопротивление LDR увеличивается, в результате чего выходное напряжение увеличивается до 3,3 В.
Датчик температуры TMP36
Датчик температуры TMP36 представляет собой 3-контактное устройство (техническое описание). Вы можете запитать его напряжением 3,3 В, и средний вывод Vout будет обеспечивать напряжение, пропорциональное температуре.
При температуре 25 градусов C на выходе будет 0,750 В. Каждый градус дает выходное напряжение 10 мВ.
Таким образом, 0 градусов даст 0,5 В, а 100 градусов - 1,5 В.
Чтение данных с помощью скрипта Python
АЦП является 10-битным, поэтому он может сообщать диапазон чисел от 0 до 1023 (2 в степени 10). Значение 0 означает, что на входе 0 В, а значение 1023 означает, что на входе 3,3 В. Наш диапазон 0–3,3 В соответствует диапазону температур от -50 до 280 градусов C при использовании TMP36.
Подробнее:Аналоговые датчики на Raspberry Pi с использованием MCP3008
Производственный процесс
- Регистратор температуры Raspberry Pi
- Температурный профиль Raspberry Pi с использованием LabVIEW
- Измерение температуры с помощью однопроводного датчика DS18B20 и Raspberry Pi
- Считать температуру с помощью DS18B20 | Raspberry Pi 2
- Мониторинг температуры на Raspberry Pi
- Измерение температуры с помощью RASPBERRY PI
- Библиотека Python датчика температуры TMP006 с использованием Raspberry pi,
- Датчик температуры Python и Raspberry Pi
- Мониторинг температуры с помощью Raspberry Pi
- Удаленный мониторинг погоды с помощью Raspberry Pi