Di malam yang sejahtera ini saya akan menjelaskan mengenai bagaimana cara mengakses Raspberry serial (UART), memang komunikasi serial sangat sering sekali digunakan untuk berkomunikasi, baik itu antar device yang sama maupun device yang berbeda, untuk contoh kali ini saya akan menjelaskan mengenai bagaimana berkomunikasi antara Raspberry dengan mikrokontroller dengan menggunakan serial. ada beberapa cara yang harus dilakukan untuk bisa berhasil melakukan komunikasi, yaitu seperti berikut.
0. pertama install dulu pySerial dengan mengetikkan "sudo apt-get install python-serial"
0. pertama install dulu pySerial dengan mengetikkan "sudo apt-get install python-serial"
1. ketikkan
"sudo nano /boot/cmdline.txt"
2. Rubah
"dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait"
menjadi
"dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait"
3. kemudian save dengan cara ctrl+X lalu ctrl+Y <enter>
4. setelah itu ketikkan "sudo nano
/etc/inittab
"
5. Rubah
"#Spawn a getty on Raspberry Pi serial line
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100"
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100"
menjadi
"#Spawn a getty on Raspberry Pi serial line
#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100"
#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100"
6. kemudian save dengan cara ctrl+X lalu ctrl+Y <enter>
7. pada tahap ini serial Raspberry siap digunakan tapi harus di Reboot dahulu
8. Ketikkan "
sudo shutdown -r now
", lalu hidupkan kembali Raspberry
9. Ketikkan program Python berikut, lalu save dengan nama "cobakirim.py"
import serial
port = serial.Serial("/dev/ttyAMA0", baudrate=9600, timeout=3.0)
while True:
port.write("1")
10. Program diatas untuk mengirimkan angka "1" ke mikrokontroller
11. Hubungkan pin RX-TX-GND raspberry dengan RX-TX-GND mikrontroller
12. Tulis Program bascom berikut
$regfile = "m16def.dat"
$crystal = 12000000
$baud = 9600
Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2
Config Lcdpin = Pin , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5
Config Lcd = 16 * 2
Ddrb.0 = 1
Dim Perintah As String * 1
Cls
Cursor Off
Upperline
Lcd "COBA"
Wait 1
Do
Perintah = Waitkey()
Lowerline
Lcd Perintah
Select Case Perintah
Case "1" :
Upperline
Lcd "SENSOR ON"
Portb.0 = 1
Case "2" :
Upperline
Lcd "SENSOR OFF"
Portb.0 = 0
End Select
Loop
$crystal = 12000000
$baud = 9600
Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2
Config Lcdpin = Pin , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5
Config Lcd = 16 * 2
Ddrb.0 = 1
Dim Perintah As String * 1
Cls
Cursor Off
Upperline
Lcd "COBA"
Wait 1
Do
Perintah = Waitkey()
Lowerline
Lcd Perintah
Select Case Perintah
Case "1" :
Upperline
Lcd "SENSOR ON"
Portb.0 = 1
Case "2" :
Upperline
Lcd "SENSOR OFF"
Portb.0 = 0
End Select
Loop
13. Jika berhasil maka akan ada tulisan angka "1" di LCD
No comments:
Post a Comment