Небольшая статья, как сделать такой симпатичный термометр с дисплеем и цветовой индикацией. Термометр работает с Raspberry Pi Zero W.
Он автоматически переключает список городов и отображает температуру на OLED-дисплее и светодиодной шкале. Также можно выбрать город для отображения вручную с помощью кнопок сбоку. Термометр имеет функцию энергосбережения и отключит светодиоды и OLED, если он неактивен в течение нескольких минут, и снова включится, если обнаружит значительное изменение освещенности (контролируемое фоторезистором).

Инструменты и материалы:
-Raspberry Pi Zero;
-1,5-дюймовый OLED-модуль;
— Блок питания 5 В 2,4 А;
-Светодиодная лента WS2812B- 5 метров;
-Крепеж;
-Печатная плата;
-Паяльные принадлежности;
-Клеевой пистолет;
-Столярный клей;
-Фанера;
-Акрил;
-ЧПУ с лазерной резкой;

Шаг первый: данные о погоде
Мастер собирает данные о погоде бесплатно с OpenWeatherMap.org. На этом сайте предоставляют данные о погоде из множества крупных городов многих стран мира.
Сначала нужно зарегистрироваться на OpenWeatherMap.org.
Затем скопировать ваш API-ключ для использования позже.
Дальше загрузить, разархивировать и открыть файл city.list.json.gz.
Выбрать нужные города и скопировать их идентификаторы.
city.list.json.gz

Шаг второй: настройка R Pi и код
Сначала мастер подключил дисплей к Raspberry, и установил необходимые библиотеки для OLED, как описано производителем здесь.
Дальше нужно убедится, что R Pi подключен к интернету.
1. Включите функцию I2C и SPI в raspi-config в разделе «Interfacing Options» . Выйдите и перегрузите программу.
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. Запустите следующую команду, чтобы открыть файл конфигурации:
sudo nano / etc / modules
Убедитесь, что следующие две строки находятся в файле конфигурации, затем выйдите и перезагрузитесь:
i2c-bcm2708
i2c-DEV
5 Запустите:
git clone https: / /github.com/Anders644PI/1.5inch-OLED-with-RPi .git
6. Перейдите в новую папку и разархивируйте RPi_GPIO-0_6_5.zip :
unzip RPi_GPIO-0_6_5.zip
Запустите для установки библиотек:
cd RPi_GPIO-0_6_5 sudo python setup.py install
7. Вернитесь в основную папку:
cd /home/pi/1.5inch-OLED-with-RPi/
Или
cd
spidev-3_2.zip .
8. Затем распакуйте Pi.zip:
unzip wiringPi cd wiringPi
Выполнить команды:
chmod 777 build ./build
Проверить установку:
gpio –v
9. Вернитесь в основную папку и разархивируйте bcm2835-1_45.zip
unzip bcm2835-1_45.zip
cd bcm2835-1_45
10. Запустить:
./configure
make
sudo make check
sudo make install
11. Снова вернитесь к /home/pi/1.5inch-OLED-with-RPi/ и запустите, чтобы проверить дисплей:
cd /Demo_Code/Python/
sudo python main.py
Затем мастер устанавливает библиотеки для светодиодной ленты WS2812B, следуя этому руководству.
Дальше нужно написать и загрузить код. Код можно загрузить здесь.

Шаг третий: настройка API погоды
1. Перейдите в 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 на свой api с openweathermap.org, как показано на рисунке выше. Также измените идентификаторы городов и названия городов в соответствии с желаемым местоположением.

Шаг четвертый: печатная плата
Дальше мастер спроектировал и заказал печатную плату.

Шаг пятый: лазерная резка + сборка
Затем мастер спроектировал и вырезал корпус из фанеры, и светорасcеиватель из акрила.
После этого мастер установил электронику и светодиодную ленту в корпус. Собрал корпус.
Кнопки мастер напечатал на 3D-принтере.
Все файлы можно найти и скачать на GitHub.

Все готово.

Источник (Source)

Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

Источник: usamodelkina.ru