TUGAS PENDAHULUAN - MODUL 3





1. Kondisi [Kembali]

Ganti LED dengan motor DC. buatlah motor DC berputar searah jarum jam dengan kecepatan maksimum pada saat potensiometer 100% dan kecepatan minimum pada saat potensiometer 0%.

2. Gambar Rangkaian Simulasi [Kembali]



3. Flowchart [Kembali]




4. Listing program [Kembali]

PROGRAM ARDUINO MASTER:
//MASTER
#include <Wire.h>
#include<LiquidCrystal.h>
#define SLAVE_ADDR 9
LiquidCrystal lcd (2,3,4,5,6,7);
int analogPin = 0;
int val = 0;

void setup() {
 Wire.begin();
  lcd.begin(16,2);
}
void loop() {
 delay(50);
 val = map(analogRead(analogPin), 0, 1023, 255, 0);
 Wire.beginTransmission(SLAVE_ADDR);
 Wire.write(val);
 Wire.endTransmission();
 lcd.clear();
 lcd.setCursor(0,1);
 lcd.print(val);
}


PROGRAM ARDUINO SLAVE:
//SLAVE
#include<LiquidCrystal.h>
#include <Wire.h>
#define SLAVE_ADDR 9
LiquidCrystal lcd (2,3,4,5,6,7);
byte pin []={10};
int rd;
int br;


void setup() {
 pinMode(10, OUTPUT);
 lcd.begin(16,2);
 Wire.begin(SLAVE_ADDR);
 Wire.onReceive(receiveEvent);
 Serial.begin(9600);
}
void receiveEvent(int howMany)
{
  {
 rd =Wire.read();
 Serial.println(rd);
  }

}

void loop() {
void receiveEvent();
{
  while (0<Wire.available()){
 rd =Wire.read();
  }
  br = map(rd, 0, 255, 0,255 );
 digitalWrite(10, br);
 lcd.clear();
 lcd.setCursor(0,0);
 lcd.print(rd);
 lcd.setCursor(0,1);
 lcd.print(br);
delay(50);
}
}

3. Video Simulasi [Kembali]



4. Prinsip Kerja Rangkaian [Kembali]

     Tugas Pendahuluan Modul 3 ini adalah Percobaan Komunikasi controller yaitu I2C dengan menggunakan Komponen yang arduino potensio dan motor  dc dan digunakan LCD untuk tampilan nilai output pada rangkaian.
   
     Awalnya kaki potensiometer dihubungkan dengan Ground, Sumber tegangan, dan pin analog arduino yang ada di master. Arus dialirkan dari sumber ke potensiometer, lalu menuju kaki pin analog arduino dan ground. Nilainya tergantung bagaimana kita mengatur di potensiometer. Nilai yang diteruskan ke kaki analog dibaca pada kaki analog arduino yang didalamnya ada ADC dengan rentang nilai 0-1023. Nilai tersebut akan di mapping menjadi rentang nilai 0-255.
Pada program setelah nilai itu dipetakan diberi label “val”. Lalu arduino bertindak sebagai master nantinya akan memulai transmisi, yang nilai dari master akan dikirimkan ke arduino slave. Saat semua sinyal atau nilai "val" terkirim maka arduino master akan mengakhiri proses transmisi. pada LCD akan ditampilkan nilai "val" yang merupakan hasil dari proses mapping nilai pembacaan potensiometer.

     Arduino slave bersifat sebagai penerim, sinyal yang di kirimkan arduino master akan diberi label "rd". lalu proses selanjutnya adalah pemetaan nilai "rd" menjadi "br". dimana nilai "rd" yang bekisar 0-255 akan dipetakan menjadi nilai "br" yaitu 0-255. nilai br yang telah didapatkan akan di keluarkan oleh arduino menuju pin output. pin output yang digunakan adalah pin yang memiliki PWM pada kakinya. tujuannya untuk memberikan perubahan kecepatan putar motor berdasarkan nilai lebar pulsa hasil mapping. pada percobaan ini kaki arduino yang bersifat sebagai slave adalah kaki digital 10. lalu motor yang terhubung dengan pin 10  akan berputar sesuai nilai output yang dihasilkan. pada LCD yang terhubung dengan arduino slave akan ditampilkan nilia "rd" pada baris pertama dan nilia br pada baris kedua. ini sesuai dengan program dan setCursor yang diaturkan pada program.


     Saat nilai potensio bernilai 100% maka nilai yang dihasilkan ADC adalah 1023. lalu dilakukan mapping sehingga menghasilkan nilai 255. niali 255 akan dilabeli val dan ditransmisikan oleh arduino samapai semua nilai "val" terkirim. proses ini terjadi pada arduino  master. selanjutnya hasil yang dikirimkan oleh arduino master akan dibaca oleh arduino slave dan diberi label rd dengan nilai 255.  nilai rd akan dimapping menjadi nilai br sehingga menghasilkan nilai br 255. lalu 255 akan dikeluarkan oleh kaki digital 10 arduino dan motor berputar maksimal. sebaliknya jika nilai potensio adalah 0 maka nilai hasil mapping yaitu val juga akan 0. 0 ditransmisikan dan diterima nilai sebesar 0 oleh slave dan dilabeli rd. nilai 0 rd tadi dimapping menjadi nilai br dan menghasilkan nilai 0. 


5. Link Download [Kembali]

Rangkaian simulasi bisa diunduh disini
Video simulasi bisa diunduh disini
HTML file bisa diunduh disini
Download listing program disini
Download Flowchart disini
Datasheet arduino uno disini

Tidak ada komentar:

Posting Komentar