Оглавление:

Умная ночная подсветка Raspberry Pi: 5 шагов
Умная ночная подсветка Raspberry Pi: 5 шагов

Видео: Умная ночная подсветка Raspberry Pi: 5 шагов

Видео: Умная ночная подсветка Raspberry Pi: 5 шагов
Видео: Фоновая подсветка телевизора своими руками 2024, Ноябрь
Anonim
Умный ночной светильник Raspberry Pi
Умный ночной светильник Raspberry Pi

Я недавно вставал рано, много раз на улице все еще темно, но я не хочу включать свет, чтобы повлиять на отдых моей жены, поэтому я подумал о покупке ночника. Я искал много магазинов ночников, но не думаю, что это мне нужно, но я увидел ночник под названием DockerPi в магазине на Amazon, которым управляет Raspberry Pi. Это очень хорошо и может предоставить функции DIY. Я прочитал вики-описание этого продукта, им можно напрямую управлять из командной строки, как программист, использующий систему Linux, я думаю, что это очень круто, поэтому я купил его и начал этот проект.

Шаг 1. Шаг 1. Подготовьте все необходимое

Шаг 1. Подготовьте все необходимое
Шаг 1. Подготовьте все необходимое

После распаковки я снимаю защитную крышку с акриловой пластины, а затем прикрепляю этот модуль DockerPi к моему Raspberry Pi с помощью винтов и медной палки. это зафиксировано стабильно.

Шаг 2: Шаг 2: прошейте последний образ ОС Rasbpian на SD-карту

Шаг 2: прошейте последний образ ОС Rasbpian на SD-карту
Шаг 2: прошейте последний образ ОС Rasbpian на SD-карту
Шаг 2: прошейте последний образ ОС Rasbpian на SD-карту
Шаг 2: прошейте последний образ ОС Rasbpian на SD-карту
Шаг 2: прошейте последний образ ОС Rasbpian на SD-карту
Шаг 2: прошейте последний образ ОС Rasbpian на SD-карту

Я загружаю последний образ Raspbian по адресу:

а затем прошейте изображение с помощью программного обеспечения под названием: etcher

вы можете скачать здесь:

разархивируйте файл образа из пакета gzip, и вы получите файл *.img, выберите образ и выберите диск, на котором ваш компьютер распознал карту TF, просто нажмите «Flash» и подождите несколько минут, это будет сделано.

а затем извлеките карту TF, вставьте ее в Raspberry Pi и включите.

Шаг 3: Шаг 3: Включите функцию I2C из Raspi-config

Шаг 3: Включите функцию I2C из Raspi-config
Шаг 3: Включите функцию I2C из Raspi-config
Шаг 3: Включите функцию I2C из Raspi-config
Шаг 3: Включите функцию I2C из Raspi-config
Шаг 3: Включите функцию I2C из Raspi-config
Шаг 3: Включите функцию I2C из Raspi-config
Шаг 3: Включите функцию I2C из Raspi-config
Шаг 3: Включите функцию I2C из Raspi-config

Когда Raspberry pi запустился, я открыл терминал и набрал эту команду: sudo raspi-config

и перешел в «Параметры интерфейса», выбрал «I2C» и включил его. почему я должен использовать эту команду?

Поскольку модуль ночника DockerPi использует протокол I2C для связи с Raspberry Pi.

Шаг 4: Шаг 4: вставьте акриловую панель в прорезь

Шаг 4: вставьте акриловую панель в прорезь
Шаг 4: вставьте акриловую панель в прорезь
Шаг 4: вставьте акриловую панель в прорезь
Шаг 4: вставьте акриловую панель в прорезь
Шаг 4: вставьте акриловую панель в прорезь
Шаг 4: вставьте акриловую панель в прорезь

Он очень хорошо подходит для слота, и на картинке видно, что акриловая панель может оставаться в слоте.

Следующий шаг - запуск тестового кода, чтобы проверить, правильно ли он работает.

