Anda di halaman 1dari 12

LAPORAN PRAKTEK KOMUNIKASI DIGITAL

PERCOBAAN 1 KOMUNIKASI SERIAL

Dosen Pengampu :
Triana Rahmawati, ST, M.Eng
NIP 19810623 200212 2 002

Disusun Oleh :
M. Esak Muhandis NIM P27838121027
M. Naufal Mahardika NIM P27838121028

2C2

POLITEKNIK KESEHATAN KEMENKES SURABAYA


JURUSAN TEKNIK ELEKTROMEDIK
TAHUN AJARAN 2022/2023
A. JUDUL
PERCOBAAN 1 KOMUNIKASI SERIAL
B. ALAT DAN BAHAN
1. MIKROKONTROLER ARDUINO
2. LED
3. PUSH BUTTON
4. KABEL JUMPER
5. PROJECTBOARD
6. LAPTOP (ARDUINO IDE)
C. PROSEDUR PERCOBAAN
1. Percobaan
1.1 Percobaan Komunikasi Serial Kendali LED
A. Langkah-Langkah
1. Membuka aplikasi ARDUINO IDE pada laptop.
2. Menyiapkan listing program yang ada pada buku panduan komuniasi digital.
3. Mengatur port USB dan board pada menu tools di Arduino.
4. Mengupload listing program yang telah akan dijalankan.
5. Membuka listing program pada Arduino.
6. Memberi input karakter a,b atau c sebagai bentuk perintah LED on, off dan flip
flop pada Arduino.
B. Listing program
int lamp1 = 13;
int lamp2 = 12;
int lamp3 = 11;
int databaca;

