Dalam modul ini, saya dan teman saya melakukan praktik untuk membuat kecepatan motor bergerak sesuai besaran potensio dan indikator kecepatan motor dengan led.
Peralatan yang digunakan:
1. Arduino Uno Starter Kit
2. 1 Motor DC
3. 7 buah Lampu Led
4. 7 buah resistor
5. Beberapa Jumper
6. 1 buah Transistor
7. 1 buah dioda
Untuk menyelesaikan tugas modul ini, kita pasang dan sesuaikan rangkaian di breadboard menurut dasar yang diajarkan di modul dan dikembangkan sesuai kebutuhan.
Bisa dilihat mulai led ke-3 motor baru hidup dan mati.
int potPin = A0;
int motorPin = 13;
int ledPin = 12;
int ledPin2 = 11;
int ledPin3 = 10;
int ledPin4 = 9;
int ledPin5 = 8;
int ledPin6 = 7;
int ledPin7 = 6;
int potValue = 0;
int motorValue = 0;
void setup() {
// put your setup code here, to run once:
pinMode(ledPin, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin5, OUTPUT);
pinMode(ledPin6, OUTPUT);
pinMode(ledPin7, OUTPUT);
}
void loop() {
// Saya map besaran dari 1023 ke 255
potValue = analogRead(potPin);
motorValue = map(potValue, 0, 1023, 0, 255);
if(motorValue >= 0 && motorValue <= 36){
digitalWrite(ledPin, HIGH);
digitalWrite(ledPin2, LOW);
}else if(motorValue >= 36 && motorValue <= 72){
digitalWrite(ledPin, LOW);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, LOW);
}else if(motorValue >= 72 && motorValue <= 108){
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, HIGH);
digitalWrite(ledPin4, LOW);
}else if(motorValue >= 108 && motorValue <= 144){
digitalWrite(ledPin3, LOW);
digitalWrite(ledPin4, HIGH);
digitalWrite(ledPin5, LOW);
}else if(motorValue >= 144 && motorValue <= 180){
digitalWrite(ledPin4, LOW);
digitalWrite(ledPin5, HIGH);
digitalWrite(ledPin6, LOW);
}else if(motorValue >= 180 && motorValue <= 216){
digitalWrite(ledPin5, LOW);
digitalWrite(ledPin6, HIGH);
digitalWrite(ledPin7, LOW);
}else if(motorValue >= 216 && motorValue <= 255){
digitalWrite(ledPin6, LOW);
digitalWrite(ledPin7, HIGH);
}
analogWrite(motorPin, motorValue);
delay(2);
}