VinokurovSE

VinokurovSE

пикабушник
пол: мужской
поставил 839 плюсов и 277 минусов
отредактировал 0 постов
проголосовал за 0 редактирований
21К рейтинг 115 подписчиков 4866 комментариев 12 постов 2 в "горячем"
1 награда
5 лет на Пикабу
88

Новогодний обмен подарками Санкт-Петербург - Кемерово

Новый Год уже совсем близко. Ёлочка уже стоит, правда ещё не украшена.

Новогоднее настроение нагоняем, даря подарки, и уже получая. И вот моя очередь поделиться радостью от подарка, подаренного моим Дедушкой Морозом, отправив миллионы бит информации Вам!

Почта отработала оперативно (привезли быстрее, чем за год, значит оперативно), и путешествие посылки длилось 11 дней. И вот, посылка уже на столе, нож наизготове, личная информация прикрыта, значит можно начать отчёт о получении подарка!

Новогодний обмен подарками Санкт-Петербург - Кемерово Обмен подарками, Подарки, Кот, Новый Год, Конфеты, Гифка, Длиннопост
Новогодний обмен подарками Санкт-Петербург - Кемерово Обмен подарками, Подарки, Кот, Новый Год, Конфеты, Гифка, Длиннопост
Новогодний обмен подарками Санкт-Петербург - Кемерово Обмен подарками, Подарки, Кот, Новый Год, Конфеты, Гифка, Длиннопост

Можно приступать к ознакомлению!

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

Новогодний обмен подарками Санкт-Петербург - Кемерово Обмен подарками, Подарки, Кот, Новый Год, Конфеты, Гифка, Длиннопост

Что дальше? Дальше - больше!

Новогодний обмен подарками Санкт-Петербург - Кемерово Обмен подарками, Подарки, Кот, Новый Год, Конфеты, Гифка, Длиннопост

Чудесное чайное трио:

Новогодний обмен подарками Санкт-Петербург - Кемерово Обмен подарками, Подарки, Кот, Новый Год, Конфеты, Гифка, Длиннопост

Двоих я опознал: "Трое в лодке" и "Белые ночи". Название третьего для меня осталось загадкой... Мне нужен врач, пусть он прочтёт!

Чуть глубже вы можем наблюдать конфеты.

Новогодний обмен подарками Санкт-Петербург - Кемерово Обмен подарками, Подарки, Кот, Новый Год, Конфеты, Гифка, Длиннопост

Во время написания поста были продегустированы абсолютно все виды конфет. Дедушка, не волнуйся, всё понравилось. Конфет "для веса" не было. Особенно понравились "пламя костра".

Там же спрятались магнитик и плитка шоколада.

Новогодний обмен подарками Санкт-Петербург - Кемерово Обмен подарками, Подарки, Кот, Новый Год, Конфеты, Гифка, Длиннопост
Новогодний обмен подарками Санкт-Петербург - Кемерово Обмен подарками, Подарки, Кот, Новый Год, Конфеты, Гифка, Длиннопост

Пока я выгребал конфеты, играл в игру, где нужно отгадывать картинку по фрагментам.

Угадал со второго гребка.

Новогодний обмен подарками Санкт-Петербург - Кемерово Обмен подарками, Подарки, Кот, Новый Год, Конфеты, Гифка, Длиннопост

То, что это пакет, я понял сразу. А в нём...

Новогодний обмен подарками Санкт-Петербург - Кемерово Обмен подарками, Подарки, Кот, Новый Год, Конфеты, Гифка, Длиннопост

Нет слов, просто нет слов!Это шикарно! Прям ВАУ!

Майку надеть могу, но... Да, Дедушка, я понял намёк, к лету похудею, и буду щеголять! Только поем на ночь...

Но и это ещё не всё! Новогоднего чуда хотят не только люди, но и их любимцы (хотя это ещё вопрос, кто чей любимец).

Новогодний обмен подарками Санкт-Петербург - Кемерово Обмен подарками, Подарки, Кот, Новый Год, Конфеты, Гифка, Длиннопост

Лакомство вкусное (мне кошка сама сказала).

