среда, 15 сентября 2010 г.

Этап 1. (Hello World)

Ну вот я купил кабель и откопал светодиод (зелененький). Итак давайте вставим светодиод в цифровые разъемы одной ногой GND, а другой в 12. Также придется замкнуть контакт S7 на плате, он отвечает как вы уже могли догадаться за седьмую кнопку. На этом работы с платой завершены, переходим в среду разработки Arduino IDE (0018). Напишем простой пример использования кнопки.

int ledPin = 12;
int key_s6 = 3;
boolean status = true;

void setup()
{
  pinMode(ledPin, OUTPUT);
  pinMode(key_s6, INPUT);
}

void loop()
{
  if (digitalRead(key_s6) == 0) //Если нажата кнопка
  {
     while(!digitalRead(key_s6));
     status = !status;
  }
  if (status)
      {
        digitalWrite(ledPin, HIGH); //Включаем
      }
      else
      {
        digitalWrite(ledPin, LOW); //Выключаем
      }
}

Теперь соберем немного более сложную схему с четырьмя светодиодами. Здесь я немного эксперементировал c analogWrite(). О PWM можно почитать здесь.



int ledPin13 =  13;
int ledPin12 =  12;
int ledPin11 =  11;
int ledPin08 =  8;
int pulseWidth  =  0;
int maxWidth = 255;
int minWidth = 0;
int delayTime = 10;
int i = 0;

void setup()   {              
  pinMode(ledPin13, OUTPUT);
  pinMode(ledPin12, OUTPUT);
  pinMode(ledPin11, OUTPUT);
}

void loop()                  
{
  for (pulseWidth = minWidth; pulseWidth <= maxWidth; pulseWidth++) {
    analogWrite(ledPin13, pulseWidth);
    analogWrite(ledPin12, pulseWidth);
    analogWrite(ledPin11, pulseWidth);
    delay(delayTime);
  }
  for (pulseWidth = maxWidth; pulseWidth >= minWidth; pulseWidth--) {
    analogWrite(ledPin13, pulseWidth);
    analogWrite(ledPin12, pulseWidth);
    analogWrite(ledPin11, pulseWidth);
    delay(delayTime);
  }
  analogWrite(ledPin08, maxWidth);
  for ( i = 0; i < 5; i++ ) {
    digitalWrite(ledPin08, HIGH);
    delay(100);
    digitalWrite(ledPin08, LOW);
    delay(100);
  }
}

Комментариев нет:

Отправить комментарий