Használjunk if utasítást a kimeneti feltételek megváltoztatásához a bemeneti feltételek megváltozása alapján.
Utolsó felülvizsgálat: 2022.02.04 16:50
Az if() utasítás a legalapvetőbb az összes programozási vezérlőstruktúra közül. Lehetővé teszi, hogy valamit megtörténjen vagy sem, attól függően, hogy egy adott feltétel igaz-e vagy sem. Ez így néz ki:
if (feltétel) {
// tegyen dolgokat, ha a feltétel igaz
}
Van egy összetett variáció, az if-else, amely így néz ki:
if (feltétel) {
// tegyen dolgokat, ha a feltétel igaz
} else {
// tegyen dolgokat, ha a feltétel hamis
}
Van még az else-if, ahol ellenőrizhet egy második feltételt, ha az első hamis:
if (feltétel) {
// tegyen dolgokat, ha a feltétel igaz
} else if (másikfeltétel) {
// tegyen dolgokat, ha az első feltétel hamis
// és a második feltétel igaz
}
Mindig használni fogja az if utasításokat. Az alábbi példa bekapcsol egy LED-et a 13-as kivezetésen (sok Arduino kártyán a beépített LED), ha az analóg bemeneten leolvasott érték egy bizonyos küszöb fölé megy.
Hardver szükséglet
Arduino kártya
Potenciométer vagy változó ellenállás
Az áramkör

Vázlat

A kód
Az alábbi kódban egy analogValue
nevű változót használunk az analógPin 0 kártyához csatlakoztatott potenciométerről gyűjtött adatok tárolására. Ezt az adatot ezután összehasonlítják egy küszöbértékkel. Ha az analóg érték a beállított küszöbérték felett van, a 13-as digitális kivezetéshez csatlakoztatott beépített LED világít. Ha azt találja, hogy az analogValue < (kisebb, mint) a küszöbérték, a LED nem világít.
/*
Conditionals - If statement
Ez a példa az if() utasítások használatát mutatja be.
Kiolvassa a potenciométer állapotát (analóg bemenet), és csak akkor
kapcsol be egy LED-et, ha a potenciométer egy bizonyos küszöbérték
fölé megy. A szinttől függetlenül kiírja az analóg értéket.
Az áramkör:
- potenciométer
A potenciométer középső csatlakozója az analóg 0 kivezetésre kerül.
A potenciométer oldalsó csatlakozói a +5V-ra és a földre mennek.
- LED 220 ohmos ellenálláson keresztül a 13-as digitális kivezetésről a földre csatlakozik
- Megjegyzés: A legtöbb Arduino kártyán már van egy LED a táblán a 13-as kivezetéshez
csatlakoztatva, így ehhez a példához nincs szükség további alkatrészekre.
created 17 Jan 2009
modified 9 Apr 2012
by Tom Igoe
Ez a kód nyilvános.
https://docs.arduino.cc/built-in-examples/control-structures/ifStatementConditional
*/
// Ezek az állandók nem változnak:
const int analogPin = A0; // kivezetés, amelyhez az érzékelő csatlakozik
const int ledPin = 13; // kivezetés, amelyhez a LED csatlakozik
const int threshold = 400; // tetszőleges küszöbszint, amely az analóg bemenet tartományában van
void setup() {
// inicializálja a LED kivezetést kimenetként:
pinMode(ledPin, OUTPUT);
// soros kommunikáció inicializálása:
Serial.begin(9600);
}
void loop() {
// olvassa le a potenciométer értékét:
int analogValue = analogRead(analogPin);
// Ha az analóg érték elég magas, kapcsolja be a LED-et:
if (analogValue > threshold) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
// nyomtassa ki az analóg értéket:
Serial.println(analogValue);
delay(1); // késleltetés a leolvasások között a stabilitás érdekében
}
Tudj meg többet
További alapvető oktatóanyagokat a beépített példák részben talál.
Felfedezheti a nyelvi referenciát is, az Arduino programozási nyelv részletes gyűjteményét.