Топик Нуба

Тема в разделе "Arduino & Shields", создана пользователем Citrus, 23 авг 2012.

  1. Citrus

    Citrus Нерд

    :p
    Привет всем... очень сильно не пинайте, а помогите советом ;)
    Сегодня прикупил комплект матрехи и сразу начал эксперименты.
    Начал с первого урока с миганием светодиода... с этим я справился, также пошаманил с плавным затуханием светодиода тоже получилось благо код не я писал =))) и вот меня переклинило собрать псевдо мультивибратор на дуньки и вот что у меня получилось...
    За основу взят код из первого урока...
    Код (Text):
    #define LED 13
    #define Led 12
     
    int LedPin = 12;
    int LEDPin = 13;
     
    void setup() {
      pinMode(LED, OUTPUT);
      pinMode(Led, OUTPUT);
    }
     
    void loop()
    {
      digitalWrite(LED, HIGH);
      delay(500);
      digitalWrite(LED, LOW);
      delay(500);
      digitalWrite(Led, HIGH);
      delay(500);
      digitalWrite(Led, LOW);
      delay(500);
    }
     
    Собрал работает... мигает... гляньте может где намудрил и можно было сделать легче:(
    буду рад услышать ваше мнение...
     
    <Lame> нравится это.
  2. nailxx

    nailxx Официальный Нерд Администратор

    Эмм… А что такое мультивибратор? По коду я вижу что происходит, но… это называется мультивибратором? :) Всё норм написано, только я бы не вводил в заблуждение почти одинаковым названием определений пинов. Можно, например, назвать их LED1 и LED2. И объявление их же в виде переменных у вас не используется.

    Если совсем занудным быть, я бы написал так:

    Код (Text):

    #define LED1 13
    #define LED2 12
     
    void setup()
    {
        pinMode(LED1, OUTPUT);
        pinMode(LED2, OUTPUT);
    }
     
    void blink(byte pin)
    {
        digitalWrite(pin, HIGH);
        delay(500);
        digitalWrite(pin, LOW);
        delay(500);
    }
     
    void loop()
    {
        blink(LED1);
        blink(LED2);
    }
     
     
  3. Citrus

    Citrus Нерд

  4. nailxx

    nailxx Официальный Нерд Администратор

    А, это, теперь вспомнил, да. В институте было.
    Мне просто сначала что-т совсем не то в голову полезло :)
     
  5. Citrus

    Citrus Нерд

    Вот такой у меня вопросик возник...
    Реально ли сделать светофор ? точнее его последовательность работы, а именно горит красный затем должен загореться желтый вместе с красным и финальный зеленый =).
    Возможно такое осуществить ?:)
     
  6. можно сделать и портотип межгалактического светофора, не говоря уж об обыкновенном
     
    Unixon нравится это.
  7. Citrus

    Citrus Нерд

    Пока опыта у меня маловато в этом=) заставил мигать по очереди с интервалом... остался вопрос как зашаманить чтобы одновременно загорелись 2 светодиода точнее один горит загорается второй и гаснут оба...
     
  8. Citrus

    Citrus Нерд

    да не так как у нас =) лан пойдем другим путем... подскажите код для работы 2 светодиодов одновременно ^_^
     
  9. ...
    digitalWrite(pin, HIGH);
    digitalWrite(pin2, HIGH);
    ...
     
    Citrus нравится это.
  10. Citrus

    Citrus Нерд

    Станислав Спасибо... буду пробовать =)
     
  11. <Lame>

    <Lame> Гик

    Мой совет - пошарь по екзамплам в ардуиновском IDE и попробуй их, а потом посмотри, что происходит с дунькой и ее периферией - так и научишься:) Я вообще делал так - купил матрешку Х , кучу сенсоров, серво, плат расширения и двухколесную платформу в амперке и начал экспериментировать - пошарил в инете, нашел до хрена программ, и так за три дня собрал робота, обьезжающего препятствия:) Так что ничего страшного, дунька - вещь простая, научится быстро!
     
    Humiboy нравится это.
  12. Citrus

    Citrus Нерд

    2: Lame Спасибо за совет просто хочется разобраться в синтаксисе языка... давным давно делал простенькие программки на С, а сейчас все забыл =)
     
  13. я лет 7 ничего не программировал. сейчас же разобрался за неделю и уже собрал очень интересный портотип с хитрой логикой.
     
  14. <Lame>

    <Lame> Гик

    А я до ардуино ничего не программировал:)
     
    Humiboy и Humibuys нравится это.
  15. Citrus

    Citrus Нерд

    2: Станислав - тогда буду надоедать Вам тупыми вопросами =)))
     
    Humibuys нравится это.
  16. <Lame>

    <Lame> Гик

    Щас начал и в c++, и в Python, и в java, и даже в Perl'е чото шарить, гу а processing - само собой, он почти такой же, как Arduino IDE и с++:)
     
    Humiboy и Humibuys нравится это.
  17. самое сложное и интересное, по-моему - набросать сам алгоритм и цикл на бумаге. а исполнить уже можно на любом языке.
     
    Humibuys нравится это.
  18. <Lame>

    <Lame> Гик

    А void blink() это не команда, это подпрограмма. Так можно например сделать программу:
    Void 'название' {
    'подпрограмма(например зажечь светодиод:) )'
    }
    Void setup(){
    'trololo...'
    }
    Void loop(){
    'trololo...'
    'название'();
    \\/\
    \\ |
    \\Выполняется подпрограмма 'название'...
    \\Продолжается выполнение основной программы...
    'trololo...'
    }
    Во как-то так :cool:
     
    Humiboy и Humibuys нравится это.
  19. <Lame>

    <Lame> Гик

    Надеюсь, я понятно разъяснил? :D
     
    Humiboy и Humibuys нравится это.