Вывод температуры на OLED с помощью embedded Rust на Raspberry Pi Pico
В этой главе мы будем считывать температуру с термистора и выводить её на OLED-экран.
К этому моменту вы уже должны знать, как использовать OLED-дисплей с Raspberry Pi Pico. Вместо того чтобы выводить значения в консоль, сделаем всё интереснее и покажем их на аппаратном дисплее.
Требования к оборудованию
- Термистор NTC 103: 10 кОм, эпоксидный диск 5 мм
- OLED-дисплей (0,96 дюйма, I2C/IIC, 4 вывода, разрешение 128x64, микросхема SSD1306)
- Резистор 10 кОм: вместе с термистором образует делитель напряжения
- Перемычки
Схема подключения OLED и термистора к Raspberry Pi Pico
Подключение термистора
Мы подключим термистор как делитель напряжения и подадим выход делителя на вывод АЦП Pico. Здесь термистор выступает в роли R1 и подключён к питанию 3,3 В, поэтому значение АЦП уменьшается при росте температуры (поведение NTC).
| Вывод Pico | Провод | Компонент |
|---|---|---|
| 3.3 V |
|
Один вывод термистора |
| GPIO 28 (ADC2) |
|
Точка соединения термистора и резистора 10 кОм |
| Резистор 10 кОм |
|
Другой вывод термистора |
| GND |
|
Другой вывод резистора 10 кОм |
Подключение OLED (I2C)
OLED-дисплей подключается по I2C. SDA подключён к GPIO 16, а SCL — к GPIO 17.
| Вывод Pico | Провод | Вывод OLED |
|---|---|---|
| GND |
|
GND |
| 3.3 V |
|
VCC |
| GPIO 16 |
|
SDA |
| GPIO 17 |
|
SCL |