Ардуино термометр

Источник:

На основе работы Мирко Павлески я создал этот дизайн для 3D-печати.

Спецификация осталась прежней, я использовал Arduino Nano Every вместо Arduino Nano, а также исключил переключатель для изменения режимов отображения. Питание термометра осуществляется через кабель micro USB от Arduino.

спецификация

Ардуино Нано Каждый
Датчик температуры DS18B20
50 светодиодов WS2812B 144 светодиода/м
Резистор 4,7 кОм

Электропроводка

Схема подключения взята из оригинального поста. На самом деле светодиоды нужно сначала припаять к Arduino только с 3 контактами. Для датчика температуры резистор сопротивлением 4,7 кОм подключается параллельно линии передачи данных 5 В.

САПР

Сначала я измерил светодиодную ленту (WS218B 144 светодиодов/м), чтобы определить правильное расстояние между светодиодами. Затем я вставил цифры и отметки для шагов 0,5°C. Я сделал вырезы, чтобы распечатать их в нескольких цветах. Для этого я создал отдельные тела и объединил их в группу, чтобы их можно было снова импортировать как модель в слайсер.

Для Arduino я просто положил небольшую коробку сзади. Там можно красиво спрятать кабели, а также настроить их с помощью него. Arduino я закрепил в коробке с помощью горячего клея.

Печать

Напечатал это на своем Hevo с размером рабочего пространства 420x420x400 и прикрепленной Palette 2S Pro, цифры оранжевые, штрихи справа от цифр с шагом 1 ° C — золотые, а остальные штрихи — белые. У меня также есть текстурный ��ист PEI, который создает красивую поверхность, похожую на порошковую.

Светодиодные ленты легко вставляются снизу. В проводке я исключил кнопку, потому что мне нужен только режим, в котором вы можете видеть линии разных цветов (от синего до красного). Также я обнаружил ошибку в коде программы, при которой строковое отображение не обновлялось корректно. Я исправил это и исправил смещение, потому что отображаемая температура была немного неправильной.

Код
#include «Wire.h» // импортирует библиотеку проводов для обмена данными по I2C
#include
#include
#include
#define ONE_WIRE_BUS 5

OneWire oneWire(ONE_WIRE_BUS);

Датчики температуры Далласа (&oneWire);
плавающий Цельсий = 0;

int buttonPin = 2; // кнопка мгновенного действия на контакте 0
ИНТ OldButtonVal = 0;

#define NUM_PIXEL 50
#определить PIN 6
Полоса Adafruit_NeoPixel = Adafruit_NeoPixel(NUM_PIXEL, PIN, NEO_GRB + NEO_KHZ800);

интервал nPatterns = 3;
INT LightPattern = 2;
целое число = 0;
интервал т = 0;

недействительная настройка()
{
Серийный.начало(9600); //включаем последовательный монитор
полоса.начать();
ОчиститьСтрип();
полоса.шоу();
Strip.setBrightness(2);
pinMode (кнопкаPin, INPUT);
digitalWrite (кнопкаPin, ВЫСОКИЙ); // контакт кнопки ВЫСОКИЙ, поэтому при нажатии он падает до 0

датчики.begin();

}
недействительное тестирование(){
for(int L = 0; L<50; L++) {
ОчиститьСтрип();
Strip.setPixelColor(L,wheel(((205+(L*3)) & 255)));//Градиент от синего (холодного) к зеленому (ок) к красному (теплому), первое значение здесь 205 = начальный цвет, второе значение здесь 42 = конечный цвет
полоса.шоу();
задержка(100);
}
for(int L = 49; L>=0; L--) {
ОчиститьСтрип();
Strip.setPixelColor(L,wheel(((205+(L*3)) & 255)));//Градиент от синего (холодного) к зеленому (ок) к красному (теплому), первое значение здесь 205 = начальный цвет, второе значение здесь 42 = конечный цвет

полоса.шоу();
задержка(100);
}
задержка(1000);
}
недействительная точка () {
датчики.requestTemperatures();
Ceelcius=sensors.getTempCByIndex(0)*2-1,5;

int t = карта (Цельций, 20, 70, 0, NUM_PIXEL);

for(uint16_t L = 0; LОчиститьСтрип();
Strip.setPixelColor(L,wheel(((205+(L*3)) & 255))); //Градиент от синего (холодного) к зеленому (хорошо) и красному (теплому), первое значение здесь 205 = начальный цвет, второе значение здесь 42 = конечный цвет
}
полоса.шоу(); //Вывод на полосу
Serial.print(«Температура: „);
//Serial.print(Цельций);
Serial.print(sensors.getTempCByIndex(0));

задержка(1000);
}