Новогодний обмен подарками Санкт-Петербург - Кемерово Обмен подарками, Подарки, Кот, Новый Год, Конфеты, Гифка, Длиннопост

Попытка заинтересовать кошку коробкой 1:

Новогодний обмен подарками Санкт-Петербург - Кемерово Обмен подарками, Подарки, Кот, Новый Год, Конфеты, Гифка, Длиннопост

Попытка 2:

Новогодний обмен подарками Санкт-Петербург - Кемерово Обмен подарками, Подарки, Кот, Новый Год, Конфеты, Гифка, Длиннопост

Попытка 3 - кладём в коробку лакомство в качестве приманки:

Новогодний обмен подарками Санкт-Петербург - Кемерово Обмен подарками, Подарки, Кот, Новый Год, Конфеты, Гифка, Длиннопост

Приманка схвачена, кошки в коробке больше нет...

Ну и ладно, мне пригодится, мне и так коробок не хватает.

Коробке кошка предпочла свой любимый пенопласт...

Новогодний обмен подарками Санкт-Петербург - Кемерово Обмен подарками, Подарки, Кот, Новый Год, Конфеты, Гифка, Длиннопост

А вот мышка Шкоде очень понравилась, и не смотря на свой возраст в 12 лет, бегала и играла (на момент написания поста бродит по царству Морфея). Небольшой пруф:

Новогодний обмен подарками Санкт-Петербург - Кемерово Обмен подарками, Подарки, Кот, Новый Год, Конфеты, Гифка, Длиннопост

Пока котя гоняла мышку (которая, кстати, шуршит внутри), я решил перекусить, а за одно опробовать пару конфет и один из чаёв.


Чай "Трое в лодке" очень понравился! Правда я его заварил слишком много, пришлось разлить на две кружки.

Новогодний обмен подарками Санкт-Петербург - Кемерово Обмен подарками, Подарки, Кот, Новый Год, Конфеты, Гифка, Длиннопост

Фото обалденно вкусного шоколада поближе и без плёнок:

Новогодний обмен подарками Санкт-Петербург - Кемерово Обмен подарками, Подарки, Кот, Новый Год, Конфеты, Гифка, Длиннопост

В общем, Дедушка Мороз, Больше тебе спасибо, это просто чудесно!

Огромадное спасибо за майку! Хоть давно являюсь поклонником QUEEN, но у меня не было ничего из атрибутики. (Да и в целом ничего такого не было...) Буду исправляться! Ну и есть стимул сбросить лишнего, но после нового года, если уж на то пошло!


Поздравляю с наступающим Новым Годом всех пользователей, Дедушек Морозов, и особенно тебя, моего дарителя чуда!

Показать полностью 18
36

Просьба помочь - нужны сервоприводы SG90 (Кемерово)

Добрый день, сообщество Arduino & Pi!

Обращаюсь к вам, представители сообщества из г. Кемерово. Понадобились сервоприводы SG90.

Просьба помочь - нужны сервоприводы SG90 (Кемерово) Помощь, Кемерово, Arduino, Сервопривод, Робототехника

Нужны на короткий срок (в понедельник-вторник уже отдам). Нужно достаточно много, если у вас один сервопривод, то он тоже может понадобиться.


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


Если всё получится, опубликую результат тут.


Нагрузка на них будет небольшая.

Если вам не сложно помочь, пожалуйста, свяжитесь со мною.


Vinokurov_SE@mail.ru

t.me/Vinokurov_SE

147

Попробовал сделать Arduino библиотеку. Знакомьтесь - RGB_LED.

Недавно решил попробовать свои силы в создании библиотек, да никак не мог найти повод (идей не было).

Но недавно столкнулся с RGB светодиодами, и решил попробовать сделать библиотеку для управления ими, и мне было без разницы, изобретаю ли я велосипед, мне стал важен процесс создания.

Поэтому ловите, если нужно! https://github.com/VinokurovSE/RGB_LED

Внутри ещё кучка примеров, но об этом чуть позже.

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

Попробовал сделать Arduino библиотеку. Знакомьтесь - RGB_LED. Arduino, RGB, LED, Пятничный тег моё, Моё, Длиннопост

