czwartek, 23 lipca 2015

[1] Arduino - Mruganie diodą wbudowaną oraz zewnętrzną


PRZYKŁAD 1
Jako pierwszy program opisywane będzie sposób mrugania diodą wbudowaną oraz diodą zewnętrzną.
Pierwszy przykład pokazuje sposób mrugania diodą wbudowaną podłączoną do płytki Arduino Uno do pinu 13.


//Przykład 1
//Mruganie diodą wbudowaną
//Dioda jest podłączona do pinu 13
#define DiodePin 13
//lub można tak
//int DiodePin = 13;
void setup() 
{
  pinMode(DiodePin, OUTPUT);  //Ustawienie pinu jako wyjście
}
 
void loop() 
{
  digitalWrite(DiodePin, HIGH); //Ustawienie stanu wysokiego, zapalenie
  delay(1000);                  //Opóźnienie 1000ms
  digitalWrite(DiodePin, LOW);  //Ustawienie stanu niskiego, zgaszenie
  delay(1000);                  //Opóźnienie 1000ms
}

PRZYKŁAD 2

Przykład drugi opisuje sposób realizacji migania diodą wbudowaną z zmiennym interwałem czasowym.

//Przykład 2
#define DiodePin 13
 
int czas = 0;                  //Inicjalizacja zmiennej czas
 
void setup() 
{
  pinMode(DiodePin, OUTPUT);   //Ustawienie pinu jako wyjście
}
 
void loop() 
{
  czas = czas + 100;            //Zwiększenie wartości czasu
 
  digitalWrite(DiodePin, HIGH); //Ustawienie stanu wysokiego, zapalenie
  delay(czas);                  //Opóźnienie o długości trwania ustawionej wartości czasu
  digitalWrite(DiodePin, LOW);  //Ustawienie stanu niskiego, zgaszenie
  delay(czas);                  //Opóźnienie o długości trwania ustawionej wartości czasu
 
  if(czas == 1000)              //Pętla If sprawdza czy czas równa się 1000 jeśli tak to zeruje zmienną
  {
    czas = 0;
  }
}

PRZYKŁAD 3

W trzecim przykładzie zrealizowano miganie diodą zewnętrzną.

//Przykład 3
#define DiodePin 13
 
void setup() 
{
  pinMode(DiodePin, OUTPUT);  //Ustawienie pinu jako wyjście
 
}
 
void loop() 
{
  digitalWrite(DiodePin, HIGH);  //Ustawienie stanu wysokiego, zapalenie
  delay(1000);                   //Opóźnienie 1000ms
  digitalWrite(DiodePin, LOW);   //Ustawienie stanu niskiego, zgaszenie
  delay(1000);                   //Opóźnienie 1000ms
}