Programozás

Az Arduino nevű fejlesztői környezettel történik a programozás, melynek nyelve a C++-ra épül, ám leegyszerűsíti azt, így bárki nekiállhat az Arduino segítségével programozni, hamar belejön. A weboldalán sok hasznos tutorial és példaprogram van, valamint a fórumán is található egy elég aktív segítő közösség.(Sajnos a suliban mi csak Turbo Pascal-t tanulunk, így beletelt egy kis időbe, amíg megszoktam az Arduino-t - Kovács Gellért).

Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments. (forrás: http://arduino.cc/)

Itt egy kis példaprogram, amely lekéri a hőméréklet szenzor adatait minden másodpercben, és ha változás van az előző méréshez képest, akkor felvillanatja a beépített LED-et valamint kiírja a Serial Monitorra a változás mértékét egységekben.

FIGYELEM: Ez a program nem arra szolgál, hogy megtanítson, vagy elmagyarázzon bármit is a program szerkezetével kapcsolatban, hanem csakis arra, hogy kissé megfigyelhetővé tegye egy Arduino program szerkezetét, ezért nincs semmi megmagyarázva. Ha valaki további információra kíváncsi, megkérem, hogy látogasson el a Arduino hivatalos weboldalára, ahol nagyon sok lecke és példaprogram található.

#define LED 8
#define off HIGH
#define on LOW

int sensorValue = 0;
int previous_sensorValue = 0;
int kulonbseg = 0;

void setup()
{
  Serial.begin(9600);
  pinMode(LED, OUTPUT);
}

void loop()
{
  previous_sensorValue = sensorValue;
  sensorValue = analogRead(A2);
  Serial.print(sensorValue);
  
  if (previous_sensorValue == sensorValue)
    {
      Serial.println(" nem valtozott."); 
      digitalWrite(LED, off);
    }
   else
     {
       digitalWrite(LED, on);
       if (previous_sensorValue < sensorValue)
         {
           kulonbseg = sensorValue - previous_sensorValue;
           Serial.print(" nott "); 
           Serial.print(kulonbseg);
           Serial.println(" egyseggel."); 
         }
        else
          {
            kulonbseg = previous_sensorValue - sensorValue;
            Serial.print(" csokkent ");
            Serial.print(kulonbseg);
            Serial.println(" egyseggel."); 
          }
     }
     delay(1000);
}

Comments

Popular Posts