Не скучные часы на WS2812B

Обсуждаем контроллеры компании Atmel.
67RUS
Родился
Сообщения: 10
Зарегистрирован: Сб дек 12, 2020 11:16:26

Re: Не скучные часы на WS2812B

Сообщение 67RUS »

Здравствуйте. Очень понравилась тема. Очень хочу повторить, но ограничен в возможностях. Возможно ли такое повторить на ардуино, там ведь тоже atmega328p. Кто пробовал, научите пожалуйста, или поделитесь скетчем, буду благодарен.
Реклама
Аватара пользователя
Serzh2000
Опытный кот
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

Re: Не скучные часы на WS2812B

Сообщение Serzh2000 »

[uquote="67RUS",url="/forum/viewtopic.php?p=3940372#p3940372"]Здравствуйте. Очень понравилась тема. Очень хочу повторить, но ограничен в возможностях. Возможно ли такое повторить на ардуино, там ведь тоже atmega328p. Кто пробовал, научите пожалуйста, или поделитесь скетчем, буду благодарен.[/uquote]



элементарно!!! 8)

для загрузки hex в ардуино я использую программу XLoader
https://jarduino.ru/2019/12/23/arduino-hex-upload/

Выбираем…
файл прошивки
плату ардуино
COM-порт
Скорость передачи данных
Нажимаем кнопку Upload (Загрузить). :beer: :)))
Реклама
67RUS
Родился
Сообщения: 10
Зарегистрирован: Сб дек 12, 2020 11:16:26

Re: Не скучные часы на WS2812B

Сообщение 67RUS »

а скетч нельзя ли выложить, с целью возможности правок?
Аватара пользователя
Serzh2000
Опытный кот
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

Re: Не скучные часы на WS2812B

Сообщение Serzh2000 »

дык, прошивку автор не прячет, она лежит на страницах темы и не одна выбирай, правь, улучшай....
Реклама
Эиком - электронные компоненты и радиодетали
OKF
Это не хвост, это антенна
Сообщения: 1393
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: Не скучные часы на WS2812B

Сообщение OKF »

Вы разницу между прошивкой и скетчем понимаете?
- Мыколо, дай воды напытыся
- заходь, пый
- так у тебэ ж собака зла бэз прывъязу
- ото ж!
Реклама
67RUS
Родился
Сообщения: 10
Зарегистрирован: Сб дек 12, 2020 11:16:26

Re: Не скучные часы на WS2812B

Сообщение 67RUS »

[uquote="OKF",url="/forum/viewtopic.php?p=3940927#p3940927"]Вы разницу между прошивкой и скетчем понимаете?
- Мыколо, дай воды напытыся
- заходь, пый
- так у тебэ ж собака зла бэз прывъязу
- ото ж![/uquote]

Во Во, чтобы было понятнее скетч это не компилированная версия прошивки "текст" которой содержит не двоичный или шестнадцатеричный код из циферок и букаф от A до F а скетч это текст где много понятных по смыслу слов на англицком изыке.

Добавлено after 12 minutes 18 seconds:
[uquote="Serzh2000",url="/forum/viewtopic.php?p=3940908#p3940908"]дык, прошивку автор не прячет, она лежит на страницах темы и не одна выбирай, правь, улучшай....[/uquote]
Может научите, как это править шестнадцатиричный код, и в каком именно месте. Для примера как заменить датчик BMP280 на BME280 в каком месте кода прописать путь к подключаемой библиотеке, в каком месте кода прописать ногу ардуины для подключения сигнала влажности с того же датчика? А был бы скетч, было бы место для "творчества" а так это сплошной плагиат, да и то без возможности переноса на другую платформу.
Реклама
Аватара пользователя
Serzh2000
Опытный кот
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

Re: Не скучные часы на WS2812B

Сообщение Serzh2000 »

[uquote="OKF",url="/forum/viewtopic.php?p=3940927#p3940927"]Вы разницу между прошивкой и скетчем понимаете?
- Мыколо, дай воды напытыся
- заходь, пый
- так у тебэ ж собака зла бэз прывъязу
- ото ж![/uquote]

грубо...

