ATmega328

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем nikita_kotov, 9 янв 2014.

  1. nikita_kotov

    nikita_kotov Нуб

    Народ подскажите!!!как написать скетч на управление тремя реле на каждую реле своя кнопка включения ???
     
  2. Megakoteyka

    Megakoteyka Оракул Модератор

    Одна кнопка и одно реле затруднений не вызывают?
    В каком месте не получается? Примеры и уроки изучили?
     
  3. nikita_kotov

    nikita_kotov Нуб

    3 реле и на каждое реле по одной кнопки !!!я изучил как пишется на одну кнопку для светодиода!!!
     
  4. Unixon

    Unixon Оракул Модератор

    А чем по-вашему управление реле отличается от управления светодиодом? :)
     
  5. nikita_kotov

    nikita_kotov Нуб

    я знаю что ни чем !!!подскажите как написать скетч для трех светодиодов и трех кнопок для каждого светодиода!!! для одного я понял как!!!!
     
  6. NR55RU

    NR55RU Гик

    Ну вот у вас для одной кнопки и одного реле используется два пина один на вход от кнопки второй на выход для переключения светодиода.
    Теперь просто задействуйте еще 4 других пина, два из которых будут на вход от двух других кнопок а два на выход для двух дополнительных светодиодов.
    В самом примитивном варианте на каждую кнопку вам потребуется отдельный пин включенный на вход и на каждый светодиод отдельный пин включенный на выход. И того вы задействуете 6 пинов.
    Проще говоря все делайте по аналогии как с одной кнопкой, только опрашивать вы будите уже не один пин а 3 по очереди и в зависимости от значений этих пинов к которым будут подключенных кнопки будите управлять 3 минами к которым подключены светодиоды.
     
  7. nikita_kotov

    nikita_kotov Нуб


    спасибо больше!!!
     
  8. nikita_kotov

    nikita_kotov Нуб

    Народ разъясните пожалуйста если я куплю чистую ATmega328
    Возможно где нибудь скачать платформу Arduino uno ???
    чтобы через рабочую Arduino загружать скетчи!!!
    Не хочу переплачивать)))
     
  9. XCB

    XCB Гик

  10. acos

    acos Официальный гик Администратор

    Чтобы превратить мегу 328 в ардуину, нужно в нее зашить бутлоадер и сделать либо плату, либо на макетке собрать что-то ардуиноподобное) Вот почитайте. http://diy-blog.net/kak-sdelat-arduino-svoimi-rukami/ на 328 меге то же самое
     
  11. jks123

    jks123 Нерд

    лови, сам мозги себе выносил но с помощью форумчан победил
    Код (Text):
    unsigned long previousMillis = 0;
    int val=0;
    int analogA0=0;
    int analogA1=0;
    int analogA2=0;
    int analogA3=0;
    int analogA4=0;
    int analogA5=0;
    int analogA6=0;
    int analogA7=0;


    void setup()
    {
      Serial.begin(57600);

      pinMode(2, OUTPUT);    
      digitalWrite(A0,HIGH);

    }

    void loop()

    {
      if(digitalRead(A0)==LOW)
      {
        if (millis() -previousMillis >200)
        {
          previousMillis = millis();
          val++;
          Serial.println(val);
        }
      }
      if(val>=5)
      {
        digitalWrite(2,!digitalRead(2));
        val=0;
        delay(50);
      }
      Serial.begin(57600);

      pinMode(3, OUTPUT);    
      digitalWrite(A1,HIGH);
      if(digitalRead(A1)==LOW)
      {
        if (millis() -previousMillis >200)
        {
          previousMillis = millis();
          val++;
          Serial.println(val);
        }
      }

      if(val>=5)
      {
        digitalWrite(3,!digitalRead(3));
        val=0;
      delay(50);
    }
      Serial.begin(57600);

      pinMode(6, OUTPUT);    
      digitalWrite(A2,HIGH);
      if(digitalRead(A2)==LOW)
      {
        if (millis() -previousMillis >200)
        {
          previousMillis = millis();
          val++;
          Serial.println(val);
        }
      }

      if(val>=5)
      {
        digitalWrite(6,!digitalRead(6));
        val=0;
        delay(50);
    }
      Serial.begin(57600);

      pinMode(7, OUTPUT);    
      digitalWrite(A3,HIGH);
      if(digitalRead(A3)==LOW)
      {
        if (millis() -previousMillis >200)
        {
          previousMillis = millis();
          val++;
          Serial.println(val);
        }
      }

      if(val>=5)
      {
        digitalWrite(7,!digitalRead(7));
        val=0;
        delay(50);
      }
      Serial.begin(57600);

      pinMode(8, OUTPUT);    
      digitalWrite(A4,HIGH);
      if(digitalRead(A4)==LOW)
      {
        if (millis() -previousMillis >200)
        {
          previousMillis = millis();
          val++;
          Serial.println(val);
        }
      }

      if(val>=5)
      {
        digitalWrite(8,!digitalRead(8));
        val=0;
        delay(50);
      }
      Serial.begin(57600);

      pinMode(9, OUTPUT);    
      digitalWrite(A5,HIGH);
      if(digitalRead(A5)==LOW)
      {
        if (millis() -previousMillis >200)
        {
          previousMillis = millis();
          val++;
          Serial.println(val);
        }
      }

      if(val>=5)
      {
        digitalWrite(9,!digitalRead(9));
        val=0;
        delay(50);
     
    //  Serial.begin(57600);

    // pinMode(4, OUTPUT);    
    //  digitalWrite(A6,HIGH);
    //  if(digitalRead(A6)==LOW)
    //  {
    //    if (millis() -previousMillis >200)
    //    {
    //      previousMillis = millis();
    //      val++;
    //      Serial.println(val);
    //    }
    //  }
    //
    //  if(val>=5)
    //  {
    //    digitalWrite(4,!digitalRead(4));
    //    val=0;
    //    delay(50);
      }
    }

     
     
  12. acos

    acos Официальный гик Администратор

    Я извиняюсь, вы темой не ошиблись? что это? И зачем так часто шлёпать Serial.begin(57600); ?? Достаточно было первого раза в setup()
     
  13. nikita_kotov

    nikita_kotov Нуб

    получается этот код сама программа ардуино уно?
    А программировать чмстый МК можно через ардуино ?
     
    Последнее редактирование: 28 мар 2014
  14. jks123

    jks123 Нерд

    методом проб и ошибок запустил в таком виде, так как не очень силен в програмировании. Потому что много кто дают примеры на одну функцию (один аналоговый вход на один выход или одна веб кнопка) все примеры на одну позицию. Шлепните тогда как должно быть и все поблагодарят Вас
     
  15. jks123

    jks123 Нерд

    в смысле? просто берем этот код и заливаем в контроллер
     
  16. nikita_kotov

    nikita_kotov Нуб

    Получается берем рабочую uno выдергиваем контролер и вставляем чистый микроконтролер втыкаем и заливаем код?!!!???
     
  17. acos

    acos Официальный гик Администратор

    Так, уважаемый nikita_kotov, вам срочно нужно побольше почитать) Начать рекомендую с этого http://amperka.ru/page/what-is-arduino.
    Затем вот тут с пункта 5 о загрузке скетча http://wiki.amperka.ru/arduino-быстрый-старт:start
    Потом вообще вики прошерстить желательно.
     
  18. atompost

    atompost Гик

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

    [​IMG]
     
  19. nikita_kotov

    nikita_kotov Нуб

    Народ подскажите как заливать код с платформой ардуино на чистый микроконтролер
     
  20. sanik

    sanik Гик

    Смотря каким способом у вас программатор или плата ардуино?