Skip to content

Latest commit

 

History

History
113 lines (82 loc) · 4.86 KB

readme.md

File metadata and controls

113 lines (82 loc) · 4.86 KB

Подключение датчика температуры BME280

update второй способ подключения

При одинаковом названии есть два вида датчика, на 3.3 вольта и на 5 вольт. 3.3 имеет 6 контактов и подключается как по i2c так и по spi, а вот версия на 5 вольт только по i2c.

картинка

в принтере есть датчик огня которые обычно не подключают и на его место bme280 прекрасно подойдет если хост расположен внутри корпуса как у меня.

картинка

необходимо протянуть дополнительный провод от хоста до датчика.

1-VCC — питание модуля 5 В;

2-GND — Земля (Ground);

3-SCL — линия тактирования (Serial CLock);

4-SDA — линия данных (Serial Data).

на orange pi 3lts подключим их в 4 6 5 3 разъем соответсвенно

картинка это было самое легкое.

Настройка шины I2c

Запустим утилиту конфигурирования платы: armbian-config. Перейдем по меню: System > Hardware, и включим I2C0 после сохраняем, перегружаемся

скриншот

проверяем что работает

sudo i2cdetect -y 0

Шина I2C работает и датчик BME280 по адресу 0x76 найден картинка

Добавим пользователю возможность чтения шины i2c

 sudo usermod -aG i2c Имя_пользователя_поставь_свое

Проверяем:

 id

Должно быть что то похожее на это - uid=1000(klipper) gid=1000(klipper) группы=1000(klipper),5(tty),20(dialout),27(sudo),44(video),115(i2c)

Настройка Host

Для использования orange pi как MCU с целью получения доступа к его шинам SPI, i2c и просто к GPIO, необходимо установить и запустить исполняемый модуль Klipper и на нем.

Для этого необходимо чтобы исполняемая часть MCU на orange pi запускалась раньше, чем загрузится Klipper, для этого выполняем следующие действия:

cd ~/klipper/
sudo cp ./scripts/klipper-mcu.service /etc/systemd/system/
sudo systemctl enable klipper-mcu.service

Действиями выше, был создан новый элемент автозапуска, и добавлен в скрипты загрузки.

Далее необходимо создать прошивку для Orange PI контроллера, для этого выполняем:

cd ~/klipper/
make menuconfig

В меню конфигурации, следует выбрать архитектуру процессора как Linux process, нажимаем Q и сохраняем изменения. Теперь установим исполняемую часть на Orange PI:

make
sudo service klipper stop
make flash
sudo service klipper start

Теперь необходимо внести изменения в printer.cfg, чтобы Klipper смог получить доступ к MCU Orange PI

[mcu host]
serial: /tmp/klipper_host_mcu

После выполнения этих действий и перезагрузки Orange PI вы получите доступ к шинам и GPIO вашего одноплатного компьютера.

чтобы датчик отображался добавим его в конфиг и добавим маленький макрос на будущее.

[temperature_sensor Камера_принтера]
sensor_type: BME280
i2c_address: 118
i2c_mcu: host
i2c_bus: i2c.0

[gcode_macro QUERY_BME280]
gcode:
    {% set sensor = printer["bme280 Камера_принтера"] %}
    {action_respond_info(
        "Температура: %.2f C\n"
        "Давление: %.2f Миллибар\n"
        "Влажность: %.2f%%" % (
            sensor.temperature,
            sensor.pressure,
            sensor.humidity))}```

картинка

настройка i2c основана на этом мануале https://devdotnet.org/post/rabota-s-gpio-v-linux-na-primere-banana-pi-bpi-m64-chast-5-device-tree-overlays-shina-i2c-podkyuchenie-datchikov-bosh-bmx/ покупал датчик [тут] (http://alii.pub/6hx44l)