понимаю... и догадываюсь, что вы лодырь.
хотите чтобы кто то переделал авторскую пошивку в ардуиновский скетч
что бы вы там что то правили и добавляли... может проще вам сесть и в никнуть в программу Atmel Studio...
флаг вам в руки :kill:
OKF
Это не хвост, это антенна
Сообщения: 1393
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: Не скучные часы на WS2812B

Сообщение OKF »

Мне то оно зачем.)
67RUS
Родился
Сообщения: 10
Зарегистрирован: Сб дек 12, 2020 11:16:26

Re: Не скучные часы на WS2812B

Сообщение 67RUS »

[uquote="Serzh2000",url="/forum/viewtopic.php?p=3940942#p3940942"][uquote="OKF",url="/forum/viewtopic.php?p=3940927#p3940927"]
понимаю... и догадываюсь, что вы лодырь.
:kill:[/uquote]
Лодырь бы не заморачивался даже в терминологии, а взял бы готовый HEX и залил бы в мегу328 указанными тут способами, а вот жмоты всяческим образом способствуют угнетению интереса к теме у новичков, ведь даже для понимания процесса нужна какая то база, чтобы на ее основе меняя те или иные константы и переменные видеть и осмысливать результат своих действий.
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Не скучные часы на WS2812B

Сообщение Dimon456 »

В АрдуиноIDE тот же GCC, исходники есть, в чем проблема?
67RUS
Родился
Сообщения: 10
Зарегистрирован: Сб дек 12, 2020 11:16:26

Re: Не скучные часы на WS2812B

Сообщение 67RUS »

[uquote="Dimon456",url="/forum/viewtopic.php?p=3941042#p3941042"]В АрдуиноIDE тот же GCC, исходники есть, в чем проблема?[/uquote]

где исходники?, одни хексы на каждой странице!
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Не скучные часы на WS2812B

Сообщение Dimon456 »

На 1 странице вот
на 3 странице вот, вот, вот
Дальше лень искать.
67RUS
Родился
Сообщения: 10
Зарегистрирован: Сб дек 12, 2020 11:16:26

Re: Не скучные часы на WS2812B

Сообщение 67RUS »

Мы так и непоняли друг друга, наверное я попал на украинский форум, ухожу от сюда, спасибо за помощь.
b612
Вымогатель припоя
Сообщения: 584
Зарегистрирован: Чт янв 07, 2010 16:58:11
Контактная информация:

Re: Не скучные часы на WS2812B

Сообщение b612 »

[uquote="67RUS",url="/forum/viewtopic.php?p=3941087#p3941087"]Мы так и непоняли друг друга, наверное я попал на украинский форум, ухожу от сюда, спасибо за помощь.[/uquote]фото вашей красивой @опы киньте, а то мы так и не поймём, чего лишились
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Не скучные часы на WS2812B

Сообщение Dimon456 »

67RUS писал(а):наверное я попал на украинский форум
Попытка №2.
На примере последних исходников с третей странице этой темы: Time_WS2812b_84LED_2Led_1Seg_Mega328p.rar

Открываем АрдуиноИДЕ,
Файл -> Новый
Это удаляем
Спойлер

Код: Выделить всё

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}
Открываем из архива Time_WS2812b_84LED_2Led_1Seg_Mega328p.rar файл main.c, копируем оттуда все в окно АрдуиноИДЕ.
В архиве Time_WS2812b_84LED_2Led_1Seg_Mega328p.rar, где взяли main.c есть папочка Lib, копируем ее туда где сохранили ваш скейтч,

В окне АрдуиноИДЕ, куда скопировали main.c, это в самом начале будет, ищем строку

Код: Выделить всё

#include "Lib/I2C.h"
добавляем ниже строку

Код: Выделить всё

#include "Lib/I2C.c"
Незабываем выбрать плату Ардуино про мини, Процессор Атмега168 или Атмега328, 16МГц.
Что бы не ругался, верхнюю строку за комментировать

Код: Выделить всё

//#define F_CPU 16000000UL
Нажимаем "Проверить"
СпойлерДля 328

Код: Выделить всё

