NO. PRAKTIK : P4
JUDUL :
KELAS / KELOMPOK : TT – 4D / D5
2020
Judul Mini Project :
Kelompok : D5
Saat button ditekan, maka sinyal terkirim, dan akan ditangkap oleh receiver pada sensor. Lalu
diproses oleh monitor dan jarak akan terukur. Kemudian ditampilkan di serial monitor dan
seven segment. Saat button dilepas, maka sinyal tidak akan terkirim dan jarak tidak akan
v×t
terukur. Untuk rumus jarak s= .
2
Rangkaian Skematik:
Flow Chart Aplikasi :
Start
Mendeklarikan
variabel
Mengatur pinMode
input dan output
Tidak
Sinyal
terkirim?
Ya
Ditangkap
oleh receiver Jarak tidak terukur
pada sensor
End
Sketch Aplikasi :
#include <SevSeg.h>
SevSeg sevseg;
int trigPin = 9;
int distance ;
long duration;
int state = 0;
int old = 0;
int button = 11;
int sw;
void setup() {
Serial.begin(9600);
pinMode(2, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(button,INPUT);
byte numDigits = 1;
byte segmentPins[]={1,2,3,4,5,6,7};
sevseg.setBrightness(90);
void loop() {
sw=digitalRead(button);
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
digitalWrite(trigPin,HIGH);
delayMicroseconds(10);
digitalWrite(trigPin,LOW);
duration = pulseIn(echoPin,HIGH);
if(sw==HIGH){
delayMicroseconds(5);
sw=digitalRead(button);
if(sw==0){
state = old+1;
else{
delay(100);}
switch (state){
case 1:
Serial.print("Jarak :");
distance=(duration / 2) / 29.1;
Serial.print(distance);
Serial.println("cm");
sevseg.setNumber(distance);
sevseg.refreshDisplay();
old = state;
break;
case 2:
Serial.print("Jarak :");
distance=((duration / 2) / 29.1)*0.39370079;
Serial.print(distance);
Serial.println("inch");
sevseg.setNumber(distance);
sevseg.refreshDisplay();
old = state;
break;
case 3:
Serial.print("Jarak :");
distance=((duration / 2) / 29.1)*100;
Serial.print(distance);
Serial.println("mm");
sevseg.setNumber(distance);
sevseg.refreshDisplay();
old = state;
break;
default :
old=0;
break;