Установил белый цвет  LED1.setRGB(255, 255, 255);

И получил далеко не белый цвет. Решил не фотографировать этот позор.

Всё дело в том, что сопротивление не подходит, так как разные цвета жрут ток по разному.

Поэтому я сделал это:

Попробовал сделать Arduino библиотеку. Знакомьтесь - RGB_LED. Arduino, RGB, LED, Пятничный тег моё, Моё, Длиннопост
Попробовал сделать Arduino библиотеку. Знакомьтесь - RGB_LED. Arduino, RGB, LED, Пятничный тег моё, Моё, Длиннопост
Попробовал сделать Arduino библиотеку. Знакомьтесь - RGB_LED. Arduino, RGB, LED, Пятничный тег моё, Моё, Длиннопост
Попробовал сделать Arduino библиотеку. Знакомьтесь - RGB_LED. Arduino, RGB, LED, Пятничный тег моё, Моё, Длиннопост

Внутри деревянной коробушки ничего, кроме трёх подстроечных резисторов и термоклея.

Просто так лучше выглядит. И ещё потому что я могу.

Вот такая красота у нас получается!

Попробовал сделать Arduino библиотеку. Знакомьтесь - RGB_LED. Arduino, RGB, LED, Пятничный тег моё, Моё, Длиннопост
Попробовал сделать Arduino библиотеку. Знакомьтесь - RGB_LED. Arduino, RGB, LED, Пятничный тег моё, Моё, Длиннопост
Попробовал сделать Arduino библиотеку. Знакомьтесь - RGB_LED. Arduino, RGB, LED, Пятничный тег моё, Моё, Длиннопост
Попробовал сделать Arduino библиотеку. Знакомьтесь - RGB_LED. Arduino, RGB, LED, Пятничный тег моё, Моё, Длиннопост

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


Внутри вас ждёт 5 примеров:


- RGB_random: каждые 5 миллисекунд обновляем цвет, по достижении которого задаём новый цвет


- RGB_random_LCD: то же самое, только с выводом информации на дисплей, подключенный по i2c


- RGB_random_Serial: ну вы поняли!


- RGB_random_LCD: то же самое, только с выводом информации на дисплей, подключенный по i2c


- RGB_setRGB: попеременное включение разных цветов без плавного перехода


- RGB_transfusion: то же самое, только плавно

А вот и вывод информации на дисплей:

Попробовал сделать Arduino библиотеку. Знакомьтесь - RGB_LED. Arduino, RGB, LED, Пятничный тег моё, Моё, Длиннопост

А ещё вы можете сделать несколько объектов, и светодиоды будут работать независимо!

Хорошей пятницы, и удачных проектов!

Показать полностью 8
70

Часы своими руками [DIY] Part II - Final

Доброго всем вечера!

Знаете, сначала хотел сделать отдельно пост по софту, и отдельно по железу.

Но передумал, и забегая наперёд, в конце вас ждут ссылки на печатную плату и скетч, а пока что слой объяснения "Что, куда, зачем?".


И заранее маленькое лирическое отступление.

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

Началось всё с того, что я захотел сделать часы, и мне понадобился термометр для ванны, таким образом параллельно были написаны обе программы.

Но постоянно менять скетчи местами надоело, поэтому и был написан скетч, совмещающий в себе оба экрана. И засунул до кучи ещё один, который уже был, где выводилась информация о температуре, давлении и влажности.

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

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

Итак, использовались (фото не мои, но представленные на них платы, или модули в точности такие) следующие элементы:


- Китайский клон Arduino

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

- LCD знакогенерирующий, 4 строки по 20 символов

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

- i2c адаптер для дисплея, позволяющий подключить дисплей по 2 проводам

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

- Модуль часов реального времени DS1307 с автономным питанием

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

- Наипаршивейший (!!!) датчик влажности и температуры DHT11

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

-  Прекрасный датчик температуры и давления BMP180

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

- Выносной датчик температуры DS18B20

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

- Фоторезистор

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

Ну, и окинув взглядом всю эту банду, понимаем, что только два товарища не работают по i2c.

