Professional Documents
Culture Documents
I. Rangkaian II. Program 4.1.1 Dasar Program IO Serial Asinkron
I. Rangkaian II. Program 4.1.1 Dasar Program IO Serial Asinkron
II.
RANGKAIAN
PROGRAM
4.1.1
Dasar Program IO Serial Asinkron
4.1.2
Tugas
5.2.1
/*
* SerialFormatting
* Print values in various formats to the serial port
*/
char chrValue =65;
byte byteValue =65;
int intValue =65;
float floatValue=65.0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println("chrValue:");
Serial.println(chrValue);
Serial.write(chrValue);
Serial.println();
Serial.println(chrValue,DEC);
Serial.println("byteValue:" );
Serial.println(byteValue);
Serial.write(byteValue);
Serial.println();
Serial.println(byteValue,DEC);
Serial.println("intValue:");
Serial.println(intValue);
Serial.println(intValue,DEC);
Serial.println(intValue,HEX);
Serial.println(intValue,OCT);
Serial.println(intValue,BIN);
Serial.println("floatValue:");
Serial.println(floatValue);
delay(1000);
chrValue++;
byteValue++;
intValue++;
floatValue+=1;
}
5.2.2
Tugas
/*
* SerialFormatting
* Print values in various formats to the serial port
*/
char chrValue =65;
byte byteValue =65;
int intValue =65;
float floatValue=65.0;
void setup()
{
Serial.begin(9600);
}
void loop()
{for(chrValue=65; chrValue<=90;){
Serial.println("chrValue:");
Serial.println(chrValue);
Serial.write(chrValue);
Serial.println();
Serial.println(chrValue,DEC);}
for(byteValue=65; byteValue<=90;){
Serial.println("byteValue:" );
Serial.println(byteValue);
Serial.write(byteValue);
Serial.println();
Serial.println(byteValue,DEC);}
for(intValue=65; intValue<=90;){
Serial.println("intValue:");
Serial.println(intValue);
Serial.println(intValue,DEC);
Serial.println(intValue,HEX);
Serial.println(intValue,OCT);
Serial.println(intValue,BIN);
Serial.println("floatValue:");
Serial.println(floatValue);}
delay(1000);
chrValue++;
byteValue++;
intValue++;
floatValue+=1;
}
5.3.1
Menerima Data Serial
void setup()
{
Serial.begin(9600);
}
void loop()
{
if(Serial.available())
{
char ch=Serial.read();
Serial.write(ch);
}
}
5.3.2
Program mengontrol cepat lambatnya kedipan LED
const int ledPin=13;
int blinkRate=0;
void setup()
{
Serial.begin(9600);
pinMode(ledPin,OUTPUT);
}
void loop()
{if(Serial.available())
{char ch=Serial.read();
if(isDigit(ch))
{blinkRate=(ch-'0');
blinkRate=blinkRate*100;
}}
blink();
}
void blink()
{digitalWrite(ledPin,HIGH);
delay(blinkRate);
digitalWrite(ledPin,LOW);
delay(blinkRate);
}
5.3.3
III.
Tugas
ANALISA
Dari percobaan 4.1.1 dapat dianalisa bahwa program tersebut
menghasilkan output yang tampil pada serial monitor dengan format
The Number Is 0 dan angka berganti dari 0 nol sampai tak
terhingga. Karena terdapat program void loop() maka secara otomatis
program akan mengulang, dan program number++ berfungsi agar
ketika me-looping maka akan ditambahkan 1 angka sampai tak
terhingga. Sedangkan pada percobaan 4.1.2 ditambahkan program
for(number=0; number<=100;) program ini berfungsi agar looping
berhenti ketika mencapai angka 100 dan kembali lagi ke angka 0.
Pada percobaan 5.2.1 mempunyai output berupa huruf A sampai
karakter-karakter yang tak terhingga, sedangkan program :
Serial.println("chrValue:");
Serial.println(chrValue);
Serial.write(chrValue);
Serial.println();
Serial.println(chrValue,DEC);
Serial.println("byteValue:" );
Serial.println(byteValue);
Serial.write(byteValue);
Serial.println();
Serial.println(byteValue,DEC);
Serial.println("intValue:");
Serial.println(intValue);
Serial.println(intValue,DEC);
Serial.println(intValue,HEX);
Serial.println(intValue,OCT);
Serial.println(intValue,BIN);
Serial.println("floatValue:");
Serial.println(floatValue);
Berfungsi sebagai konverter dari desimal suatu karakter menjadi
karakter itu sendiri maupun nilai Hexa dan oktanya, program tersebut
juga berfungsi untuk menampilkan hasil konverter dari nilai desimal
suatu karakter tersebut.
Dan pada percobaan 5.2.2 ditambahkan program for(byteValue=65;
byteValue<=90;) yang berfungsi agar looping bekerja dari karakter AZ saja.