Обсуждаем контроллеры компании Atmel.
Ответить

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

Сб дек 12, 2020 11:29:04

Здравствуйте. Очень понравилась тема. Очень хочу повторить, но ограничен в возможностях. Возможно ли такое повторить на ардуино, там ведь тоже atmega328p. Кто пробовал, научите пожалуйста, или поделитесь скетчем, буду благодарен.

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

Вс дек 13, 2020 08:31:01

Здравствуйте. Очень понравилась тема. Очень хочу повторить, но ограничен в возможностях. Возможно ли такое повторить на ардуино, там ведь тоже atmega328p. Кто пробовал, научите пожалуйста, или поделитесь скетчем, буду благодарен.




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

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

Выбираем…
файл прошивки
плату ардуино
COM-порт
Скорость передачи данных
Нажимаем кнопку Upload (Загрузить). :beer: :)))

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

Вс дек 13, 2020 10:29:33

а скетч нельзя ли выложить, с целью возможности правок?

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

Вс дек 13, 2020 10:38:10

дык, прошивку автор не прячет, она лежит на страницах темы и не одна выбирай, правь, улучшай....

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

Вс дек 13, 2020 11:05:24

Вы разницу между прошивкой и скетчем понимаете?
- Мыколо, дай воды напытыся
- заходь, пый
- так у тебэ ж собака зла бэз прывъязу
- ото ж!

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

Вс дек 13, 2020 11:34:10

Вы разницу между прошивкой и скетчем понимаете?
- Мыколо, дай воды напытыся
- заходь, пый
- так у тебэ ж собака зла бэз прывъязу
- ото ж!


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

Добавлено after 12 minutes 18 seconds:
дык, прошивку автор не прячет, она лежит на страницах темы и не одна выбирай, правь, улучшай....

Может научите, как это править шестнадцатиричный код, и в каком именно месте. Для примера как заменить датчик BMP280 на BME280 в каком месте кода прописать путь к подключаемой библиотеке, в каком месте кода прописать ногу ардуины для подключения сигнала влажности с того же датчика? А был бы скетч, было бы место для "творчества" а так это сплошной плагиат, да и то без возможности переноса на другую платформу.

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

Вс дек 13, 2020 11:38:22

Вы разницу между прошивкой и скетчем понимаете?
- Мыколо, дай воды напытыся
- заходь, пый
- так у тебэ ж собака зла бэз прывъязу
- ото ж!


грубо...

понимаю... и догадываюсь, что вы лодырь.
хотите чтобы кто то переделал авторскую пошивку в ардуиновский скетч
что бы вы там что то правили и добавляли... может проще вам сесть и в никнуть в программу Atmel Studio...
флаг вам в руки :kill:

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

Вс дек 13, 2020 11:42:01

Мне то оно зачем.)

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

Вс дек 13, 2020 12:10:19

[uquote="OKF",url="/forum/viewtopic.php?p=3940927#p3940927"]
понимаю... и догадываюсь, что вы лодырь.
:kill:

Лодырь бы не заморачивался даже в терминологии, а взял бы готовый HEX и залил бы в мегу328 указанными тут способами, а вот жмоты всяческим образом способствуют угнетению интереса к теме у новичков, ведь даже для понимания процесса нужна какая то база, чтобы на ее основе меняя те или иные константы и переменные видеть и осмысливать результат своих действий.

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

Вс дек 13, 2020 14:52:42

В АрдуиноIDE тот же GCC, исходники есть, в чем проблема?

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

Вс дек 13, 2020 15:13:23

В АрдуиноIDE тот же GCC, исходники есть, в чем проблема?


где исходники?, одни хексы на каждой странице!

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

Вс дек 13, 2020 15:18:54

На 1 странице вот
на 3 странице вот, вот, вот
Дальше лень искать.

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

Вс дек 13, 2020 16:16:03

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

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

Вс дек 13, 2020 17:24:18

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

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

Вс дек 13, 2020 17:27:01

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: В работе не проверял.

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

Вс дек 13, 2020 19:10:40

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

Только лучше не добавляем, а перемещаем i2c.c в .. (папку со скетчем).

А если взять BME280_DS3231_Mega328_DS18B20_V5.rar, то ещё и кучу ошибок нужно править.
И что, начинающий до всего этого дойдёт?

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

Вс дек 13, 2020 19:43:25

OKF писал(а):И что, начинающий до всего этого дойдёт?
Ему посоветовали Atmel Studio, там ничего ни куда не надо перемещать и добавлять, и все собирается.

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

Сб янв 30, 2021 21:42:51

всем привет, собрал часы на три диода в сигменте, как увеличить скорость отрисовки,не успевают прорисовываться некоторые цифры https://yadi.sk/d/jC5jhb8H1dkEmQ

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

Пн фев 01, 2021 20:08:50

На основе прошивки 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 KiB) Скачиваний: 230

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

Вт апр 06, 2021 17:27:12

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