Code Every Day 🚀
30 subscribers
687 photos
243 videos
22 files
174 links
Просто для развлечения
Download Telegram
Code Every Day 🚀
День 4: Заметка 1: Работа стоя 🛠🧍‍♂ 🤚Всем привет! 💊 В продолжении темы про здоровье и современные тренды офисной работы, хотел бы поделиться небольшим опытом в организации стоячего рабочего места. 👉 Современный человек, профессиональная деятельность которого…
День 4: Заметка 2: Фонарик для подсветки клавиатуры

💡 Работать по вечерам помогает специальный ночник

⚠️ Не хотелось ставить лампу на стойку, провода тянуть, купил светодиодный фонарик

📸 Получилось так как на фото.

⚠️ Жаль, что фонарик на батарейках (пока ни разу не менял, хотя вечером не часто работаю стоя, просто если захочется), если бы был на аккамуляторе, то был бы 🔥

#Life
👍1
День 4: Заметка 3: Иногда лучше один раз услышать🦻, чем сто раз увидеть 👓

👉Давно думал о том, чтобы завести подкаст, кажется, есть о чем можно было бы рассказать.

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

Ссылка https://podster.fm/podcasts/CodeEveryDay

#Подкаст
#Каналы
👍3
День 5: Заметка 1: Таймер обратного отсчета на Arduino с выводом на RGB панель

🤚 Всем привет!

Давайте сегодня посмотрим, как можно создать счетчик обратного отсчета в Arduino с выводом на RBG панель.

👨‍💻 Для этого напишем небольшую программу, мы рассмотрим методы для работы с текстом экземпляра RGBmatrixPanel

👉 Пусть у нас перменная для хранения экземляра RGBmatrixPanel называется matrix.

Как мы разобрали в прошлом уроке:
👉 matrix.Color333(int r, int g, int b) - это функция, которая описывает цвет в формате RGB, она нам сегодня пригодиться, так как мы будем подкрашивать цифры счетчика в нужный нам цвет.

Для вывода текста на экран нам будет достаточно использовать следующие функции:

👉 matrix.setTextColor(matrix.Color333(r, g, b)); - указываем, какого цвета будет текст
👉 matrix.setCursor(int x, int y); - указывается начальная координата текста (верхний левый угол)
👉 matrix.print(string text); - выводим текст
👉 matrix.setTextSize(int size); - указывает размер текста, size изменяется [1, 8], причем символ размером 1 занимает 8 на 5 пикселей на матрице.

Вцелом этого будет достаточно.

В методе setup() подготавливаем матрицу

void setup() {
matrix.begin();
}

Заводим переменную, которая будет хранить текущее состояние счетчика

int count = 10;

В методе loop() уменьшаем значение на единицу с задержкой в 1 секунду

void loop() {
count = count - 1;
delay(1000);
}

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

void loop() {
//очистка экрана от текста, который был показан ранее
matrix.fillScreen(0);

//вывод на экран состояния счетчика
matrix.setTextColor(matrix.Color333(7, 0, 0));
matrix.setCursor(27, 13);
matrix.print(counter);
matrix.swapBuffers(false);

//уменьшение счетчика на единицу
count = count - 1;
delay(1000);
}

По идее на этом все, но есть одна проблема, если счетчик дойдет до нуля, он станет отрицательным в следующем цикле.
Давайте подправим это, то есть если таймер дошел до нуля, то пусть нуль и выводится.


void loop() {


//уменьшение счетчка на единицу
if (count > 0) {
count = count - 1;
}
delay(1000);
}

Можно немного улучшить код, выделив логику смены состояния счетчика и работы с текстом в отдельные методы:

void changeState() {
if (count > 0) {
count = count - 1;
}
}


void printCounter() {
printText(String(count));
}

void printText(string value) {
//очистка экрана от текста, который был показан ранее
matrix.fillScreen(0);

//вывод на экран состояния счетчика
matrix.setTextColor(matrix.Color333(7, 0, 0));
matrix.setCursor(27, 13);
matrix.print(value);
}

В итоге метод loop():

void loop() {
printCounter();
changeState();
}

📷 Пример работы на видео (в следующем сообщении)
📷 Также пример написания кода в отдельном видео(в следующем сообщении), в конце я забыл добавить метод matrix.swapBuffers(false), просто поторопился =).
В приложеном файле программы с видео он есть.

#Arduino
#RGBMatrix
#LifeCoding
👍2
День 5: Заметка 2: CodeEveryDay 🚀на RuTube💪

Завел канал на RuTube

Буду выкладывать большие видео life coding туда, а то здесь не очень удобно с этим работать.
Может быть, какие-то промо ролики тоже туда буду выкладывать. Интересно посмотреть вцелом на возможности площадки. Вроде бы у площадки идет активное развитие.

#Каналы
👍2