Объяснять не буду. Объясняльщик теории я так себе, поверьте.

Всё, что я скажу, что эта шина позволяет подключать к одной линии данных кучку устройств, при условии, что у них у всех разные адреса. Поэтому я взял паяльник, и спаял переходник и мини-шилд.

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

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


Ну а переходник позволил подключить все i2c устройства в вот такую "красоту":

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

Ну и ладно, оно же пашет! А для прототипа что ещё нужно!?!

Ну и DHT11 был подключен на макетке, которая влезает в Arduino Uno.

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

Как я ранее упоминал, я использовал среду разработки Arduino, версию использую 1.6.5 (последнее время они что-то изменили внутри всего этого безобразия, и добрая часть библиотек накрылась медным тазиком).


Ну а теперь сам код.


Весь я его сюда, конечно, пихать не буду, остановлюсь лишь на нескольких моментах.

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

_________________________________________________________________________________

void loop()

{

newBackLigth(map(analogRead(0), 0, 1023, 3, 255));

if (millis() > watchTime) showClock();

if (millis() > tempoMillis) tempo();

}


Это всё, что у меня есть в loop.

Задаю новую подсветку,

Если пришло время обновить часы, обновляем,

Аналогично с температурой


_________________________________________________________________________________

void newBackLigth(byte newBLnum)

{

int dif = nowBLnum - newBLnum;

if (abs(dif) > 25)

{

for (; nowBLnum != newBLnum; dif < 0 ? nowBLnum++ : nowBLnum--)

{

analogWrite(LEDpin, nowBLnum);

delay(5);

}

}

}


Этой функции мы скармливаем значение новой подсветки, считанное из нулевого аналогового порта, и конвертированное из диапазона от 0 до 1023 в диапазон от 3 (чтобы в полной темноте было видно) до 255.

Далее вычисляем разницу между текущей подсветкой и новой,

Смотрим на эту разницу по модулю, и если она больше 25, то

Постепенно наращиваем подсветку.


_________________________________________________________________________________

void showClock()

{

watchTime = millis() + 1000;

updateWatch();

if (mode == 0) bigWatch();

if (mode == 1 || mode == 2) smallWatch();

if (h == 0 && m == 0 && s < 2) showDate();

}


Тут я запоминаю, когда я должен в следующий раз сюда зайти,

Обновляю время,

Если 0 режим - чешем в функцию отрисовки больших часов,

Если 1, или 2, то рисуем маленькие часы (да-да-да, тут можно было юзать else),

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


_________________________________________________________________________________

updateWatch ничего интересного из себя не представляет, она лишь загоняет в глобальные переменные количество часов минут и секунд. К слову, если считать время не удалось, то мы получим 165 вместо времени. Этим и воспользуемся тут. Но забудем воспользоваться этим в больших часах, и вспомним, когда будем пилить длиннопост.


void smallWatch()

{

lcd.setCursor(15, 3);

if (h == 165) lcd.print("ERROR");

else

{

if (h != hl)

{

hl = h;

if (h < 10) lcd.print("0");

lcd.print(h);

}

s % 2 == 0 ? lcd.print(" ") : lcd.print(":");

if (m != ml)

{

ml = m;

lcd.setCursor(18, 3);

if (m < 10) lcd.print("0");

lcd.print(m);

}

}

}


Тут всё просто. Выходим на исходную позицию,

Если 165, вместо часов, тупо пишем "ошибка", и валим оттуда,

Иначе смотрим поменялось ли количество часов, если нет, проходим мимо,

Если сменилось количество, запоминаем этот факт,

Смотрим нужно ли добавить "0" перед количеством часов, если нужно добавляем,

И пишем количество часов.

Потом проверяем количество секунд на чётность, и, если количество чётное,

пишем двоеточие, иначе, стираем его пробелом.

Делаем с количеством минут то же самое, что и с количеством часов чуть ранее.

Кстати, чтобы часы и минуты точно были написаны при включении я просто записал в переменные для сравнения 99. Попробуй, блин, не обнови!


_________________________________________________________________________________

void bigWatch()

