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
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.
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
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
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);
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