void setup() {
pinMode(lamp1, OUTPUT);
pinMode(lamp2, OUTPUT);
pinMode(lamp3, OUTPUT);
Serial.begin(9600);
}
void loop()
{

if (Serial.available())
{
int bacadata = Serial.read();
if (bacadata =='a')
{databaca=1;}
if (bacadata =='b')
{databaca=2;}
if (bacadata =='c')
{databaca=3;}

if(databaca==1)
running: //LED akan berjalan pada mode running
{
digitalWrite(lamp1, HIGH);
delay(100);
digitalWrite(lamp1, LOW);
delay(100);
digitalWrite(lamp2, HIGH);
delay(100);
digitalWrite(lamp2, LOW);
delay(100);
digitalWrite(lamp3, HIGH);
delay(100);
digitalWrite(lamp3, LOW);
delay(100);
Serial.println("LED mode
running");
loop();
goto running;
}

if(databaca==2)
flipflop: // LED akan berjalan pada mode flip flop
{
digitalWrite(lamp1, LOW);
digitalWrite(lamp2, LOW);
digitalWrite(lamp3, LOW);
delay(250);
digitalWrite(lamp1, HIGH);
digitalWrite(lamp2, HIGH);
digitalWrite(lamp3, HIGH);
delay(250);
Serial.println("LED mode flip
flop"); loop(); goto flipflop;
}

if(databaca==3)
modeoff: // Semua LED akan off
{
digitalWrite(lamp1,LOW);
digitalWrite(lamp2,LOW);
digitalWrite(lamp3,LOW);
delay(1000);
Serial.println("LED mode off");
loop(); goto modeoff; }
}
}

C. Hasil Percobaan

Gambar 1. Led Menyala Gambar 2. Led Menyala Flip-Flop Gambar 3. Led Mode Off
Pada percobaan ini yang dilakukan adalah untuk mengendalikan LED dengan
komunikasi serial, dimana ketika karakter A digunakan untuk menghidupkan LED
sesuai gambar 1, karakter B untuk flip-flop LED sesuai gambar 2 , karakter C untuk
mematikan LED sesuai gambar 3.

2. Percobaan 1.2 Komunikasi Serial Kendali Potensiometer


A. Langkah-langkah
1. Membuka aplikasi ARDUINO IDE pada laptop.
2. Menyiapkan listing program yang ada pada buku panduan komuniasi
digital.
3. Mengatur port USB dan board pada menu tools di Arduino.
4. Mengupload listing program yang telah akan dijalankan.
5. Membuka listing program pada Arduino.
6. Mengatur perputaran potensiometer pada Arduino sehingga menampilkan
tegangan pada serial monitor.

B. Listing program
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}

// the loop routine runs over and over again forever: void
loop() {
// read the input on analog pin 0: int
sensorValue = analogRead(A0); // print out the
value you read: Serial.println(sensorValue);
delay(1); // delay in between reads for stability
}

C. Hasil percobaan

Gambar 4. Hasil nilai Voltage dikendalikan oleh potensiometer


Pada percobaan ini dilakukan adalah untuk mengendalikan putaran pada
potensiometer, dimana nilai voltage ditampilkan pada serial monitor
Arduino seperti yang ditampilkan pada gambar 4.
3. Percobaan 1.3 Percobaan Komunikasi Arduino to Arduino
A. Langkah-langkah
1. Membuka aplikasi ARDUINO IDE pada laptop.
2. Menghubungkan pin TX (Arduino 1) ke RX (Arduino 2) demikian pula
sebaliknya RX (Arduino 1) ke TX (Arduino 2) untuk melakukan komnikasi
2 Arduino.
3. Menyiapkan listing program pada Arduino.
4. Mengatur port USB dan board pada menu tools di Arduino.
5. Mengupload listing program yang telah akan dijalankan.
6. Membuka serial monitor pada Arduino dan mengatur boudrate yang sesuai
dengan listing program.

B. Listing program
const int sensorPin = A0; // temperature sensor is connected to A0 int
sensorVal = 0; // variable used to store the value coming from the sensor
void setup()
{
Serial.begin(9600); // initialize the serial communication // }

void loop() {
sensorVal = analogRead(sensorPin); // read the value from the sensor
float voltage = (sensorVal/1024.0) * 5.0; // convert the sensor reading to
voltage float temperatureC = (voltage - .5) * 100; // convert the voltage
to temperature
float temperatureF = temperatureC * (9.0/5.0) + 32.0;
Serial.print("Sensor Value: "); // send the sensor value to the serial
Serial.print(sensorVal);
Serial.print(", Volts: ");
Serial.print(voltage);
Serial.print(", degrees C: ");

Serial.print(temperatureC);
Serial.print(", degrees F: ");
Serial.println(temperatureF);
delay(1000); }
C. Hasil percobaan

Gambar 5. Hasil dari Pembacaan Sensor oleh Potensiometer


Pada percobaan ini data tegangan analog yang dihasilkan oleh sensor
Potensio dibaca oleh arduino nano melalui pin analog, selanjutnya data hasil
konversi ditampilkan pada serial monitor Arduino seperti yang ditampilkan
pada gambar 5.

4. Percobaan 1.4 Percobaan Komunikasi Serial Menghidupkan LED (MIKRO 2) melalui


SW (MIKRO 1)
A. Langkah-langkah
1. Membuka aplikasi ARDUINO IDE pada laptop.
2. Menghubungkan pin TX (Arduino 1) ke RX (Arduino 2) demikian pula
sebaliknya RX (Arduino 1) ke TX (Arduino 2) untuk melakukan komnikasi
2 Arduino.
3. Menyiapkan listing program pada Arduino.
4. Mengatur port USB dan board pada menu tools di Arduino.
5. Mengupload listing program yang telah akan dijalankan.
6. Membuka serial monitor pada Arduino dan mengatur boudrate yang sesuai
dengan listing program.
B. Listing program
//Pengirim
#include <SoftwareSerial.h>
SoftwareSerial asik(5,6);

int Button = A0;


void setup() {
// Begin the Serial at 9600 Baud
asik.begin(9600);
pinMode(Button, INPUT_PULLUP); // for read button
}

void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(Button) == HIGH)
{
asik.write('1');
}
delay(100); // waitting message send }
//Penerima
#include <SoftwareSerial.h>
SoftwareSerial asik(5,6);

int lamp = 13;


int dataa;
char mystr; //Initialized variable to store recieved
data void setup() {
// Begin the Serial at 9600 Baud
pinMode(lamp, OUTPUT);
asik.begin(9600);
}

void loop() {
mystr = asik.read();
if(mystr == '1')
//{dataa = 1;}
//if (dataa ==1)
{
digitalWrite(lamp, HIGH);
}
delay(100); // waitting message reciev
digitalWrite(lamp, LOW);
}

C. Hasil percobaan

Gambar 6. Mengidupkan Led dengan Menggunakan Switch


Pada percobaan ini menghidupkan LED pada ARDUINO dengan
menggunakan SW yang telah diatur pada listing program pada gambar 6.
5. KESIMPULAN
Dari praktikum yang telah dilakukan dapat kami simpulkan bahwa pada percobaan
komunikasi serial ini kita dapat menghidupkan led, mematikan led, dan membuat led
menyala flip-flop. Kemudian kita juga dapat mengendalikan voltage dengan potensiometer
dan dapat membaca tegangan yang ada pada sensor. Komunikasi serial ini juga dapat
digunakan sebagai komunikasi dua arduino, untuk mengendalikan led pada arduino lainnya.
Dalam kounikasi serial ini perlu diperhatikan pada pin TX dan pin RX karena jika sampai
salah menghubungkan maka kedua Arduino tidak dapat berkomunikasi.

Anda mungkin juga menyukai