{

if (h != hl)

{

hl = h;

numBuilder(h / 10, 0);

numBuilder(h % 10, 4);

}

if (m != ml)

{

ml = m;

numBuilder(m / 10, 10);

numBuilder(m % 10, 14);

}

if (s % 2 == 0)

{

lcd.setCursor(8, 0);

lcd.write(4);

lcd.setCursor(8, 2);

lcd.write(1);

}

else

{

lcd.setCursor(8, 0);

lcd.write(130);

lcd.setCursor(8, 2);

lcd.write(130);

}

lcd.setCursor(18, 2);

if (s < 10) lcd.print("0");

lcd.print(s);

}


Тут примерно то же самое, только теперь при несовпадении старых значений с новыми, мы запоминаем новые, и разбиваем их на десятки и единицы, после чего скармливаем с какой-то цифрой новой функции с именем numBuilder!


А ещё теперь смотрим на чётность секунд и рисуем большие точки, либо затираем их пустыми 130-ми символами. Да, так можно!


А ещё пишем количество секунд. Именно тут, в принципе, тоже надпись "ERROR" замутить, но не сейчас...


_________________________________________________________________________________

void numBuilder(byte num, byte pos)

{

if (num == 0) for (byte i = 0; i <= 8; i++)nowNumber[i] = number0[i];

if (num == 1) for (byte i = 0; i <= 8; i++)nowNumber[i] = number1[i];

if (num == 2) for (byte i = 0; i <= 8; i++)nowNumber[i] = number2[i];

if (num == 3) for (byte i = 0; i <= 8; i++)nowNumber[i] = number3[i];

if (num == 4) for (byte i = 0; i <= 8; i++)nowNumber[i] = number4[i];

if (num == 5) for (byte i = 0; i <= 8; i++)nowNumber[i] = number5[i];

if (num == 6) for (byte i = 0; i <= 8; i++)nowNumber[i] = number6[i];

if (num == 7) for (byte i = 0; i <= 8; i++)nowNumber[i] = number7[i];

if (num == 8) for (byte i = 0; i <= 8; i++)nowNumber[i] = number8[i];

if (num == 9) for (byte i = 0; i <= 8; i++)nowNumber[i] = number9[i];


for (byte i = 0; i <= 8; i++)

{

if (i == 0) lcd.setCursor(pos, 0);

if (i == 3) lcd.setCursor(pos, 1);

if (i == 6) lcd.setCursor(pos, 2);

lcd.write(nowNumber[i]);

}

}


А вот и моя радость! В общем, именно эта функция и рисует большие цифры!

Она получает значения цифры и позиции (откуда начинать рисовать самый верхний левый символ).

В зависимости от того, какую именно цифру мы хотим отобразить, выбираем соответствующий массив, и загоняем его в "буферный массив". Для каждой цифры я сделал массив с номерами символов в дисплее, из которых мы можем получить цифру. Размер цифры 3 на 3 символа, то есть 9, таким образом, девять номеров этих самых символов пойдут в массив, и в любом случае оттуда попадут прямо на дисплей!


_________________________________________________________________________________

В температурных экранах тот же принцип, по сути, запоминаем, когда можно залезть туда снова, в зависимости от режима, уходим в разные экраны.

Только несколько моментов:

- TempBigNum я перепишу, так как у меня появилась новая фитча, расскажу о ней позже.

- там же есть возможность работы с минусовой температурой, если она таковая, я рисую "минус", умножаю температуру на (-1) и спокойно отрисовываю.

- там же я отрисовал из доступных мне символов слово "ERROR":

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

А ещё иконку влажности перерисовал! Прям красота получилась!

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

_________________________________________________________________________________

Ну и по поводу влажности. Вот калькулятор абсолютной влажности.

Так как DHT11 возвращает только относительную влажность, необходимо иметь возможность высчитать абсолютную, чтобы не нагнать в гараж более влажный воздух по факту, когда относительно насыщенного пара он кажется суше. Всё просто, скармливаем функции 3 параметра: температуру, давление, влажность в %, она в ответку выплёвывает абсолютную влажность. Я очень долго бился над этой функцией, и я её доделал. К слову, она жрёт ОЧЕНЬ МНОГО памяти. Ну прям очень. Кстати, ей можно скармливать давление и в миллиметрах ртутного столба и в паскалях. Очень полезная фитча!