Скетч использует 4220 байт (13%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 485 байт (23%) динамической памяти, оставляя 1563 байт для локальных переменных. Максимум: 2048 байт.
Для 168

Код: Выделить всё

Скетч использует 4220 байт (29%) памяти устройства. Всего доступно 14336 байт.
Глобальные переменные используют 485 байт (47%) динамической памяти, оставляя 539 байт для локальных переменных. Максимум: 1024 байт.
PS: В работе не проверял.
OKF
Это не хвост, это антенна
Сообщения: 1393
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: Не скучные часы на WS2812B

Сообщение OKF »

[uquote="Dimon456",url="/forum/viewtopic.php?p=3941130#p3941130"]...добавляем ниже строку

Код: Выделить всё

#include "Lib/I2C.c"
[/uquote]
Только лучше не добавляем, а перемещаем i2c.c в .. (папку со скетчем).

А если взять BME280_DS3231_Mega328_DS18B20_V5.rar, то ещё и кучу ошибок нужно править.
И что, начинающий до всего этого дойдёт?
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Не скучные часы на WS2812B

Сообщение Dimon456 »

OKF писал(а):И что, начинающий до всего этого дойдёт?
Ему посоветовали Atmel Studio, там ничего ни куда не надо перемещать и добавлять, и все собирается.
H7nikolai
Первый раз сказал Мяу!
Сообщения: 35
Зарегистрирован: Сб апр 18, 2020 04:21:54
Откуда: Калининград

Re: Не скучные часы на WS2812B

Сообщение H7nikolai »

всем привет, собрал часы на три диода в сигменте, как увеличить скорость отрисовки,не успевают прорисовываться некоторые цифры https://yadi.sk/d/jC5jhb8H1dkEmQ
Dimon456
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Re: Не скучные часы на WS2812B

Сообщение Dimon456 »

На основе прошивки BME280_DS3231_Mega328_DS18B20_V5.rar сделал "конструктор-лего".
Как он работает:
Вот это
СпойлерИзображение.

Изображение
порядок отрисовки в прошивке.
В файле main_tablica.h есть таблица, эта таблица для текущего порядка светиков.

Как она редактируется: к примеру имеем какую-то последовательность
СпойлерИзображение
для верхнего рисунка таблица будет иметь вид
Спойлер

Код: Выделить всё

#define led_strip	30		// длина ленты

volatile unsigned char *main_tabl [led_strip] =
{
		&temp[30],
		&temp[32],
		&temp[34],
		&temp[36],
		&temp[38],
		&temp[40],
		&temp[42],
		&temp[44],
		&temp[46],
		&temp[48],
		&temp[50],
		&temp[52],
		&temp[54],
		&temp[56],
		&temp[58],
		&temp[59],
		&temp[60],
		&temp[62],
		&temp[64],
		&temp[66],
		&temp[68],
		&temp[70],
		&temp[72],
		&temp[74],
		&temp[76],
		&temp[78],
		&temp[80],
		&temp[82],
		&temp[84],
		&temp[86]
};
соответственно, только часы и минуты, секунда отбросили
для нижнего рисунка таблица примет вид
Спойлер

Код: Выделить всё

#define led_strip	58		// длина ленты

volatile unsigned char *main_tabl [led_strip] =
{
		&temp[30],
		&temp[31],
		&temp[32],
		&temp[33],
		&temp[34],
		&temp[35],
		&temp[36],
		&temp[37],
		&temp[38],
		&temp[39],
		&temp[40],
		&temp[41],
		&temp[42],
		&temp[43],
		&temp[44],
		&temp[45],
		&temp[46],
		&temp[47],
		&temp[48],
		&temp[49],
		&temp[50],
		&temp[51],
		&temp[52],
		&temp[53],
		&temp[54],
		&temp[55],
		&temp[56],
		&temp[57],
		&temp[58],
		&temp[59],
		&temp[60],
		&temp[61],
		&temp[62],
		&temp[63],
		&temp[64],
		&temp[65],
		&temp[66],
		&temp[67],
		&temp[68],
		&temp[69],
		&temp[70],
		&temp[71],
		&temp[72],
		&temp[73],
		&temp[74],
		&temp[75],
		&temp[76],
		&temp[77],
		&temp[78],
		&temp[79],
		&temp[80],
		&temp[81],
		&temp[82],
		&temp[83],
		&temp[84],
		&temp[85],
		&temp[86],
		&temp[87]
};
соответственно те символы которые отображались в секундах не будут ни когда отображены.
А для такого рисунка
СпойлерИзображение
таблица примет вид
Спойлер

Код: Выделить всё

#define led_strip	174		// длина ленты

volatile unsigned char *main_tabl [led_strip] =
{
		&temp[0],
		&temp[0],
		&temp[1],
		&temp[1],
		&temp[2],
		&temp[2],
		&temp[3],
		&temp[3],
		&temp[4],
		&temp[4],
		&temp[5],
		&temp[5],
		&temp[6],
		&temp[6],
		&temp[7],
		&temp[7],
		&temp[8],
		&temp[8],
		&temp[9],
		&temp[9],
		&temp[10],
		&temp[10],
		&temp[11],
		&temp[11],
		&temp[12],
		&temp[12],
		&temp[13],
		&temp[13],
		&temp[14],
		&temp[14],
		&temp[15],
		&temp[15],
		&temp[16],
		&temp[16],
		&temp[17],
		&temp[17],
		&temp[18],
		&temp[18],
		&temp[19],
		&temp[19],
		&temp[20],
		&temp[20],
		&temp[21],
		&temp[21],
		&temp[22],
		&temp[22],
		&temp[23],
		&temp[23],
		&temp[24],
		&temp[24],
		&temp[25],
		&temp[25],
		&temp[26],
		&temp[26],
		&temp[27],
		&temp[27],
		&temp[29],
		&temp[28],
		&temp[28],
		&temp[30],
		&temp[30],
		&temp[31],
		&temp[31],
		&temp[32],
		&temp[32],
		&temp[33],
		&temp[33],
		&temp[34],
		&temp[34],
		&temp[35],
		&temp[35],
		&temp[36],
		&temp[36],
		&temp[37],
		&temp[37],
		&temp[38],
		&temp[38],
		&temp[39],
		&temp[39],
		&temp[40],
		&temp[40],
		&temp[41],
		&temp[41],
		&temp[42],
		&temp[42],
		&temp[43],
		&temp[43],
		&temp[44],
		&temp[44],
		&temp[45],
		&temp[45],
		&temp[46],
		&temp[46],
		&temp[47],
		&temp[47],
		&temp[48],
		&temp[48],
		&temp[49],
		&temp[49],
		&temp[50],
		&temp[50],
		&temp[51],
		&temp[51],
		&temp[52],
		&temp[52],
		&temp[53],
		&temp[53],
		&temp[54],
		&temp[54],
		&temp[55],
		&temp[55],
		&temp[56],
		&temp[56],
		&temp[57],
		&temp[57],
		&temp[59],
		&temp[58],
		&temp[58],
		&temp[60],
		&temp[60],
		&temp[61],
		&temp[61],
		&temp[62],
		&temp[62],
		&temp[63],
		&temp[63],
		&temp[64],
		&temp[64],
		&temp[65],
		&temp[65],
		&temp[66],
		&temp[66],
		&temp[67],
		&temp[67],
		&temp[68],
		&temp[68],
		&temp[69],
		&temp[69],
		&temp[70],
		&temp[70],
		&temp[71],
		&temp[71],
		&temp[72],
		&temp[72],
		&temp[73],
		&temp[73],
		&temp[74],
		&temp[74],
		&temp[75],
		&temp[75],
		&temp[76],
		&temp[76],
		&temp[77],
		&temp[77],
		&temp[78],
		&temp[78],
		&temp[79],
		&temp[79],
		&temp[80],
		&temp[80],
		&temp[81],
		&temp[81],
		&temp[82],
		&temp[82],
		&temp[83],
		&temp[83],
		&temp[84],
		&temp[84],
		&temp[85],
		&temp[85],
		&temp[86],
		&temp[86],
		&temp[87],
		&temp[87]
};
соответственно будут загораться по два светика за раз.
BME280_DS3231_Mega328_DS18B20_V5_таблица.zip
(105.86 КБ) 292 скачивания
bajdackijigor
Родился
Сообщения: 2
Зарегистрирован: Вт апр 06, 2021 16:30:09

Re: Не скучные часы на WS2812B

Сообщение bajdackijigor »

Привет. Очень крутые часы. Есть просьба, в прошивку дописать по 5 светодиодов на один сегмент. Буду очень благодарен))
Ответить

Вернуться в «AVR»