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).
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.
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/)
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
Post a Comment