Anda di halaman 1dari 7

LAPORAN MINI PROJECT

PRAKTIK MIKROKONTROLER & ANTARMUKA DASAR

NO. PRAKTIK : P4

JUDUL :

NAMA PIC : AULIA RAHMAH (1803332079)

KELAS / KELOMPOK : TT – 4D / D5

PROGRAM STUDI TEKNIK TELEKOMUNIKASI

JURUSAN TEKNIK ELEKTRO

POLITEKNIK NEGERI JAKARTA

2020
Judul Mini Project :

Kelompok : D5

Deskripsi Cara Kerja Aplikasi :

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

Jarak terukur akan ditampilkan


di seven segment dan serial
monitor

End

Sketch Aplikasi :

#include <SevSeg.h>

SevSeg sevseg;

int trigPin = 9;

int echoPin = 10;

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 digitPins []= {13};

byte segmentPins[]={1,2,3,4,5,6,7};

bool resistorOnSegments = false;

byte hardwareConfig = COMMON_CATHODE;

bool updateWithDelays = false;

bool leadingZeros = false;

sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorOnSegments,


updateWithDelays, leadingZeros);

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;

Link URL Youtube Video Hasil Simulasi :

Anda mungkin juga menyukai