Принесли мне в мастерскую игрушек китайский налобный фонарь. К слову сказать, ни одна мастерская не берется ремонтировать подобные вещи из-за своей нерентабельности или дешевизны. Но мне, как радиолюбителю, интересно ремонтировать всё.
Вот такой фонарь.

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

Долгие поиски в интернете помогли опознать эту микросхемку.
Кстати, в интернете есть такая-же переделка фанарика, но там не было места на плате под Attiny. В нашем же случае все проще.

На плате видно, что имеется еще одно посадочное место под, очевидно, другой контроллер. А у нас в таком корпусе (soic8) есть Attiny13 ! Отлично, значит устанавливать будем МК.

Проверяем питание – у нашей Attiny13: 4-земля, 8-питание, а на плате разведено наоборот! Ничего страшного – переворачиваем!

Проверяем другие ножки, одна должна идти на полевик, другая на кнопочку переключения режимов. Эх, придётся перенести выход на другую ножку с RESETa. Иначе мы не сможем прошивать МК внутри схемно.
Готово, теперь можем писать программу. Я пишу в кодевижн.
while (1)
{
while (PINB.2==1){}
delay_ms(500);
OCR0B=0xf0;
while (PINB.2==1){}
delay_ms(500);
OCR0B=0xff;
while (PINB.2==1){}
delay_ms(500);
OCR0B=0x5f;
while (PINB.2==1){}
delay_ms(500);
OCR0B=0xff;
while (PINB.2==1){}
delay_ms(500);
OCR0B=0x00;
while (PINB.2==1){}
delay_ms(500);
OCR0B=0xff;
while (PINB.2==1)
{
OCR0B=0x00;
delay_ms(10);
OCR0B=0xff;
delay_ms(1000);
}
while (PINB.2==0){}
while (PINB.2==1){}
delay_ms(500);
OCR0B=0xff;
}
}
По поводу программы хотел добавить: изначально, программа была другой, она вводила в спячку наш МК при нажатии и удержании кнопочки переключения режимов. Но вот выходить и сна – приходилось вытаскивать аккумулятор. Клиенту это не понравилось и вообще, он сильно торопился. Я предложил ему вариант вот как есть.
В протеусе проверяем.

5 ножка МК висит у нас на питании, ну и пусть себе висит. Так-же как и ножка 3, ведет на светодиодик, который светит красным на затылке головы. Так уж разведена платка этого фонарика. Это нам не мешает и отрезать не имеет смысла. Прошиваем при помощи специальной прищепки.

Все получилось!
Видео работы:
Да, и забыл добавить, пришлось убрать дребезг контактов кнопочки. Дело не хитрое, резистор и конденсатор

Влад, радиолюбитель из Новосибирска.