Code Every Day 🚀
30 subscribers
687 photos
243 videos
22 files
174 links
Просто для развлечения
Download Telegram
День 3: Заметка 1: Разбор как программировать Arduino для работы с RGB матрицей

Всем привет!

🧑‍💻 Урок с разбором:
👉 как подключить зависимость Adafruit GFX Library к проекту
👉 как подготовить код для работы rgb матрицей
👉 перекраска панели в разные цвета, тест на битые пиксели

📷 К посту приложено два видео:
👉 первое - пример lifecoding с комментариями по ходу дела
👉 второе - результат работы

#Arduino
#RGBMatrix
#LifeCoding
👍1
День 4: Заметка 1: Работа стоя 🛠🧍‍♂

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

💊 В продолжении темы про здоровье и современные тренды офисной работы, хотел бы поделиться небольшим опытом в организации стоячего рабочего места.

👉 Современный человек, профессиональная деятельность которого связана с компьютером, обычно весь рабочий день проводит сидя.
Со временем - это становиться проблемой.

🪑 О вреде сидячего образа жизни можно прочитать в интернете, статей очень много. Я бы хотел подсветить то, с чем столкнулся я.

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

🤔 Давно присматривался к модному подходу - работать стоя. Хотелось попробовать. Изучал, какие есть решения, их много. Самые распространенные это универсальные столы, которые способны менять высоту столешницы. Есть с механическим или электрическим приводом.

⚠️ Конечно, обычно такое удовольствие недешевое 💰. Это первая проблема.
⚠️ Вторая проблема в том, что часто такие столы не предполагают встроенных ящиков, а он нужен, ну по крайней мере мне. Все необходимые вещи (от смартфонов, прочей техники) обычно отправляются у меня в такой ящик.
⚠️ Третья проблема заключалась в том, что у меня уже есть отличный стол, не хотелось бы его менять на другой.

🔎 Я начал смотреть конторки и стойки, которые не занимают много места, при этом легко собираются (и разбираются, на случай, если дело не пойдет).

💡 В итоге я остановился на небольшой стойке от нашей отечественной компании "Живи стоя" из Питера.
❤️‍🔥 Надо признать, что ребята из этой компании относятся с душой к своей работе, это проявляется во всех мелочах, от продуманности конструкций, до упаковки деталей продукта, который приобретает покупатель.

🛠 Я совсем недавно начал свой эксперимент (на текущий момент около 2 месяцев), но уже готов поделиться первыми впечатлениями.

🛠 Выработал следующий подход:
- от 1 до 3 часов я работаю стоя в течение всего дня. Причем сессия работы стоя не превышает 30-45 минут, первое время начинал с 15 минут;
- если ощущаю дискомфорт от работы стоя, то прекращаю стоять и присаживаюсь на стул;
- время стоячей работы контролирую с помощью таймера на фитнес треккере, так как без этого можно увлечься.
- после сессии работы стоя, следует сессия работы сидя, чтобы ноги отдохнули.

👨‍💻 Писать код стоя можно, но поначалу немного непривычно, немного все ж отличается то, как руки лежат на клавиатуре. При работе стоя есть правило расположения рук, я его соблюдаю, дискомфорта не испытывал пока ни разу.
Со временем код писать стоя привыкаешь, уже кажется обычным делом.

Первое время я проводил много рутинной работы стоя:
- звонки с коллегами, написание документации, проектирование сервисов, то есть это та работа, которая не требует большого творческого подхода, хотя проектирование сервисов требует, но в моем случае это просто типичные вещи, сделанные по аналогии;
- работа с треккером задач
- изучение требований и прочее.

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

👉 Смена формата работы произвела на меня большой эмоциональный всплеск энергии, появился некоторый энтузиазм в тех задачах, где он угас.

Вообщем про работу стоя я еще напишу дальше по ходу дела.

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

#Life
👍1🔥1
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