float CAH(float temperature, float pressure, float humidity)

{

// float A1 = (pressure * 133.322) / 100; // if pressure in mmHg

float A1 = pressure / 100; // if pressure in Pa

float A2 = 6.112 * exp((17.62 * temperature) / (243.12 + temperature));

float A3 = 1.0016 + (3.15 * pow(10, (-6))) * A1 - 0.074 / A1;

float A4 = A2 * A3;

float A5 = (humidity / 100) * A4;

float A6 = temperature + 273.15;

float A7 = A5 * 100 / (461.5 * A6) * 1000;

return A7;

}

_________________________________________________________________________________

Программа есть, скетч написан, адаптирован под использование БЕЗ i2c адаптера для LCD, проверени готов к заливке. Но... КУДА???

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

Чтож, раз уж просили, держите, но я сразу говорю, не торопитесь! Тут часы не настроить без прошивки. Причём 2 раза! Причём, приблатыкиваться надо! Подождите немного, там и будильник будет, и аккумулятор добавлю, и часы в разы точнее.

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

Развожу я платы в программе Sprint-Layout 6, всё нравится.

По сути ничего сложного нет. Размещаем отверстия, проводим дорожки, заканчиваем, смотрим фотовид, материмся на то, что некоторые элементы зазеркалили, переделываем 20 раз, рисуем обозначения, создаём макросы... Короче говоря, набиваем руку!


Далее идёт засверливание (по крайней мере у меня) на фрезерном станке с ЧПУ.

После чего МИР РАЗЛАМЫВАЕТСЯ НА ДВЕ ЧАСТИ!

Но не для меня. Я уже определился с выбором, и я использую фоторезист (не путать с фоторезистором!), кто-то использует ЛУТ.

В общем, ЛУТ расшифровывается, как лазерно-утюжная технология, когда дорожки зеркально печатаются на бумаге, с помощью утюга переносятся на текстолит, и травится.

У меня принтер струйный, поэтому фоторезист сам выбрал меня. А я и не против!

В общем, печатаем фотошаблон!

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

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

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

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

Фото как раз перед ванной!

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

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

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

Начинаем травить!

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

Медь начинает поддаваться!

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

Уже почти готово. Пара минут, и медь сдалась.

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

Снимал остатки в более концентрированном растворе кальцинированной соды, травил в перекиси водорода с лимонной кислотой.


_________________________________________________________________________________

Ну и дело за малым, залудить, распаять элементы, и зашить программу.

Прошивал с помощью этого красавца:

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

В конце только выставил фьюзы, как на Arduino Uno, и всё работает.

Лично я фьюзы выставляю в Extreme Burner - AVR.


_________________________________________________________________________________

Ну и возвращаясь к разговору о комплекте для сборки.


Комплект получается достаточно дорогой - около 2000.

Плюсы: это цена с доставкой, программатором, печатной платой, и дисплеем с кириллицей и янтарной подсветкой. Если желание не отпало - отпишитесь!

Часы своими руками [DIY] Part II - Final Длиннопост, Своими руками, Arduino, Мегагиперпост, Часы

Скетч - https://cloud.mail.ru/public/6CKU/wJhoUHikk

Плата - https://cloud.mail.ru/public/5ejN/VR8Xgmn3G


К слову, я уместился в 50 блоков и pikabu больше не даёт мне ничего добавить, а мне и добавить, по сути, нечего. Всем удачи!

Показать полностью 22
406

Часы своими руками [DIY]

В поддержку пятничного тега "моё". Давайте возобновлять традицию!

Часы своими руками [DIY] Arduino, Сделай сам, Пятничный тег моё, Часы, Своими руками, Длиннопост

Хотел бы я начать свой пост словами "Дело было вечером, делать было нечего", но увы, у меня было много преград. То ли лыжи не едут, то при засверливании контакты вырывает... Много было попыток, ну да ладно.


