среда, 22 февраля 2012 г.

Arduino Uno timer


Сделал первую в мире программу для микроконтоллера.
Использовался набор от матрешки с Arduino Uno.



Как жаль, что у меня небыло такого набора лет 7 назад, пока я учился и делать было нечего. Тогда я все что умел - это общаться с LPT портом. Повешал на двери магниты и подвел герконы, которые подрубались к компу. Комп записывал лог открывания и закрывания двух дверей в квартире.
А у вас был какой-нибудь опыт с аппаратными девайсами?


А вот и сами исходный код.
#define CLOCK_PIN 2
#define RESET_PIN 3
#define ENABLE_OUT_PIN 4
#define BUTTON_1_PIN 8

 int lastValue = -1;
 boolean lastButtonState = LOW;
 boolean state = LOW;

/*
 * Функция showNumber устанавливает показания индикаторов
 * в заданное неотрицательное число `n` вне зависимости
 * от предыдущего значения
 */
void showNumber(int n)
{
  if (lastValue != n) {
    lastValue = n;
    digitalWrite(ENABLE_OUT_PIN, LOW);
   
    // Первым делом обнуляем текущее значение
    // Для этого на мгновение ставим контакт
    // reset в HIGH и возвращаем обратно в LOW
    digitalWrite(RESET_PIN, HIGH);
    digitalWrite(RESET_PIN, LOW);
   

    // Далее быстро «прокликиваем» счётчик до нужного
    // значения
    while (n--) {
        digitalWrite(CLOCK_PIN, HIGH);
        digitalWrite(CLOCK_PIN, LOW);
    }
    digitalWrite(ENABLE_OUT_PIN, HIGH);
   
  }
}

void setup()
{
    pinMode(RESET_PIN, OUTPUT);
    pinMode(CLOCK_PIN, OUTPUT);
    pinMode(ENABLE_OUT_PIN, OUTPUT);
    pinMode(BUTTON_1_PIN, INPUT);
}

void loop()
{
    // Получаем количество секунд в неполной минуте
    // с момента старта и выводим его на индикаторы
   
    boolean buttonState = digitalRead(BUTTON_1_PIN);
    if (buttonState == HIGH && lastButtonState != HIGH) {
      state = !state;
    }
    lastButtonState = buttonState;
 
    if (state == HIGH) {
      showNumber((millis() / 1000) % 100);
    } else {
      showNumber((millis() / 100) % 100);
    }
    delay(30);
}

воскресенье, 19 февраля 2012 г.

Концерт The Чиж & Сo в Омске 2012

И снова сходил со своей любимой женой на концерт Чижа!
Концерт просто улет, очень рад, что такое вообще бывает в Омске!


Тексты конечно у него местами депрессивные/плохие/наркоманские/пошлые, но качество музыки и компенсирует это с головой.

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

(видИо не с этого концерта)