Aplikasi Raspberry Pi sebagai sensor ultrasonic pinger
A. Raspberry Pi
Raspberry pi sering juga disingkat dengan nama Raspi, adalah komputer papan tunggal (Single Board Circuit /SBC)yang memiliki ukuran sebesar kartu kredit dengan berat hanya 45 gram. Raspberry Pi bisa digunakan untuk berbagai keperluan, seperti spreadsheet, game, bahkan bisa digunakan sebagai media player karena kemampuannya dalam memutar video high definition. Raspberry Pi dikembangkan oleh yayasan nirlaba, Rasberry Pi Foundation yang digawangi sejumlah developer dan ahli komputer dari Universitas Cambridge, Inggris. Ide dibalik komputer mungil ini diawali dari keinginan untuk mencetak generasi baru programer, pada 2006 lalu. Seperti disebutkan dalam situs resmi Raspberry Pi Foundation.
a. Bagian-bagian Raspberry Pi
a. Bagian-bagian Raspberry Pi
Gambar1. Konstruksi Raspberry
1. Port standart komputer untuk menghubungkannya dengan piranti lain. Port ini mempunyai kecepatan tinggi sesuai dengan versinya, bila dibandingkan dengan port serial maupun port paralel. Contohnya digunakan untuk camera digital, hardisk eksternal, keyboard mouse usb, modem dan peralatan tambahan komputer lainnya.
2. HDMI (High-Definition Multimedia Interface) adalah port yang sering digunakan pada berbagai perangkat audio visual dan mampu mengalirkan bandwidth hingga hitungan Gigabyte. Port HDMI bisa digunakan untuk mengkoneksikan seluruh sumber audio/video berbentuk digital seperti Blu-ray Disc Player, PC, Video game Console, telivisi digital dan smartphone.
2. HDMI (High-Definition Multimedia Interface) adalah port yang sering digunakan pada berbagai perangkat audio visual dan mampu mengalirkan bandwidth hingga hitungan Gigabyte. Port HDMI bisa digunakan untuk mengkoneksikan seluruh sumber audio/video berbentuk digital seperti Blu-ray Disc Player, PC, Video game Console, telivisi digital dan smartphone.
3. Port RCA untuk Video output
4. Port audio atau soundcard adalah periferal yang terhubung ke slot ISA atau PCI pada motherboard, yang memungkinkan komputer untuk memasukkan input, memproses dan menghantarkan data berupa suara. Digunakan untuk menghasilkan output suara (speaker, headphone) dan juga input suara dengan microfon.
5. SDCARD : Port yang digunakan untuk menghubungkan memori SDCARD dengan komputer.
6. Port LAN atau lan card digunakan untuk menghubungkan komputer satu dengan lainnya yang membentuk jaringan komputer dalam suatu wilayah. Jaringan LAN biasanya hanya mencakup satu gedung rumah, misalnya jaringan LAN di kantor, hotel, bandara, warnet dll.
7. 8x GPIO UART,SPI BUS :
8. Konsumsi listrik : 750maH/ 5VDC/ mini usb charge yang di pakai di charger blackberry
b. GPIO Raspberry Pi
General-purpose input/output (GPIO) adalah pin generik pada sirkuit terpadu (chip) yang perilakunya (termasuk apakah pin itu input atau output) dapat dikontrol (diprogram) oleh pengguna saat berjalan. Memanfaatkan fitur GPIO I/O Raspberry Pi memerlukan sedikit pemrograman. Pemrograman dalam bahasa C atau python, Python dan C (menggunakan WiringPi library).
General-purpose input/output (GPIO) adalah pin generik pada sirkuit terpadu (chip) yang perilakunya (termasuk apakah pin itu input atau output) dapat dikontrol (diprogram) oleh pengguna saat berjalan. Memanfaatkan fitur GPIO I/O Raspberry Pi memerlukan sedikit pemrograman. Pemrograman dalam bahasa C atau python, Python dan C (menggunakan WiringPi library).
Gambar2. GPIO Raspberry
B. SENSOR ULTRASONIC PINGER
Dari namanya saja, ultrasonic pinger berarti lempar tangkap suara berfrekuensi tinggi atau ultrasound. Ultrasound sendiri adalah frekuensi suara yang melewati batas atas pendengaran manusia. Contohnya, suara yang dihasilkan kelelawar ketika mereka bernavigasi di malam hari.
Umumnya jenis sensor ini punya 4 pin (Ground, Trigger/Input, Echo/Output, dan VCC). Ketika mengirimkan sinyal pemicu (trigger) ke inputnya, sensor ini akan melemparkan gelombang suara (ping), gelombang yang telah terlempar akan menabrak halangan di depannya dan terpantulkan kembali ke arah sensor. Kemudian, dengan sangat cepat, sensor berganti dari mode kirim ke mode terima (echo), ketika gelombang suara yang tadi dikirim terpantulkan dan pantulannya mengenai sensor, maka sensor akan mengirimkan sinyal bahwa gelombang telah di terima melalui outputnya.
Sinyal kirim dan sinyal terima inilah yang dijadikan patokan untuk mendapatkan jarak dari sensor ke halangan. Rumusnya bisa ditebak, pertama dengan mengurangi waktu terima dan waktu kirim, sehingga bisa menemukan selisih waktu dari sinyal dikirim dan sinyal diterima.
Selanjutnya, selisih yang masih dalam format waktu ini digunakan untuk menghitung jarak dalam satuan meter. Kecepatan suara adalah 340 meter/detik diukur dengan kondisi udara kering bersuhu 20C. setelah mengetahui berapa kecepatan suara, dan berapa lama gelombangnya tiba, ukur jaraknya dengan cara:
Waktu tempuh = waktu tempuh bolak-balik / 2
Jarak = waktu tempuh * 343.2
Gambar3. Sensor UltraSonic Pinger
Alat-alat yang dibutuhkan dalam percobaan aplikasi LED menggunakan Raspberry adalah sebagai berikut:
1. Raspberry Pi, digunakan sebagai CPU (otak) dari mini komputer
2. Bread Board, digunakan sebagai pengganti pcb
3. Kabel Jumper, sebagai koneksi ke masing masing komponen
4. Ultrasonic Pinger, sebagai display untuk output dari gpio.
5. SD Card dengan OS Raspbian. Digunakan sebai memori yang terlebih dahulu diisi dengan OS Rasbian dan bahasa pemograman Python.
6. Mouse, digunakan sebagai pointer
7. Keyboard, digunakan sebagai papan ketik
8. HDMI, sebagai kabel penghubung raspberry dengan monitor
9. LCD atau Infocus, sebagai layar monotorinG
Gambar4. rangkaian aplikasi Sensor Ultrasonic Pinger menggunakan Raspberry
4. Program [kembali]
Menghidupkan motor selama 2 detik:
5. Flowchart [kembali]
Menghidupkan motor selama 2 detik:
import timeimport RPi.GPIO as GPIOGPIO.setmode(GPIO.BCM) # set penomeran board ke mode broadcomGPIO.setwarnings(False)# Set mode pin sebagai input untuk trigger, dan output untuk echoGPIO_TRIGGER = 23 #sesuaikan pin triggerGPIO_ECHO = 24 #sesuaikan pin echoGPIO.setup(GPIO_TRIGGER,GPIO.OUT)GPIO.setup(GPIO_ECHO,GPIO.IN) # Set trigger ke False (Low) untuk awalGPIO.output(GPIO_TRIGGER, GPIO.LOW)#Fungsi untuk menapatkan jarakdef get_range(): # Kirim 10us sinyal high ke trigger GPIO.output(GPIO_TRIGGER, True) time.sleep(0.00001) #Stop trigger GPIO.output(GPIO_TRIGGER, False) timeout_counter = int(time.time()) start = time.time() #dapatkan waktu start while GPIO.input(GPIO_ECHO)==0 and (int(time.time()) - timeout_counter) < 3: start = time.time() timeout_counter = int(time.time()) stop = time.time() #dapatkan waktu stop while GPIO.input(GPIO_ECHO)==1 and (int(time.time()) - timeout_counter) < 3: stop = time.time() #Hitung waktu tempuh bolak-balik elapsed = stop-start #Hitung jarak, waktu tempuh dikalikan dengan kecepata suara (dalam centi meter) distance = elapsed * 34320 #Jaraknya masih dalam hitungan bolak-balik, bagi dua untuk tahu jarak ke halangan distance = distance / 2 #selesai return distance#Panggil fungsi untuk menghitung jarak dan cetak hasilnyajarak = get_range()print("Jarak halangan di depan adalah %.2f Cm" % jarak )#outputnya seperti:#Jarak halangan di depan adalah 331.57 Cm |




Tidak ada komentar:
Posting Komentar