Analog baca dan tulis menggunakan Arduino uno

Analog Read and Write Using the Arduino Uno

Arduino UNO mendukung operasi input dan output analog, memungkinkan Anda untuk berinteraksi dengan sensor dan aktuator yang membutuhkan nilai yang tepat. Operasi analog sangat penting untuk mengendalikan perangkat seperti LED, motor, dan input membaca dari sensor seperti potensiometer atau sensor cahaya. Tutorial ini akan memandu Anda melalui pengaturan, membaca dan menulis analog, dan menggunakan operasi logika seperti if pernyataan dengan data analog.


Apa yang Anda Butuhkan

  1. Arduino Uno dengan kabel USB
  2. Potensiometer (atau resistor variabel apa pun) untuk input analog
  3. LED dan resistor 220-OHM untuk output analog
  4. Papan tempat memotong papan dan kabel jumper
  5. Komputer dengan IDE Arduino diinstal

Langkah 1: Memahami pin analog di Arduino

Arduino UNO memiliki enam pin input analog (A0-A5) yang dapat membaca tegangan antara 0 dan 5V dan mengubahnya menjadi nilai digital antara 0 dan 1023. Untuk output analog, Arduino menggunakan PWM (modulasi lebar pulsa) pada pin digital tertentu) ditandai dengan ~ (mis., 3, 5, 6, 9, 10, 11).

Fungsi digunakan

  • Input Analog: analogRead(pin)
    • Membaca tegangan (0-5V) dan mengembalikan nilai antara 0 dan 1023.
  • Output Analog: analogWrite(pin, value)
    • Mengeluarkan sinyal PWM di mana value berkisar dari 0 (siklus tugas 0%) hingga 255 (siklus tugas 100%).

Langkah 2: Input analog kabel (potensiometer)

Hubungkan potensiometer ke pin analog Arduino:

Pin potensiometer Koneksi Arduino
1 (pin akhir) 5v
2 (tengah/output) A0
3 (end pin) Gnd

Langkah 3: Keluaran analog kabel (LED)

Hubungkan LED dengan resistor 220-OHM ke pin PWM Arduino (mis., Pin 9):

Pin LED Koneksi Arduino
Kaki panjang (+) Digital Pin 9
Kaki pendek (-) Gnd

Langkah 4: Membaca Input Analog

Gunakan analogRead() Fungsi untuk membaca data dari potensiometer:

Contoh Kode: Membaca Input Analog

#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
}

Jalankan kode dan amati nilai potensiometer (0-1023) di monitor serial.


Langkah 5: Menulis output analog

Gunakan analogWrite() Fungsi untuk mengontrol kecerahan LED:

Contoh kode: output analog ke LED

#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);
  }
}

Langkah 6: Menggabungkan input dan output analog

Anda dapat menggunakan nilai input analog untuk mengontrol output, seperti menyesuaikan kecerahan LED berdasarkan posisi potensiometer.

Contoh Kode: Kontrol Potensiometer Kecerahan LED

#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);
}

Langkah 7: Menggunakan if Pernyataan dengan data analog

Anda dapat membuat kondisi menggunakan input analog untuk melakukan tindakan spesifik:

Contoh Kode: Kontrol Bersyarat

#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);
}

Aplikasi Baca/Tulis Analog

  1. Membaca Sensor Lingkungan (mis., Cahaya, suhu, kelembaban)
  2. Menyesuaikan kecepatan motor
  3. Mengontrol kecerahan LED
  4. Pemrosesan Sinyal Audio
  5. Membuat antarmuka pengguna berbasis analog

Pemecahan masalah

  • Bacaan yang salah dari sensor: Pastikan kabel yang tepat dan verifikasi koneksi potensiometer.
  • LED tidak menerangi: Konfirmasikan orientasi LED dan gunakan resistor untuk membatasi arus.
  • Output tidak halus: Tambahkan penundaan kecil atau rata -rata nilai input untuk stabilitas.

Kesimpulan

Anda telah belajar cara melakukan operasi baca dan tulis analog menggunakan Arduino uno, peta nilai sensor ke output, dan menggunakan if Pernyataan untuk logika bersyarat. Keterampilan ini sangat penting untuk menciptakan proyek yang responsif dan interaktif. Eksperimen lebih lanjut dengan mengintegrasikan sensor analog dan aktuator lainnya untuk memperluas kemampuan Anda!

Tinggalkan komentar

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.