Aplikasi Kontrol Robot (input(sensor ultrasonik )
3. File Rangkaian/Simulasi [kembali]
File Rangkaian Proteus : Download
4. Flowchart [kembali]
Flowchart :
dan output (motor DC dan LCD )
A. Gambar 1 : Aplikasi Konttrol robot input 1 sensor ultrasonik dan output Mtor DC, LCD 16 x 2
Cara Membuat Rangkaian
- Komponen :1 Sensor Ultrasonik , Arduini Uno ,Driver Motor L29 , LCD 16x2 , 2 Motor DC
- Langkah - Langkah :1. Rangkailah seperti gambar di atas2. Atur input dr tegangan3. Lihat hasil Output dr LED 16x2
2. Prinsip Kerja Rangkaian [kembali]
A. Gambar 1 : Aplikasi Konttrol robot input 1 sensor ultrasonik dan output Mtor DC, LCD 16 x 2
= Rangkaian pengontrol robot sensor ultrasonik yang dimana prosesnya akan di inputkan pada rambat bunyi atau suara yang di pantulkan sesuai dengan prinsip kerja pada pemantulan suara kelelawar atau gelombang ultrasonik disini akan di input ka oleh sensor yang dimana suara yang di transfer pertama atau di keluarkan pertama akan di pantulkan lagi jika sudah mencapai pada suatau ukuran benda yang akan di ukur yang dimana ini di sebut suara pantul atau suara 2 input dan di teruskan e arduino uno yang akan d proses oelh Arduino uno dan di ouputkan motor DC dan LCD akan di tampilkan dimana di deteksi ada benda dan mengambil arah baru dan terus melaju kembali
Rangkaian terdiri dari sebuah sensor ultrasonik , 1 buah arduino uno , 2 buah motor Dc .
Rangkaian ini akan bekerja saat sensor ultrasonik mendeteksi benda atau objek, kemudian sinyal ini akan dikirimkan ke arduino, dan arduino akan mengirimkan sinyal kepada driver motor untuk berjalan. Hasil jarak yang dideteksi oleh sensor ini akan diperlihatkan di dalam virtual terminal.
Rangkaian pengontrol robot sensor 3 ultrasonik yang dimana prosesnya akan di inputkan pada rambat bunyi atau suara yang di pantulkan sesuai dengan prinsip kerja pada pemantulan suara kelelawar atau gelombang ultrasonik disini akan di input ka oleh sensor yang dimana suara yang di transfer pertama atau di keluarkan pertama akan di pantulkan lagi jika sudah mencapai pada suatau ukuran benda yang akan di ukur yang dimana ini di sebut suara pantul atau suara 2 input dan di teruskan e arduino uno yang akan d proses oelh Arduino uno dan di ouputkan pada Motor DC dan LCD akan di tampikan jarak dan nilainya .
3. File Rangkaian/Simulasi [kembali]
File Rangkaian Proteus : Download
4. Flowchart [kembali]
Flowchart :
Visual Designer :
5. Listing Program [kembali]
Listing Program :
#include <LiquidCrystal.h>
LiquidCrystal lcd(9, 8, 7, 6, 5, 4);
//Praktikum MIkroprosesor dan Mikrokontroler
//Laboratorium Elektronika Digital
// sensor ultrasonic
const int trigPin = A1; //Memberikan nama pada A1
const int echoPin = A0; //Memberikan nama pada A0
//motor DC
int kiriA = 13; //Menginput kiriA,sebagai pin 13
int kiriB = 12; //Menginput kiriB,sebagai pin 12
int kananA = 11; //Menginput kananA,sebagai pin 11
int kananB = 10; //Menginput kananB,sebagai pin 10
void setup()
{
lcd.begin(16,2);
Serial.begin(9600); //Komunikasi serial arduino dengan komputer
pinMode(kiriA,OUTPUT); //Menginisialisasikan kiriA,sebagai OUTPUT
pinMode(kiriB,OUTPUT); //Menginisialisasikan kiriB,sebagai OUTPUT
pinMode(kananA,OUTPUT);//Menginisialisasikan kananA,sebagai OUTPUT
pinMode(kananB,OUTPUT);//Menginisialisasikan kananB,sebagai OUTPUT
}
void loop()
{
long duration, inches, cm; //Menginput tipe data long untuk duration,inches, dan cm
pinMode(trigPin, OUTPUT); //Menginisialisasi pingPin,sebagai OUTPUT
digitalWrite(trigPin, LOW); //Memberikan nilai LOW, pada pingPin
delayMicroseconds(2); //waktu tunda selama 2 us
digitalWrite(trigPin, HIGH); //Memberikan nilai HIGH, pada pingPin
delayMicroseconds(10);//waktu tunda selama 10us
digitalWrite(trigPin, LOW); //Memberikan nilai LOW, pada pingPin
pinMode(echoPin, INPUT); //Menginisialisasi echoPin, sebagai INPUT
duration = pulseIn(echoPin, HIGH); //Memberikan nilai pada duration
// konversi waktu ke jarak
inches = microsecondsToInches(duration); //Konversi waktu ke jarak dalam bentuk inches
cm = microsecondsToCentimeters(duration); //Konversi waktu ke jarak dalam bentuk cm
lcd.print(inches);
lcd.print("inches , ");
lcd.print(cm);
lcd.print("cm");
lcd.println();
delay(100);
lcd.clear();
if (cm <=50) //fungsi if saat benda kurang dari 50 cm dari sensor
{
analogWrite(kiriA,255); //Memberikan nilai 255 pada motor kiriA
analogWrite(kiriB,0); //Memberikan nilai 0, pada motor kiriB
analogWrite(kananA,0); //Memberikan nilai 0, pada motor kanan A
analogWrite(kananB,255); //Memberikan nilai 255, pada motor kanan B
}
else
{
analogWrite(kiriA,0); //Memberikan nilai 0 pada motor kiri A
analogWrite(kiriB,255); //Memberikan nilai 255 pada motor kiri B
analogWrite(kananA,0); //Memberikan nilai 0, pada motor kanan A
analogWrite(kananB,255); //Memberikan nilai 255 pada motor kanan B
}
}
long microsecondsToInches(long microseconds)
{
return microseconds / 74 / 2;
}
long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}
Tidak ada komentar:
Posting Komentar