Оглавление:
- Запасы
- Шаг 1. Данные о погоде
- Шаг 2: Настройка RPi и написание кода
- Шаг 3. Настройка Weather API
- Шаг 4: индивидуальная печатная плата
Видео: Цифровой светодиодный термометр RPi: 6 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Raspbian OS Узнайте, как я сделал этот цифровой светодиодный термометр с Raspberry Pi Zero W, светодиодной лентой, OLED-дисплеем и специальной печатной платой.
Он автоматически перебирает список городов и отображает температуру на OLED-дисплее и на светодиодах. Но вы также можете вручную выбрать город для отображения с помощью кнопок сбоку. Вдобавок к этому он отключит светодиоды и OLED, если он был неактивен в течение нескольких минут, и снова включится, если обнаружит значительное изменение освещения (контролируется LDR).
Запасы
- Raspberry Pi Zero W и SD-карта с ОС Raspbian
- 1,5-дюймовый OLED-модуль от Waveshare
- Блок питания 5V 2.4A для Raspberry Pi
- 5-метровая светодиодная лента WS2812B, 30 светодиодов / м
- Винты, шайбы, болты и стойки.
- Пользовательская печатная плата с кнопками, переключателем, ldr, штыревыми разъемами и т. Д.
- Паяльник и припой
- Горячий клей
- Клей для дерева
- фанера 4мм и 6мм
- белый акрил 3мм
Шаг 1. Данные о погоде
Благодарим StuffWithKirby за его код для чтения данных о погоде в формате JSON на python.
Я бесплатно собираю данные о погоде с OpenWeatherMap.org, где они предоставляют данные о погоде из множества крупных городов во многих странах.
1. Начните с создания БЕСПЛАТНОЙ учетной записи на OpenWeatherMap.org.
2. Затем скопируйте свой API-ключ, чтобы использовать его позже.
3. Теперь загрузите, разархивируйте и откройте файл city.list.json.gz, найдите города, которые вы хотите отобразить, и скопируйте идентификаторы города для дальнейшего использования.
Шаг 2: Настройка RPi и написание кода
Сначала я подключил OLED к Pi и установил необходимые библиотеки для OLED, как описано производителем здесь.
Убедитесь, что RPi подключен к Интернету.
1. Включите функцию I2C и SPI в raspi-config в разделе «Параметры интерфейса». Выходим и перезагружаемся.
2. Запустите это, чтобы обновить:
sudo apt-get update
3. Выполните следующие команды, чтобы установить необходимые библиотеки:
sudo apt-get install python-dev
sudo apt-get install python-smbus sudo apt-get install python-serial sudo apt-get install python-imaging
4. Выполните следующую команду, чтобы открыть файл конфигурации:
Судо нано / и т.д. / модули
Убедитесь, что следующие две строки находятся в файле конфигурации, затем выйдите и перезагрузитесь:
i2c-bcm2708
i2c-dev
5. Теперь запустите это, чтобы клонировать мой репозиторий GitHub:
git clone https: / /github.com/Anders644PI/1.5inch-OLED-with-RPi.git
6. Зайдите в новую папку и разархивируйте RPi_GPIO-0_6_5.zip:
разархивировать RPi_GPIO-0_6_5.zip
Запустите это, чтобы установить библиотеку:
cd RPi_GPIO-0_6_5
sudo python setup.py установить
7. Вернитесь в основную папку, набрав:
cd /home/pi/1.5inch-OLED-with-RPi/
Или
CD..
Затем проделайте то же самое с spidev-3_2.zip.
8. Затем разархивируйте wiringPi.zip:
разархивировать проводку
cd wiringPi
И запустите эти команды:
chmod 777 сборка
./строить
Проверьте установку с помощью:
gpio –v
9. Вернитесь в основную папку и разархивируйте bcm2835-1_45.zip
разархивировать bcm2835-1_45.zip
cd bcm2835-1_45
10. Затем запустите это, чтобы установить библиотеку:
./configure
сделать sudo сделать проверку sudo сделать установку
11. Снова вернитесь в /home/pi/1.5inch-OLED-with-RPi/ и запустите это, чтобы протестировать OLED:
cd / Demo_Code / Python /
sudo python main.py
Затем мне также пришлось установить библиотеки для светодиодной ленты WS2812B, следуя этому руководству.
После этого оставалось только написать код, что заняло около пары месяцев от начала до конца, работая над ним и заканчивая. Мой код можно найти на моем GitHub здесь.
Шаг 3. Настройка Weather API
1. Переведите CD в LED_Thermometer_Code_and_OLED_driver:
cd LED_Thermometer_Code_and_OLED_driver
2. Затем откройте Official_Digital_LED_Thermometer_v1-0.py:
nano Official_Digital_LED_Thermometer_v1-0.py
Затем прокрутите вниз и отредактируйте api-key на свой api-ключ с openweathermap.org, как показано на изображении выше. Также измените идентификаторы городов и названия городов на желаемые местоположения.
Шаг 4: индивидуальная печатная плата
Второй приз в Raspberry Pi Contest 2020
Рекомендуемые:
Цифровой термометр с Arduino и DS18B20: 7 шагов
Цифровой термометр с Arduino и DS18B20: просто создайте цифровой термометр, который покажет вам текущую температуру в помещении на ЖК-экране. Это проект для начинающих. Аппарат, который вам понадобится: 1. Arduino UNO R3 2. Датчик температуры DS18B20. 3. ЖК-дисплей 16X2. 4. Соединительные провода. 5
Цифровой термометр с использованием NodeMCU и LM35: 5 шагов
Цифровой термометр с использованием NodeMCU и LM35: создайте свой собственный цифровой термометр и отслеживайте температуру через Интернет из любого места. Это руководство является основным, чтобы начать возиться с IoT. Мы будем сопрягать датчик температуры LM35 с NodeMCU 1.0 (ESP-12E). LM35 - датчик температуры
Цифровой термометр Acme с датчиком температуры DS18B20 и ЖК-дисплеем I2C: 5 шагов
Цифровой термометр Acme с датчиком температуры DS18B20 и ЖК-дисплеем I2C: это очень простой проект, который не стоит очень дорого и не займет много времени. Я положил его в коробку Amazon, потому что он там был, но его можно было установить практически во что угодно
Arduino From Scratch - Цифровой термометр: 7 шагов (с изображениями)
Arduino From Scratch - Цифровой термометр: мне нравилось делать проекты с Arduinos, но при цене 30 долларов за штуку ваши проекты могут стать дорогими. Итак, я хочу показать вам, как вы можете создать свой собственный Arduino с нуля и сэкономить на этом деньги. Сделайте свой собственный Arduino примерно за 8 долларов. Для этого поучительно
Многофункциональный цифровой термометр: 5 шагов (с изображениями)
Многофункциональный цифровой термометр: это руководство покажет вам, как создать многофункциональную платформу с термометром, хронографом (таймером обратного отсчета), таймером обратного отсчета и световым дисплеем. Он также предназначен для использования в качестве платформы для других аналоговых датчиков или любых других функций, которые вы можете