Я загрузил пример кода с github, набрав эту команду в терминале на raspberry Pi.

cd ~

git clone

cd dockerpi / Nightlight /

sudo./Nightligh.sh

а затем мой ночник включается и светится.

Я прочитал инструкцию на его вики и нашел всю диаграмму регистров светодиодов.

Следующим шагом будет самая забавная часть, я хочу добавить инфракрасный пироэлектрический датчик человеческого тела, пусть он обнаружит, что я загорелся, чтобы зажечь этот маленький ночник ~

Шаг 5: Шаг 5: Настройка инфракрасного пироэлектрического датчика

Шаг 5: Настройте инфракрасный пироэлектрический датчик
Шаг 5: Настройте инфракрасный пироэлектрический датчик
Шаг 5: Настройте инфракрасный пироэлектрический датчик
Шаг 5: Настройте инфракрасный пироэлектрический датчик
Шаг 5: Настройте инфракрасный пироэлектрический датчик
Шаг 5: Настройте инфракрасный пироэлектрический датчик

Здесь мы используем датчик движения PIR. PIR означает пассивный инфракрасный порт. Этот датчик движения состоит из линзы Френеля, инфракрасного детектора и вспомогательной схемы обнаружения. Линза на датчике фокусирует любое инфракрасное излучение, присутствующее вокруг нее, в направлении инфракрасного датчика. Наши тела генерируют инфракрасное тепло, и в результате это тепло улавливается датчиком движения. Датчик выдает сигнал 5 В в течение одной минуты, как только обнаруживает присутствие человека. Он предлагает ориентировочную дальность обнаружения около 6–7 метров и отличается высокой чувствительностью. Когда датчик движения PIR обнаруживает человека, он выдает сигнал 5 В на Raspberry Pi через его GPIO, и мы определяем, что Raspberry Pi должен делать, когда он обнаруживает злоумышленника с помощью кода Python. Здесь мы просто печатаем «Злоумышленник обнаружен».

После того, как вы настроили свой Raspberry Pi, мы можем начать возиться с его контактами GPIO. Здесь мы попробуем мигать светодиодом с помощью скрипта Python. Скопируйте и вставьте следующий код в свой Raspberry Pi. Вы можете сделать это, открыв текстовый редактор «Блокнот» на Raspberry Pi, скопировав в него этот код и сохранив его как файл Python: nightlight.py:

#import libararies.

импортировать RPi. GPIO как GPIO

время импорта

импортировать smbus

DEVICE_BUS = 1

DEVICE_ADDR = 0x15

GPIO.setwarnings (Ложь)

GPIO.setmode (GPIO. BOARD)

GPIO.setup (11, GPIO. IN) # Считать вывод с датчика движения PIR

bus = smbus. SMBus (DEVICE_BUS) # экземпляр smbus для устройства i2c, означает ночник.

в то время как True:

пытаться:

i = GPIO.вход (11)

if i == 0: # Когда выходной сигнал датчика движения НИЗКИЙ

print ("Злоумышленникам запрещено", i)

для i в диапазоне (1, 25):

bus.write_byte_data (DEVICE_ADDR, i, 0x00) # Выключить светодиод

time.sleep (0,2)

time.sleep (0,1)

elif i == 1: # Когда выходной сигнал датчика движения ВЫСОКИЙ

print («Злоумышленник обнаружен», i)

для i в диапазоне (1, 25):

bus.write_byte_data (DEVICE_ADDR, i, 0xFF) # Выключить светодиод

time.sleep (0,2)

time.sleep (0,1)

кроме KeyboardInterrupt как e:

print ("Выйти из цикла")

а затем сохраните его и запустите во время загрузки raspberry pi.

sudo vim.tiny /etc/rc.local

и добавьте эту строку перед выходом 0:

sudo python /home/pi/nightlight.py &

а затем сохраните его и перезагрузите Pi, он будет работать правильно …

Спасибо за просмотр ~

Рекомендуемые: