Tugas Softskill 3 (Algoritma&Pemrog.Kasus Tek.Elektro#)
1. Flowchart
Mulai dari sistem akan bekerja ketika semua komponen sudah
mendapat suplai tegangan.
Berikut ini
merupakan penjelasan langkah-langkah dari flowchart di atas:
1. Langkah
pertama adalah melakukan pengecekan apakah ada sumber tegangan yang diberikan
kepada Train Gate atau tidak. Jika tidak ada sumber tegangan, maka
program akan langsung berhenti. Jika ada sumber tegangan, maka program akan
lanjut menuju langkah kedua dan
palang tetap naik dan buzzer tetap off.
2. Langkah
kedua adalah palang tetap naik dan
buzzer tetap off.
3.
Langkah
ketiga melakukan pengecekan apakah sensor 1 dalam keadaan aktif atau tidak. Jika
“Tidak” maka program akan kembali ke
langkah 2. Jika “Ya”, maka akan menuju ke langkah keempat
4.
Langkah
keempat adalah palang akan turun dan buzzer akan berbunyi.
5. Langkah kelima adalah dilakukan
pengecekan apakah sensor 2 aktif
atau tidak. Jika Tidak maka akan kembali kelangkah empat, jika Ya maka akan
kembali ke langkah dua.
2. Analisa Program
·
import RPi.GPIO as GPIO import
time GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False)
p = 12 GPIO.setup(15,GPIO.OUT) GPIO.setup(16,GPIO.IN)
GPIO.setup(18,GPIO.IN) GPIO.setup(p,GPIO.OUT) p = GPIO.PWM(p,50) p.start(7.5)
Blok ini merupakan blok yang
berfungsi sebagai blok pengatur dan penentuan. Dimulai dari penentuan library yang digunakan hingga penentuan
pin mana saja yang digunakan beserta fungsinya. Selain itu pada blok ini juga
merupakan blok yang akan mengatur bagaimana perputran motor servo.
·
try :
while
True :
masuk =
GPIO.input(16)
keluar =
GPIO.input(18)
if masuk
== GPIO.LOW:
p.ChangeDutyCycle(2.5)
GPIO.output(15,True)
time.sleep(0,1)
GPIO.output(15,False)
time.sleep(0,1)
GPIO.output(15,False)
time.sleep(0,1)
GPIO.output(15,False)
time.sleep(0,1)
if keluar
== GPIO.LOW:
p.ChangeDutyCycle(7.5)
except
KeyboardInterrupt:
p.stop()
GPIO.cleanup()
Blok ini adalah blok yang
berfungsi sebagai pengatur cara kerja train gate. Dimulai dari sensor mana yang
berfungsi ketika palang pintu terbuka atau tertutup, selanjutnya blok ini juga
berperan sebagai pengatur bagaimana buzzer
berbunyi serta lama delaynya ketika palang pintu tertutup, dan blok ini juga
merupakan blok yang berfungsi untuk mengatur besar derajat putaran motor servo
ketika menggerakkan palang pintu pada saat kondisi palang menutup ataupun
terbuka.
Pada blok ini juga terdapat blok interrupt yaitu blok yang berfungsi
menghentikan program pada train gate secara paksa. Karena pada pemrograman
train gate ini selalu terjadi pengulangan (looping)
program, sehingga program tidak akan berhenti kecuali dihentikan paksa
menggunakan bantuan keyboard.
Comments
Post a Comment