Beruflich Dokumente
Kultur Dokumente
Tujuan Praktek :
a. Mampu membuat program pengiriman data dari Arduino ke PC atau sebaliknya melalui serial
monitor.
b. Mampu membuat program pengiriman data dari Arduino ke PC atau sebaliknya melalui program
Processing.
Daftar Perangkat/Komponen :
No
Perangkat/Komponen
Jumlah
No
Perangkat/Komponen
Jumlah
Komputer/Laptop
Potensiometer 10k
10
Protoboard
Push Button
11
Kabel jumper
RGB LED
Secukupnya
Kegiatan Praktek
P2.1
P2.2
void setup()
{
Serial.begin(9600);
digitalWrite(2,HIGH); //enable r pull-up
}
void setup()
{
Serial.begin(9600);
}
void loop()
{
int pbs = digitalRead(2);
if (pbs == LOW)
{
Serial.println("PBS = closed");
}
else
Serial.println("PBS = open");
delay(500);
}
void loop()
{
int pot = analogRead(A0);
float potV = pot * 5.0 / 1023;
float potP = (potV / 5.0) * 100;
Serial.print("Nilai pot (desimal) = ");
Serial.println(pot);
Serial.print("Nilai pot (volt) = ");
Serial.println(potV);
Serial.print("Nilai pot (%) = ");
Serial.println(potP);
delay(500);
Serial.println();
}
P2.3
P2.4
void setup()
{
Serial.begin(9600);
pinMode(13,OUTPUT);
}
void setup()
{
Serial.begin(9600);
digitalWrite(2,HIGH);
}
void loop()
{
int pbs = digitalRead(2);
if (pbs == LOW)
{
pbsPos = "closed";
}
else
pbsPos = "open";
int pot = analogRead(A0);
float potV = (pot * 5.0) / 1023;
float potP = (potV / 5.0) * 100;
Serial.print ("H"); // kode Header
Serial.print(",");
Serial.print(pbsPos);
Serial.print(",");
Serial.print(potP);
void loop()
{
if (Serial.available() > 0)
{
//baca data serial sebagai integer
int dataLed = Serial.read();
if (dataLed == 49)
// 49 = ASCII "1"
{
digitalWrite(13,HIGH);
}
else if (dataLed == 48) // 48 = ASCII "0"
{
digitalWrite(13,LOW);
}
else (Serial.flush());
}
}
Serial.println(",");
Serial.println();
delay(500);
}
P2.5
// Sketch P2.5 : Kendali RGB LED dr. sermon
void setup()
{
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
Serial.begin(9600);
}
void loop ()
{
if (Serial.available() > 0)
{
//baca data serial sebagai karakter
char dataSer = Serial.read();
switch (datSer)
{
case '2':
blinkPin(2);
break;
case '3':
blinkPin(3);
P2.6
// Sketch P2.6 : Kendali RGB LED dari sermon
// Copyright 2013 Jeremy Blum
//Sending Multiple Variables at once exp.255,0,0
//Define LED Pins
const int RED
=11;
const int GREEN =10;
const int BLUE =9;
//Variables for RGB levels
int rval = 0;
int gval = 0;
int bval = 0;
void setup()
{
Serial.begin(9600); // 9600 baud
//Set pins as outputs
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
}
Page 4 of 8 | Job Sheet P2 : Antarmuka Port Serial Arduino
break;
case '4':
blinkPin(4);
break;
}
}
}
void blinkPin(int pin)
{
digitalWrite(pin, HIGH);
delay(250);
digitalWrite(pin, LOW);
delay(250);
}
void loop()
{
//Keep working as long as data is in the buffer
while (Serial.available() > 0)
{
rval = Serial.parseInt();//first valid int
gval = Serial.parseInt();//second valid int
bval = Serial.parseInt();//third valid int
//display RGB value
Serial.println(rval);
Serial.println(gval);
Serial.println(bval);
Serial.println();
//set LED
analogWrite(RED, rval);
analogWrite(GREEN, gval);
analogWrite(BLUE, bval);
}
}
P2.7a - Arduino
P2.7p - Processing
void setup()
{
Serial.begin(9600); //Start Serial
}
void setup()
{
size(500,500); //Window size
port = new Serial(this,"/dev/ttyACM0",9600);
port.bufferUntil('\n'); //Setup port to read
}
void loop()
{
val = map(analogRead(POT),0,1023,0,255);
Serial.println(val); //Send value
delay(50);
}
void draw()
{
background(0,0,brightness); //Updates the window
}
void serialEvent (Serial port)
{
//Gets val
brightness = float(port.readStringUntil('\n'));
}
P2.8a - Arduino
P2.8p - Processsing
void setup()
{
Serial.begin(9600); // 9600 baud
//Set pins as outputs
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
void draw()
{
background(0);
image(img,0,0);
}
//Black Background
//Overlay image
void mousePressed()
}
{
color c = get(mouseX, mouseY); //Get the RGB
void loop()
// color where mouse was pressed
{
String colors = int(red(c))+","+int(green(c))
//Keep working as long as data is in buffer +","+int(blue(c))+"\n"; //extract values from clr.
while (Serial.available() > 0)
print(colors); //print colors for debugging
{
port.write(colors); //Send values to Arduino
rval = Serial.parseInt(); //1st int
}
gval = Serial.parseInt(); //2nd int
bval = Serial.parseInt(); //3rd int
if (Serial.read() == '\n') //done transmt
{
//set LED
analogWrite(RED, rval);
analogWrite(GREEN, gval);
analogWrite(BLUE, bval);
}
}
}
Do-It-Yoursel (DIY) :
a. Buatlah sistem pemantauan suhu dan cahaya ruangan melalui serial monitor.
--- kumpulkan gambar skematik, flow chart, dan source code (sketch) hari ini --b. Buatlah gambar skematik, analisis program, dan flow chart dari P2.1 sampai P2.8.
--- kumpulkan paling lambat minggu depan --awagyana@gmail.com