Catatan kali ini
berisi tentang cara komunikasi antara computer/PC/laptop menggunakan bahasa
programan python dan Arduino dengan komunikasi serial COM. Disini saya
mencoba membuat contoh penggunaan class sederhana dan linkage antara dua buah
file program python.
Di sisi Arduino sendiri, software arduino yang dibuat
bersifat standby dan mengirim balik data yang dikirimkan. software Arduino nya akan saya jelaskan pada catatan berikutnya.
ada 2 buah software python, software utama, dan software tambahan untuk menampilkan comment (hanya untuk ujicoba linkage antara 2 file python)
software python utama nya:
import serial
import deskripsi
from time import sleep
# configure the serial connections (the parameters differs on the device you are connecting to)
ser = serial.Serial('COM22', timeout=1)
ser.baudrate = 9600
class cser:
def tulis(self):
ser.write(input)
out = ''
# let's wait one second before reading output (let's give device time to answer)
sleep(.1)
while ser.inWaiting() > 0:
out += ser.read(1)
if out != '':
print ">> " + out
deskripsi.katapembuka()
while 1:
# get keyboard input
input = raw_input(">> ")
if input == 'exit':
ser.close()
exit()
else:
cser.tulis()
lalu, buat software python dengan nama deskripsi.py yang berisi sebagai berikut:
def katapembuka():
print("program ini untuk mencoba software serial dengan menggunakan python")
Catatan berikut ini
berisi tentang video bagaimana cara menambahkan package library
python pada pycharm IDE. Saya secara personal sangat menyukai pycharm
IDE karena sangat user friendly untuk digunakan.
Dalam video diatas, saya mencoba untuk menambahkan package pyparsing pada pycharm IDE. Library ini sangat berguna untuk memparsing dan mengolah data parsing.
Catatan berikut
merupakan kelanjutan dari posting saya sebelumnya yaitu “cara mudah parsing data menggunakan python”. Catatan ini menjelaskan metode
lain parsing data dengan bahasa python yaitu dengan menggunakan
library pyparsing.
Sebelum mencoba
catatan ini, library pyparsing harus terlebih dulu terinstall di
pycharm (IDE) python. Jika belum, makan library tersebut harus
diinstal terlebih dahulu. Tutorial cara menginstall library python
pada pycharm akan saya bahas pada postingan selanjutnya.
Berikut adalah
contoh kode parsing menggunakan pyparsing library:
from pyparsing import *
data = '$LA52.125133215643,LN21.031048525561,T101115,W120013'
number = Word(nums+'.').setParseAction(lambda t: float(t[0]))
separator = Suppress(',')
latitude = Suppress('LA') + number
longitude = Suppress('LN') + number
tanggal = Suppress('T') + number
waktu = Suppress('W') + number
line = (Suppress('$')
+ latitude
+ separator
+ longitude
+separator
+tanggal
+separator
+waktu)
print line.parseString(data)
hasil yang akan
diperoleh dari eksekusi kode diatas adalah:
menurut saya, cara parsing menggunakan pyparsing lebih rumit
dibandingkan dengan cara mudah parsing yang pertama. Namun, semua
kembali ke fungsi dari program secara keseluruhan. Masing-masing
metode memiliki kelebihan dan kelemahan masing-masing dan bergantung
kepada seberapa kompleks program yang ingin kita buat.
catatan
kali ini akan menjelaskan bagaimana cara mudah untuk parsing data menggunakan
python. Parsing data adalah salah satu aktifitas pemrograman yang
paling sering digunakan untuk memilah-milah data informasi yang
dibutuhkan oleh pengguna.
Code
yang digunakan untuk parsing adalah sebagai berikut:
data
= '$,LA52.125133215643,LN21.031048525561,T101115,W120013'
head,
lat, lon, t, w = data.split(",")
print
(lat)
print
(lon)
print
(t)
print
(w)
copy
dan paste code diatas pada software python dan coba jalankan. Hasil
yang diperoleh adalah sebagai berikut:
LA52.125133215643
LN21.031048525561
T101115
W120013
Penjelasan
Data
yang digunakan pada contoh kali ini cukup sederhana yaitu:
data
ini berisikan data posisi yaitu latitude (LA), longitude (LN),
tanggal (T), dan waktu (W).
pada
program python yang akan dibuat, data-data tersebut akan dipisah
kedalam variabel yang berbeda sehingga dapat dengan mudah diakses /
diolah lebih lanjut. Variable-variable tersebut adalah lat, lon, t,
dan w.
Catatan berikut ini
menberikan contoh program untuk mendeteksi objek lingkaran dengan
menggunakan python 2.7 dan library OpenCV.
Proses kerja dari
software adalah dengan mengambil gambar video dari webcam, mengubah
menjadi bentuk HSV, lalu mengatur parameter maksimal dan minimal dari
masing-masing komponen tersebut. Dari pengaturan tersebut akan
dideteksi satu buah atau beberapa warna tertentu (tergantung
pengaturan komponen H, S, danV). Pada contoh kali ini pengaturan
adalah pada warna merah.
Software akan
menampilkan 3 jendela yaitu jendela video asli, jendela video hasil
HSV, dan jendela video hasil akhir dari pengolahan. Untuk mendeteksi
bentuk lingkaran, digunakan fungsi HoughCircle dalam library OpenCV
yang telah diinstall sebelumnya.
Saat terdeteksi
bentuk lingkaran berwarna merah, video akan menggambarkan lingkaran
hijau pada object lingkaran. Tanda lingkaran hijau akan berubah
menjadi berwarna merah jika object lingkaran merah dekat dengan
kamera.
Video demo dapat
dilihat dibawah ini:
Berikut adalah kode
python yang saya gunakan:
__author__ =
'uits2015'
import cv2
import cv2.cv as cv
import numpy as np
kernel =
np.ones((5,5),np.uint8)
# Take input from
webcam
cap =
cv2.VideoCapture(-1)
# Reduce the size of
video to 320x240 so rpi can process faster
cap.set(3,320)
cap.set(4,240)
def nothing(x):
pass
# Creating a windows
for later use
cv2.namedWindow('HSVsetup')
#cv2.namedWindow('HueComp')
#cv2.namedWindow('SatComp')
#cv2.namedWindow('ValComp')
cv2.namedWindow('closing')
cv2.namedWindow('tracking')
# Creating track bar
for min and max for hue, saturation and value
Catatan kali ini
berisi tentang program untuk mendeteksi garis akhir alias edge (entah
apa namanya kalo di translate bahasa Indonesia) dari sebuah object.
Software ini menggunakan python dan opencv package untuk image
processingnya.
Compile dan jalankan, maka akan muncul jendela tampilan seperti
dibawah ini:
catatan:
Tentunya ada beberapa hal yang harus dipersiapkan, diantaranya adalah
webcam, dan software python itu sendiri. Karena saya menggunakan
ubuntu 14.04, software python sudah disediakan oleh OS ubuntu. Saya
hanya perlu webcam yang linux friendly dan menginstal package opencv
ke python yang saya miliki.
Satu hal lagi, saya menggunakan pycharm sebagai IDE programing
python.