20 fontnál több rendelés esetén ingyen szállítsák!

Analóg olvassa el és írjon az Arduino Uno használatával

Analog Read and Write Using the Arduino Uno

Az Arduino UNO támogatja az analóg bemeneti és kimeneti műveleteket, lehetővé téve a pontos értékeket igénylő érzékelőkkel és működtetőkkel való interakciót. Az analóg műveletek elengedhetetlenek az olyan eszközök, mint a LED -ek, a motorok és az érzékelők, például a potenciométerek vagy a fényérzékelők olvasásához. Ez az oktatóanyag végigvezeti a beállítást, az analóg olvasást és az írást, valamint a logikai műveleteket, mint például if állítások analóg adatokkal.


Mire lesz szüksége

  1. Arduino UNO USB -kábelrel
  2. Potentiométer (vagy bármilyen változó ellenállás) analóg bemenethez
  3. LED és egy 220-OHM ellenállás az analóg kimenethez
  4. Kenyérlemez és jumper vezetékek
  5. Egy számítógép, amelyen az Arduino IDE telepített

1. lépés: Az analóg csapok megértése az Arduino -n

Az Arduino UNO-nak hat analóg bemeneti csapja (A0-A5) van, amelyek 0 és 5 V közötti feszültséget tudnak olvasni, és 0 és 1023 közötti digitális értékré alakíthatják. Az analóg kimenethez az Arduino PWM-t (impulzusszélesség-modulációt) használ bizonyos digitális csapokon. jelölve ~ (például 3, 5, 6, 9, 10, 11).

A használt funkciók

  • Analóg bemenet: analogRead(pin)
    • Olvas egy feszültséget (0-5 V), és értéket ad vissza 0 és 1023 között.
  • Analóg kimenet: analogWrite(pin, value)
    • PWM jelet ad ki, ahol value 0 (0% -os szolgálatciklus) és 255 (100% -os üzemi ciklus) között van.

2. lépés: Huzalozási analóg bemenet (potenciométer)

Csatlakoztasson egy potenciométert egy Arduino analóg PIN -hez:

Potenciométeres csap Arduino csatlakozás
1 (végcsap) 5 V -os
2 (középső/kimenet) A0
3 (végcsap) GND

3. lépés: Huzalozási analóg kimenet (LED)

Csatlakoztasson egy LED-et egy 220 ohm-es ellenállással egy Arduino PWM csaphoz (például 9. érintkező):

LED -tű Arduino csatlakozás
Hosszú láb (+) Digitális PIN 9
Rövid láb (-) GND

4. lépés: Analóg bemenet olvasása

Használja a analogRead() Funkció az adatok olvasásához a potenciométerről:

Példa kód: Analóg bemenet olvasása

#define potPin A0 // Potentiometer connected to A0

void setup() {
  Serial.begin(9600);
  Serial.println("Analog Input Test");
}

void loop() {
  int sensorValue = analogRead(potPin); // Read analog value
  Serial.print("Sensor Value: ");
  Serial.println(sensorValue);
  delay(500); // Wait for half a second
}

Futtassa a kódot, és figyelje meg a potenciométer értékeket (0-1023) a soros monitorban.


5. lépés: Analóg kimenet írása

Használja a analogWrite() funkció a LED fényerejének szabályozására:

Példa kód: Analóg kimenet a LED -hez

#define ledPin 9 // LED connected to pin 9

void setup() {
  pinMode(ledPin, OUTPUT); // Set LED pin as output
}

void loop() {
  for (int brightness = 0; brightness <= 255; brightness++) {
    analogWrite(ledPin, brightness); // Increase brightness
    delay(10);
  }

  for (int brightness = 255; brightness >= 0; brightness--) {
    analogWrite(ledPin, brightness); // Decrease brightness
    delay(10);
  }
}

6. lépés: Az analóg bemenet és kimenet kombinálása

Analóg bemeneti értékeket használhat a kimenet szabályozására, például a LED -es fényerő beállítására a potenciométer pozíciója alapján.

Példa kód: Potenciométer vezérlők LED fényereje

#define potPin A0 // Potentiometer connected to A0
#define ledPin 9  // LED connected to pin 9

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

void loop() {
  int sensorValue = analogRead(potPin); // Read potentiometer value

  int brightness = map(sensorValue, 0, 1023, 0, 255); // Map to PWM range
  analogWrite(ledPin, brightness); // Set LED brightness

  Serial.print("Sensor Value: ");
  Serial.print(sensorValue);
  Serial.print(" -> Brightness: ");
  Serial.println(brightness);

  delay(100);
}

7. lépés: Használat if Állítások analóg adatokkal

Készíthet feltételeket analóg bemenetekkel konkrét műveletek végrehajtásához:

Példa kód: Feltételes vezérlés

#define potPin A0 // Potentiometer connected to A0
#define ledPin 9  // LED connected to pin 9

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

void loop() {
  int sensorValue = analogRead(potPin);

  if (sensorValue > 512) {
    analogWrite(ledPin, 255); // Full brightness if sensor value > 512
    Serial.println("Bright!");
  } else {
    analogWrite(ledPin, 0); // Turn off LED otherwise
    Serial.println("Off");
  }

  delay(500);
}

Analóg olvasás/írás alkalmazásai

  1. A környezeti érzékelők olvasása (például fény, hőmérséklet, páratartalom)
  2. A motor sebességének beállítása
  3. A LED -es fényerő vezérlése
  4. Audio jelfeldolgozás
  5. Analóg alapú felhasználói felületek létrehozása

Hibaelhárítás

  • Helytelen leolvasások az érzékelőtől: Gondoskodjon a megfelelő vezetékekről és ellenőrizze a potenciométer csatlakozásait.
  • LED nem világít: Erősítse meg a LED -orientációt, és használjon ellenállást az áram korlátozására.
  • A kimenet nem sima: Adjon hozzá egy kis késleltetést, vagy átlagolja a stabilitás bemeneti értékeit.

Következtetés

Megtanulta, hogyan kell elvégezni az analóg olvasási és írási műveleteket az Arduino UNO segítségével, térképérzékelő értékeit a kimenetekhez, és használni if A feltételes logika nyilatkozata. Ezek a készségek kulcsfontosságúak a reagáló, interaktív projektek létrehozásához. Kísérletezzen tovább azáltal, hogy integrálja más analóg érzékelőket és működtetőket, hogy bővítse képességeit!

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.

Hagyj egy megjegyzést