Делаем сами простые часы за выходные

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


    Данная статья является логическим продолжением статьи о микроконтроллерах, опубликованной на хабре 26 августа (http://habrahabr.ru/blogs/hardware/37764/). Основной задачей я ставлю не дать пошаговые инструкции, какой проводок к чему припаивать, а вызвать интерес читателей к теме, смотивировав к самостоятельному изучению.

    Итак, для того что бы создать часы необходимо освоить 2 технологии — это пайка и создание печатных плат при помощи лазерно-утюжной технологии.
    Статья о пайке: licrym.org/index.php/%D0%9F%D0%B0%D0%B9%D0%BA%D0%B0
    Статья о лазерно-утюжной технологии изготовления плат: licrym.org/wiki/index.php?wakka=Texnologii/LazernoUtjuzhnajaTexnologijaIzgotovlenijaPlat

    Если нет желания / возможности изготовить печатную плату, то можно обойтись макетной платой, выглядит она так:

    В ней просверлены отверстия с шагом 2,54 мм, от нее отрезается кусок подходящего размера, детали устанавливаются и припаиваются (вокруг каждого отверстия кружочек медной фольги) и затем необходимые соединения делаются отрезками провода. Выглядит неэстетично (паутина проводов), зато ненужно травить плату.

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

    Итак, нам понадобятся инструменты: паяльник, бокорезы, мультиметр (для отладки, хотя у меня всё заработало сразу).
    Детали: микроконтроллер attiny2313, колодка под него, 2 кнопки, микросхема-стабилизатор 7805, четыре 7ми сегментных светодиодных индикатора, у меня это SA15–11GWA (высота цифр 38 мм). Размер индикатора любой, главное что бы ток сегмента не превышал 40 мА (смотреть в даташите на конкретный индикатор), 4 транзистора КТ817Б, кварц на 16 мгц, 2 конденсатора на 22 пф, конденсатор на 220 нф, ну и пара резисторов. Конкретные компоненты указывать не имеет смысла, т.к. возможно придется использовать аналоги + резисторы расчитываются.

    Итак, начнем с деталей, на снимке:

    Микроконтроллер обошелся в 41 руб, индикаторы по 52,8 руб за штуку. Всего получается 252,2 руб. Остальное было извлечено из запасов, но в любом случае бюджет бы не превысил бы 300 рублей.

    Плата была нарисована вручную в программе Sprint Layout 4. Вот вытравленная плата:


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



    Вид часов в полумраке:


    А теперь давайте разберемся с тем как это работает. Вот схема(широкая, потому ссылкой):
    licrym.org/habrahabr/small_clock_scheme.jpg

    При включении питания запускается микроконтроллер. Микроконтроллер тактируется от кварца с частотой 16 МГц. В микроконтроллер залита управляющая программа.

    У микроконтроллера есть внутри так называемый таймер, обычно их несколько (8ми и 16 битные). Таймер можно использовать по разному, для подсчета внешних импульсов, для генерирования заданной частоты, для генерирования ШИМ сигнала и т.д. В данном случае мы будем использовать его для отсчета времени. Мы включим таймер считать импульсы на системной шине (т.е. 16 мгц кварца), включим предделитель 256 и прерывание по совпадению с числом 625. Тоесть таймер будет у нас тикать с частотой 16Мгц/256=62500 Гц, и вызывать прерывание как только таймер досчитает до 625, тоесть прерывание у нас будет случаться каждые 1/100 сек. Каждое прерывание программа будет увеличивать счетчик сотых секунд на 1, сбрасывать таймер и возвращаться к отображению времени.
    Если количество сотых секунд достигает 100, то мы увеличиваем на 1 значение секунд, а значением сотых секунд сбрасываем. И так далее вплоть до десятков часов, которые сбрасываются по достижении 24 без увеличения следующего разряда. Часы предельно простые, поэтому не считают ни дату, ни перевод на зимнее/летнее время и т.д. Данные функции можно реализовать программно, без изменения аппаратной части, поэтому остаются для реализации желающим.

    Разобравшись с таймером и прерываниями мы получаем значение текущего времени в глобальных переменных. Теперь займемся выводом этих значений. Так как количество портов микроконтроллера ограничено, то будем эксплуатировать инерционность зрения. Катоды всех 4 индикаторов соединены параллельно, а аноды коммутируются отдельно, что позволяет нам в любой момент времени вывести любую цифру на любой индикатор. Быстро переключая порт B, к которому подключены катоды и быстро переключая аноды мы можем создать видимость, что у нас работают все 4 цифры, хотя единовременно работает только одна. Иными словами, если текущее время 12:51, то мы выводим цифру 1 на первый индикатор, спустя малый промежуток времени (у меня 1 мс) выводим цифру 2 на второй индикатор, спустя 1 мс выводим 5 на 3 индикатор, спустя 1 мс выводим 1 на 4 индикатор и так далее по кругу.

    Кнопки опрашиваются после каждого цикла отображения (примерно 40 раз в сек), обработка нажатия снабжена антидребезгом и «защелкой» в виде флага, что позволяет считать именно нажатия не отвлекаясь на удержание.

    Транзисторы установлены для комутации анодов. Дело в том что ток, который может пропустить через себя одна нога порта ограничено 40 мА, а у моего индикатора в случае включения всех 7 сегментов и точки (отдельный светодиод на схеме это как раз точка) составит 160 мА.

    код, который управляет часами:
    /*****************************************************
    This program was produced by the
    CodeWizardAVR V1.25.7 beta 5 Professional
    Automatic Program Generator
    © Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.
    www.hpinfotech.com

    Project : Simple AVR Clock
    Version :
    Date : 01.05.2008
    Author : Spiritus Sancti
    Company : licrym.org
    Comments:

    Chip type : ATtiny2313
    Clock frequency : 16,000000 MHz
    Memory model : Tiny
    External SRAM size : 0
    Data Stack size : 32
    *****************************************************/

    #include <tiny2313.h>
    #include <delay.h>
    #define digit_display_time 1

    unsigned char milliseconds, seconds, ten_seconds, minutes, ten_minutes, hours, ten_hours;
    bit button_pressed1, button_pressed2;

    // Timer 1 output compare A interrupt service routine
    interrupt [TIM1_COMPA] void timer1_compa_isr(void) //Прерывание происходит 100 раз в сек, сохраняем в глобальные переменные текущее время
    { milliseconds++;
    TCNT1H=0x00;
    TCNT1L=0x00;

    if (milliseconds >= 100 ) //Здесь моя ошибка. в переменной milliseconds хранятся СОТЫЕ доли секунд а не миллисекунды.
    {
    milliseconds = 0;
    seconds++;
    };

    if (seconds >= 10)
    {
    seconds = 0;
    ten_seconds++;
    };

    if (ten_seconds >= 6)
    {
    ten_seconds = 0;
    minutes++;
    };

    if (minutes >= 10)
    {
    minutes = 0;
    ten_minutes++;
    };

    if (ten_minutes >= 6)
    {
    ten_minutes = 0;
    hours++;
    };

    if (hours >= 10)
    {
    hours = 0;
    ten_hours++;
    };

    if (ten_hours >= 2 && hours == 4)
    {
    ten_hours = 0;
    hours=0;
    };


    }

    void main(void)
    {
    unsigned char digits[10] = {18, 159, 56, 28, 149, 84, 80, 31, 16, 20}; //массив для генерации цифр. Какой элемент массива будет отправлен в порт, такая цифра и загорится.

    // Crystal Oscillator division factor: 1

    CLKPR=0x80;
    CLKPR=0x00;

    // Input/Output Ports initialization
    // Port A initialization
    // Func2=In Func1=In Func0=In
    // State2=T State1=T State0=T
    PORTA=0x00;
    DDRA=0x00;

    // Port B initialization
    // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
    // State7=1 State6=1 State5=1 State4=1 State3=1 State2=1 State1=1 State0=1
    PORTB=0xFF;
    DDRB=0xFF;

    // Port D initialization
    // Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=In Func0=In
    // State6=0 State5=0 State4=0 State3=0 State2=0 State1=P State0=P
    PORTD=0x03;
    DDRD=0x7C;

    // Timer/Counter 0 initialization
    // Clock source: System Clock
    // Clock value: Timer 0 Stopped
    // Mode: Normal top=FFh
    // OC0A output: Disconnected
    // OC0B output: Disconnected
    TCCR0A=0x00;
    TCCR0B=0x00;
    TCNT0=0x00;
    OCR0A=0x00;
    OCR0B=0x00;

    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: 62,500 kHz
    // Mode: Normal top=FFFFh
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer 1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: On
    // Compare B Match Interrupt: Off
    TCCR1A=0x00;
    TCCR1B=0x04;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x02;
    OCR1AL=0x71;
    OCR1BH=0x00;
    OCR1BL=0x00;

    // External Interrupt(s) initialization
    // INT0: Off
    // INT1: Off
    // Interrupt on any change on pins PCINT0-7: Off
    GIMSK=0x00;
    MCUCR=0x00;

    // Timer(s)/Counter(s) Interrupt(s) initialization
    TIMSK=0x40;

    // Universal Serial Interface initialization
    // Mode: Disabled
    // Clock source: Register & Counter=no clk.
    // USI Counter Overflow Interrupt: Off
    USICR=0x00;

    // Analog Comparator initialization
    // Analog Comparator: Off
    // Analog Comparator Input Capture by Timer/Counter 1: Off
    ACSR=0x80;

    // Global enable interrupts
    #asm("sei")

    while (1)
    {
    PORTD |=1<<5; //включаем первый индикатор
    PORTB = digits[ten_hours]; //выводим на него десятки часов
    delay_ms(digit_display_time); //ждем, время индикации одного разряда задается в заголовке программы
    PORTD &=~(1<<5); //выключаем первый индикатор и переходим дальше и так в цикле для каждого из 4 разрядов
    PORTD |=1<<4;
    PORTB = digits[hours];
    if (milliseconds >= 50) PORTB &=~(1<<4); else PORTB|=1<<4; //моргание точки
    delay_ms(digit_display_time);
    PORTD &=~(1<<4);
    PORTD |=1<<3;
    PORTB = digits[ten_minutes];
    delay_ms(digit_display_time);
    PORTD &=~(1<<3);
    PORTD |=1<<6;
    PORTB = digits[minutes];
    delay_ms(digit_display_time);
    PORTD &=~(1<<6);

    //а вот теперь проверим кнопочки в стиле часов Электроника 13

    if ((PIND & 1<<0) == 0 && button_pressed1 == 0) //Если нажата кнопка 1
    {
    delay_ms(1);
    hours++;
    button_pressed1 = 1;
    };

    if ((PIND & 1<<0) == 1) button_pressed1=0; //Если отпущена то сбрасываем флаг


    if ((PIND & 1<<1) == 0 && button_pressed2 == 0) //Если нажата кнопка 2
    {
    delay_ms(1);
    minutes++;
    button_pressed2 = 1;
    };

    if (PIND & 1<<1) button_pressed2=0;




    };
    }


    Программа написана в CodeVisionAVR. Схема создана в программе PROTEUS. Кстати там же в протеусе можно нарисовать виртуальную схему устройства и тут же запустить ее на симуляцию, узнав работает или нет.

    Само собой в статье невозможно ответить на все вопросы и рассказать про все тонкости. В частности тем, кто решит повторить конструкцию, необходимо будет сделать программатор (в самом простом случае 4 проводка на порт LPT, распаять колодку программирования на плате (подключить 10 контактную колодку к ногам MOSI, MISO, SCK, RESET и GND) и выставить FUSE биты микроконтроллера что бы тактовый генератор переключится от внутренней RC цепочки на внешний кварц. про всё это можно найти на сайтах вроде avr123.nm.ru)

    На создание данных часов с нуля (от идеи до травления платы, распайки и написания кода) у меня ушло 1,25 дня.
    Оригинальная статья: licrym.org/index.php/%D0%9F%D1%80%D0%BE%D1%81%D1%82%D1%8B%D0%B5_%D1%87%D0%B0%D1%81%D1%8B

    Фичи которые можно добавить малой кровью:
    1) прицепить на одну из свободных ног динамик и получить будильник
    2) повесить на одну из свободных ног реле и получить таймер (например для автоматического включения гирлянды)
    3) у микроконтроллера есть модуль USART так что подцепив микросхему — конвертер уровней (например MAX232 и пару конденсаторов) можно наладить двунаправленную связь с компьютером через COM порт.

    P.S. Я создал блог DIY (http://habrahabr.ru/blogs/DIY/) и впредь все статьи из разряда «сделай сам» буду публиковать там.

    P.P.S. Во избежание недоразумений поясняю. Часы эти делал лично я, и первоначально публиковал на своем портале licrym.org но решил перенести на самые лучшие и интересные статьи со своего портала на хабрахабр.
    Share post

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 80

      +3
      классно! спасибо!
      • UFO just landed and posted this here
          +4
          Ааа! Всегда мечтал сам себе часы собрать!
            +1
            спасибо, вспомнились года ушедшие с радиолюбителями, схемами в «Сделай сам», «Юный Техник», «Наука и жизнь», ностальгия блин :)
              +3
              да… А давайте откроем блог «Сделай сам»? :)
                +3
                  +2
                  Вот чего не ожидал на Хабре, так это радиолюбительства. Казалось бы, IT в своей основной массе уже давно отошли от транзисторов-контроллеров-прошивок, лишь монстрячатъ многомегабайтный интерпретируемый код, рассуждая «а фиг с ним, железо мощное, потянет».

                  Присоединился к Вашему блогу. Развивайте это направление на Хабре. И, может быть, [эхх, мячты-мячты] население таки одумается и вспомнит про низкоуровневую оптимизацию, да и вообще мозг задействуют по назначению!
                    0
                    Радиолюбительство — это именно «любительство», денег много не принесет :)
                    Более, чем уверен, что подобные статьи будут появляться, но все равно первые места будут занимать посты про «очередной гаджет от Apple» или «оптимизацию php-кода».

                    ЗЫ Я не против текущих топовых статей, просто мне они не интересны, меня привлекает другая тематика в IT.
                    0
                    В блоге ещё ни одной записи, а уже карма блога +64. Авансом? :)

                    P.S. Хотя я и сам к этому приложился… ;)
                  +2
                  Благодарю, если получится заставить себя это всё проделать, то буду собой доволен на 200% )
                  • UFO just landed and posted this here
                      +2
                      мне бы чего-нить более простое для начала собрать ;)
                      а материал замечательный, особенно порадовао наличие в нем физических принципов работы.
                      • UFO just landed and posted this here
                        +1
                        очумелые ручки:) прикольно
                          +3
                          я такие в колледже на 51м контроллере сименс программировал, только с будильником, взгрустнулось…
                            0
                            Я аж асемблером заинтересовался
                            • UFO just landed and posted this here
                                +6
                                удивительно, учитывая, что тут приведён код на Си.
                                  0
                                  Тогда тебе ко мне :)
                                  +2
                                  Вольтметр красивый.)
                                  • UFO just landed and posted this here
                                      0
                                      Может быть. Я не особо разбираюсь, просто картинка на главной понравилась.
                                        +4
                                        Это тюнингованный тостер :-)
                                          +6
                                          это салфетница из икеи)
                                      0
                                      я в универе делал прошивку на такой девайс в AVR studio, единственное что неудалось реализовать — синхронизировать прерывания на время одной секунды :) время сдачи поджимало, а то что у нас получилось имею в виду плату с резисторами, транзисторами и контролером на 24 пина — больше похоже на бомбу было :-D
                                        +10
                                        в самолете такие часы из сумки достать… вот весело то будет =D
                                          +1
                                          Главное добавить к ним фичу обратного отсчета :)
                                          –10
                                          Ну может хватит уже копипастить! Автор хотя бы сам собрал бы часы, фотки вои приложил.

                                          licrym.org/wiki/index.php? wakka=SdelajjSam/ProstyeChasy
                                            +14
                                            неудивительно, если учитывать что этот автор — я. licrym.org — это мой портал. Про портал в «я пиарюсь» я напишу чуть позже.
                                              +1
                                              Сорри не углядел!
                                                +2
                                                Где вы раньше были когда я начинал делать startcd.narod.ru/clock/clock.html. Вышло гораздо дороже и Atmega-8 в DIP корпусе не было в нашем городе, заказывал из Москвы.
                                            0
                                            Вот куда бы интереснее было почитать статейки по поводу параллаксовского 8-ми ядерного контроллера. Вот там можно такие вещи делать! Просто нет смысла изучать слабые пики имхо.
                                              +1
                                              Если Вы не заметили, в статье речь об AVR. Кроме того, и на 8-ми битных контроллерах можно делать такое, что ого-го.
                                                0
                                                Параллакс рулит конечн, только куда его воткнуть то? Под него все с нуля придется писать. Если уж что рассматривать, так ARM или ATmega32.
                                                +1
                                                Зачем так сложно? Есть же готовые контроллеры для часов, которые программировать не надо, имеющие дату, время, несколько будильников, несколько часовых поясов и т.п.
                                                  +2
                                                  во первых на микроконтроллерах огромная гибкость, в отличие от специализированной микросхемы, а во вторых статья показывает один из вариантов применения микроконтроллера.
                                                    –2
                                                    Гибкость? Ну тогда бы уж добавил для примера каких-нибудь фич, типа встроенного термометра и МР3-плеера — зачем тратить ПМК на обычные часы?
                                                      +1
                                                      Я не знаю насчёт гениев, но большинство народу учится «от простого к сложному». Рабочее устройство при минимуме усилий — как раз то, что нужно для развития интереса к теме. Фичи это хорошо, но не всё сразу.

                                                      P.S. Вы случаем хабр с сахарой/electronix.ru не спутали?
                                                    +8
                                                    А удивлю тебя — есть даже готовые часы, поговаривают, некоторые из них настолько малы что их можно носить на руке :)
                                                    0
                                                    а по ntp его можно научить синхронизироваться?
                                                    или по gps через серийный порт?
                                                      0
                                                      возможно всё!) всё упирается в описания протоколов. Я видел в инете статью как к часам добавляли GPS модуль для синхронизации времени, но к сожалению сейчас ее не нашел. Если известно какие байты нужно слать в com порт GPSу что бы он в ответ дал время то реализуется довольно легко.
                                                        0
                                                        Спасибо, придумали хорошую задачу для лабораторной :)
                                                      +2
                                                      Волше-ебно.
                                                      Продолжите тему о микроконтроллерах — я Ваш слуга навеки.
                                                        0
                                                        если не ошибаюсь, а секунде по определению тысяча миллисекунд, а у вас в статье выходит что сто. Непорядок.
                                                          +2
                                                          А зачем такая здоровая плата? Почему бы не сделать детали на том же месте что и индикаторы, но разведенные на обратную сторону. Было бы не так монструозно.
                                                            0
                                                            Где вы микроконтроллер за 41 рубль брали? В 'Чип и Дип' 75-120 рублей выходит :(
                                                              0
                                                              Посмотрите тут www.platan.ru
                                                              Не сочтите за рекламу, сам ищу где дешевле…
                                                                0
                                                                я брал в микроэлектронных компонентах, поленился тащиться в промэлектронику. в промэлектронике (promelec.ru) он вообще 36 р стоит в розницу, и 25 р в партиях более 360 шт.
                                                                0
                                                                Код не отформатирован. А часы будут идти неточно.
                                                                вот из-за этого:
                                                                TCNT1H=0x00;
                                                                TCNT1L=0x00;
                                                                Нельзя обнулять таймер программно.
                                                                • UFO just landed and posted this here
                                                                    +1
                                                                    Питание от USB можете реализовать?
                                                                      0
                                                                      легко, достаточно посмотреть какой пин порта USB дает +5В и подключить его на шину питания часов.
                                                                      0
                                                                      Прикольно, но только этого я понять не смог
                                                                        0
                                                                        Прикольно, но только этого я понять не смог:
                                                                        Если количество миллисекунд достигает 100, то мы увеличиваем на 1 значение секунд. милли — вроде бы 1/1000 :)
                                                                          0
                                                                          «прерывание у нас будет случаться каждые 1/100 сек»

                                                                          То есть там не миллисекунды, а сотые доли секунд.
                                                                            0
                                                                            верно, насчет миллисекунд это мой промах.
                                                                        0
                                                                        Сначала подумал, что часы, это та замечательная блестящая коробочка, которая потом оказалась блоком питания:) Подумал, что вольтметр используется в качестве циферблата со стрелкой:) Впрочем наверное такое тоже возможно.
                                                                        Не знаю важно это или нет, но случайно заметил у Вас опечатку в предложении «Итак, нам понядобятся инструменты:...»
                                                                        • UFO just landed and posted this here
                                                                            +2
                                                                            Здорово бы будильник еще пристроить.

                                                                            Я вот эти бы собрал www.hanssummers.com/electronics/clocks/nixie/circuit.gif, только эти балоны днём с огнём не ссыщеш.
                                                                            0
                                                                            Отлично, спасибо!

                                                                            Со всем можно разобраться. Только непонятно с программатором и как всё-таки залить программу в микроконтроллер? :(
                                                                            0
                                                                            И ещё.

                                                                            Какой вот из этих микроконтроллеров больше подходит?

                                                                            + что такое колодка под микроконтроллер?

                                                                            Спасибо заранее.
                                                                              0
                                                                              из того списка я бы рекомендовал: ATmega48-20PU, DIP28, 2.7-5.5V, 4K-Flash, 20MHz .Pb-free
                                                                              хотя там есть и используемый автором статьи: ATtiny2313-20PI (PU), DIP20, МCU, 5V, 1K-Flash, 12MHz.
                                                                                0
                                                                                Почему именно этот?

                                                                                У себя нашёл вот такой: ATtiny2313-10PU. Пойдёт нет?
                                                                                  +1
                                                                                  пойдет. Вообще если есть возможность то лучше брать максимально мощный микроконтроллер, например ATMEGA8 или ATMEGA48 — после создания останется больше простора (например свободных ног) для добавления фич и экспериментов.

                                                                                  Колодка(панелька) под микроконтроллер — это такая панелька — разъем, что бы можно было:
                                                                                  1) легко заменить микроконтроллер
                                                                                  2) при пайке греется дешевая колодка, и нет страха повредить микросхему статикой или перегреть ее, так как она вставляется в колодку после пайки.
                                                                              +1
                                                                              Опечатка у Вас: Sprint Layout 4. Поправьте пожалуйста. А за статью — огромное спасибо.
                                                                                +1
                                                                                Браво! На хабре стали появляться интересные статьи! :-)

                                                                                Хочу добавить свои пять копеек про пайку, надеюсь кому-то пригодится.
                                                                                Если есть интерес и не жалко потратить немного денег — лучше сразу брать паяльную станцию. Простенькую можно взять за 1000-1500, даже с феном. По сравнению с обычным нерегулируемым паяльником — просто сказка!
                                                                                Современные необгораемые жала все-таки смачиваются припоем ;-) Хуже, конечно, чем медяха, но все-таки. Иногда они перестают это делать, тогда нужен реактиватор жал.
                                                                                Вместо твердой канифоли куда как лучше использовать жидкую. Правда, с ней нужно осторожно обращаться — пачкается сильно. Ну и после любой канифоли платы лучше отмывать спиртом.

                                                                                Всем успехов в сборке девайсов!
                                                                                  0
                                                                                  DIY — это здорово. =) Давно пора открыть такой блог. Очень хочется заняться радиоэлектроникой, есть желание, немного времени и голова на плечах. Осталось найти поболее информации по этому делу. К тому же, схемы на микроконтроллерах, по-сути, то же программирование.
                                                                                  • UFO just landed and posted this here
                                                                                      +1
                                                                                      черт, со школы не держал паяльник в руках.
                                                                                      вы разбудили во мне желание взять его опять в руки :)
                                                                                      Осталось только найти классный корпус.
                                                                                      Спасибо!
                                                                                        0
                                                                                        Спасибо, очень интересная тема! Года 4 уже паяльник в руках не держал, хорошо хоть ящик с электронным барахлом остался, самое время его отыскать :)
                                                                                          0
                                                                                          Извините за нескромность, а нельзя Proteus-овый проектик выложить?
                                                                                        • UFO just landed and posted this here
                                                                                            0
                                                                                            Если надо, то моду откомпилить этот код в AVR Studio 4 и отдать прошивку, но пусть лучше это сделает автор.
                                                                                              0
                                                                                              *могу
                                                                                            0
                                                                                            Надо бы, походу, написать статью про свою поделку — свой вариант типа ардуино.
                                                                                            Как раз недавно сделал в мену «шилдик» с 7-ми сегментным индикатором для часов, но пока только простой таймер секунд сделал.
                                                                                            Похоже я могу свободно адаптировать этот код под свой МК.

                                                                                            Only users with full accounts can post comments. Log in, please.