пустая строка() {
датчики.requestTemperatures();
Celcius=sensors.getTempCByIndex(0)*2-1,75;

int t = карта (Цельций, 20, 70, 0, NUM_PIXEL);

for(uint16_t L = 0; L
Strip.setPixelColor(L,wheel(((205+(L*3)) & 255))); //

17:31
3
Нет комментариев. Ваш будет первым!

Ссылка появится после регистрации

Похожие модели

Корпус для адаптера питания
📁 Корпус для преобразователя питания сПодробнее
Корпус для DC регулируемого источника
📁 Корпус для DC регулируемого источникаПодробнее
Крепление "народного" налобного фонаря
📁 Крепление «народного» налобного фонаряПодробнее
Ручка настройки Yaesu FT-817
📁 Ручка VFO для FT-817/818. ИспользуйтеПодробнее
Модель кнопки для Imax B6
Вам понадобится капля клея, чтобыПодробнее
Антенный изолятор "орешек"
Это стандартный изолятор дляПодробнее
Адаптер питания Yaesu FT-817
📁 Вертикальный адаптер под коннекторыПодробнее
Корпус для ESP32 WROOM
📁 Корпус для ESP32 WROOM 📐 STL 🪵 PETGПодробнее
Корпус для ESP32
📁 3D модель корпуса для платы NodeMCU наПодробнее
Станок для намотки катушек с филаментом
📁 Станок для намотки катушек сПодробнее
Кабельный ввод
📁 3D модель для печати кабельнойПодробнее
Кабельный ввод #2
📁 Компактный контейнер с завинчивающейсяПодробнее
Кабельный гермоввод #3
📁 3D модель для печати кабельногоПодробнее
Кабельные вводы различных размеров
📁 Кабельные вводы различных размеровПодробнее
Распределительная коробка
📁 3D модель для печати распределительнойПодробнее
Водозащищенный кабельный ввод
📁 3D модель кабельного ввода сПодробнее
Кабельный ввод #4
📁 3D модель для печати качественногоПодробнее
Распределительная коробка с креплением на стену
📁 Распределительная коробка с креплениемПодробнее
Адаптеры для SIM карт - 3D модель для печати
📁 Адаптеры для SIM карт — 3D модель дляПодробнее
Корпус для метеодатчика на ESP8266
📁 Корпус для метеодатчика на ESP8266Подробнее
Улучшенный дрон «Nano Long Range» на 1х18650
📁 Улучшенный дрон «Nano Long Range» наПодробнее
Электронные "песочные часы"
📁 Электронные «песочные часы» 📐 STLПодробнее
Контейнер для батарей ft-817
📁 Контейнер для аккумулятора FT-817 сПодробнее
Защитный каркас Yaesu FT 817
📁 Защитные рельсы для Yaesu FT 817 и 818Подробнее
YAESU FT-817 Рельсы
📁 Рельсы с подвесом для тангенты иПодробнее
Портативный настольный источник питания
📁 Портативный настольный источникПодробнее
Кейс для хранения батарей ( 21700, 18650, AA, AAA)
📁 Кейс для хранения батарей ( 21700Подробнее
Каркас для батарей 18650
📁 Корпус для Heltec V4 с GPS, проектПодробнее
Корпус для датчика на esp8266
📁 Корпус для датчика на esp8266 📐 STLПодробнее
Корпус для метеодатчика с анемометром
📁 Корпус для метеодатчика с анемометромПодробнее
Посещая этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.