Lompat ke konten Lompat ke sidebar Lompat ke footer

Arduino Tutorial - Cara Kendali PWM Melalui Serial Monitor

Jufrika Blog - Komunikasi serial memungkinkan komputer memberikan perintah pada board Arduino atau juga sebaliknya. Bahkan dengan bantuan Serial Monitor Arduino IDE, memungkinkan komputer menerima atau mengirimkan data ke board Arduino.

Pada tutorial Arduino kali ini akan diulas tentang bagaimana mengendalikan nilai PWM melalui Serial Monitor Arduino IDE. Perlu diketahui bahwa data yang dikirimkan oleh komputer ke Arduino masih berupa data character. Sehingga perlu diubah terlebih dahulu dari data string atau character menjadi integer.


Untuk lebih memahami silahkan copy langsung source code berikut dan coba langsung di laptop/PC sobat.

Source Code
Berikut ini adalah source code (sketch) Arduino untuk mengendalikan PWM melalui Serial Monitor.

/*
Program mengatur nilai PWM
melalui Serial Monitor Arduino IDE

*/

String inputString = "";

void setup()
{
  pinMode(9, OUTPUT);
  Serial.begin(9600);
  Serial.println("Mengubah input string menjadi integer");
  Serial.println("Untuk mengendalikan nilai PWM");
  delay(1000);
}

void loop()
{
  while(Serial.available() > 0)
  {
    int inputChar = Serial.read();
    if(isDigit(inputChar))
    {
      inputString += (char)inputChar;
    }
    if(inputChar == '\n')
    {
      int lang = inputString.toInt();
      if(lang > 255)
      {
        lang = 255;
      }
      Serial.println("Nilai PWM maximum 255");
      Serial.print("Nilai PWM di pin digital 9: ");
      Serial.println(lang);
      analogWrite(9, lang);
      inputString = "";
    }
  }
  delay(1000);
}

Penjelasan singkat mengenai source code (sketch) diatas.
  • Variable input String digunakan untuk menampung kumpulan data character yang akan diubah menjadi integer
  • Variable inputChar merupakan data pembacaan serial dari komputer
  • Variable lang merupakan hasil nilai integer, yang akan digunakan sebagai output nilai PWM pin digital 9 Arduino, selain pin 9 pin lainnya yang dapat digunakan untuk menghasilkan output PWM ialah pin 3, 5, 6, 10, dan 11
  • Untuk isDigit(), digunakan untuk melakukan pemeriksaan apakah data input dari komputer berupa bilangan atau bukan
  • Untuk toInt(), digunakan untuk mengubah suatu data menjadi menjadi data integer
Untuk nilai batas minimum PWM adalah 0, sedangkan nilai batas maximum yang digunakan ialah 255. Bila nilai yang diberikan lebih dari 255, maka akan disesuaikan menjadi nilai batas maximum yang diizinkan.
Untuk penerapan nilai PWM tersebut, bisa digunakan untuk mengendalikan tingkat terang redup dari suatu lampu atau kecepatan motor, atau mengetes kecepatan roda robot.

Source : 4Gebe
to close