Вот ещё экран, на котором видно не только дату и время, но и:

- Температуру окружающего воздуха

- Влажность воздуха абсолютную (высчитанную) и относительную

- Атмосферное давление

Часы своими руками [DIY] Arduino, Сделай сам, Пятничный тег моё, Часы, Своими руками, Длиннопост

Ну и пара фотографий "начинки":

Тут есть датчик DHT11, BMP180, фоторезистор для адаптивной подсветки, часы DS1307, батарею для них, клеммники и разъём питания, разъём для подключения внешнего температурного датчика, разъём для программатора, резистор для подстройки контрастности LCD, колодка для его подключения, кнопка сброса (она же переключатель экрана) и немного рассыпухи.

Часы своими руками [DIY] Arduino, Сделай сам, Пятничный тег моё, Часы, Своими руками, Длиннопост

С другой стороны "сердце" моих часов, управляющее всем этим - микроконтроллер ATmega328p-pu, зашитый кодом на Arduino, запаянный с помощью свечи, термопасты и фольги (да, у меня нет фена), кварц на 16 mHz, кварц для часов на 32.768 kHz, стабилизатор питания, принимающий от +7 до +12, и отдающия +5, ну и для полного счастья разъём питания MiniUSB.

Часы своими руками [DIY] Arduino, Сделай сам, Пятничный тег моё, Часы, Своими руками, Длиннопост

Дороги 0.25 мм, было несколько обрывов, надо делать толще. Буду делать 0.3!

Отверстия были сделаны заранее на станке с ЧПУ, к сожалению, у меня нет ламинатора, отсюда и нет возможности делать более точные платы. Плюс ко всему принтер печатает с просветами, что так же доставляет неприятностей. Делал с помощью фоторезиста.


Впервые паял клеммники, при затягивании контакт вырвало из платы. Теперь я умнее. А в остальном проблем не возникло.

Ну и к слову, это "проба пера", в следующей версии добавлю возможность настраивать часы (сейчас это можно сделать только с помощью ПК), добавлю будильник, поставлю другой (более точный и надёжный) чип часов. Может, ещё чего вспомню.


Корпус сделаю и для этих часов. Наверное. Может быть. Скорее всего. Я так думаю...


Ну в общем-то и всё! Хорошей пятницы всем!


P.S. Отпишитесь, если кому интересно было бы получить набор для сборки, может, и попробуем!

Показать полностью 3

Мы ищем frontend-разработчика

Мы ищем frontend-разработчика

Привет!)


Мы открываем новую вакансию на позицию frontend-разработчика!

Как и в прошлые разы для backend-разработчиков (раз, два), мы предлагаем небольшую игру, где вам необходимо при помощи знаний JS, CSS и HTML пройти ряд испытаний!


Зачем всё это?

Каждый день на Пикабу заходит 2,5 млн человек, появляется около 2500 постов и 95 000 комментариев. Наша цель – делать самое уютное и удобное сообщество. Мы хотим регулярно радовать пользователей новыми функциями, не задерживать обещанные обновления и вовремя отлавливать баги.


Что надо делать?

Например, реализовывать новые фичи (как эти) и улучшать инструменты для работы внутри Пикабу. Не бояться рутины и командной работы (по чатам!).


Вам необходимо знать современные JS, CSS и HTML, уметь писать быстрый и безопасный код ;) Хотя бы немножко знать о Less, Sass, webpack, gulp, npm, Web APIs, jsDoc, git и др.


Какие у вас условия?

Рыночное вознаграждение по результатам тестового и собеседования, официальное оформление, полный рабочий день, но гибкий график. Если вас не пугает удаленная работа и ваш часовой пояс отличается от московского не больше, чем на 3 часа, тогда вы тоже можете присоединиться к нам!


Ну как, интересно? Тогда пробуйте ваши силы по ссылке :)

Если вы успешно пройдете испытание и оставите достаточно информации о себе (ссылку на резюме, примеры кода, описание ваших знаний), и если наша вакансия ещё не будет закрыта, то мы с вами обязательно свяжемся по email.

Удачи вам! ;)

Показать полностью
Отличная работа, все прочитано!