100% menganggap dokumen ini bermanfaat (1 suara)
153 tayangan84 halaman

Pelatihan Dasar Raspberry Pi dan Python

Dokumen tersebut membahas pengenalan dan aplikasi Raspberry Pi untuk I/O digital, PWM, dan konektivitas Wi-Fi dan Bluetooth. Topik utama meliputi pengenalan Raspberry Pi, bahasa pemrograman Python, mengakses I/O digital seperti LED dan switch, sinyal PWM untuk aplikasi dimmer LED dan motor servo, serta Wi-Fi dan Bluetooth untuk aplikasi remote LED dan motor servo.

Diunggah oleh

Tegar Wira Abdillah
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
100% menganggap dokumen ini bermanfaat (1 suara)
153 tayangan84 halaman

Pelatihan Dasar Raspberry Pi dan Python

Dokumen tersebut membahas pengenalan dan aplikasi Raspberry Pi untuk I/O digital, PWM, dan konektivitas Wi-Fi dan Bluetooth. Topik utama meliputi pengenalan Raspberry Pi, bahasa pemrograman Python, mengakses I/O digital seperti LED dan switch, sinyal PWM untuk aplikasi dimmer LED dan motor servo, serta Wi-Fi dan Bluetooth untuk aplikasi remote LED dan motor servo.

Diunggah oleh

Tegar Wira Abdillah
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Pengenalan Raspberry Pi

Pengenalan bahasa pemrograman Python


Mengakses I/O digital
Menyalakan LED
Membaca penekanan Switch

Mengeluarkan sinyal PWM


Aplikasi Dimmer LED
Menggerakan Motor Servo

Wi-Fi dan Bluetooth


Aplikasi LED dengan Bluetooth
Aplikasi motor servo dengan Bluetooth

Apa itu Raspberry Pi?


GPIO Raspberry Pi
Burn Image (Raspbian)
Sistem Operasi Raspbian
Pengenalan Program Terminal / Command Line
Pengenalan Editor Nano
Library WiringPi
Inisialisasi library WiringPi

Fungsi-fungsi pada library WiringPi

Raspberry Pi Komputer sebesar kartu kredit


Eben Upton (University of Cambridge)
Berawal dari ide untuk membuat komputer kecil
yang bisa gunakan oleh anak-anak dalam
mempelajari komputer dan logika pemrograman

Pertama kali board prototype terbuat dari PCB


lubang dengan menggunakan ATmega644.
Proses pembuatan terus berlangsung dari 2006
2008.
Pada September 2012, Raspberry Pi diproduksi
oleh Sony di UK.

Menggunakan IC Broadcom BCM2837


Merupakan SoC

(ARM Cortex-A53, Memory, GPU)

Raspberry Pi 3 model B memiliki 40 pin


I/O

Semua pin I/O (kecuali pin 5VDC) bekerja pada level


tegangan 3,3VDC
Sebagai output : mampu mengerluarkan tegangan High
Low dengan range tegangan 0VDC 3,3VDC
Sebagai input : mampu menerima tegangan High Low
dengan range tegangan 0VDC 3,3VDC
Jika menerima input logika dengan range 5VDC akan
merusakan IC BCM2837

Raspbian turunan dari Debian


Khusus digunakan untuk Raspberry Pi
Menggunakan LXDE untuk tampilan
Desktop
Memerlukan SD Card dengan kapasitas
minimal 8GB

1) Pilih lokasi Sistem Operasi Raspbian


2) Tentukan drive dari SD Card
3) Tekan tombol Write untuk proses
pengisian Sistem Operasi ke SD Card

Sistem Operasi Raspbian yang digunakan


merupakan edisi update dari Learn
Innovative Electronics
Dilengkapi dengan beberapa software
tambahan : wiringPi, wiringPi-Python,
VNCServer, dan Minicom

Raspberry Pi bisa diakses melalui 2 cara :


Direct
Menggunakan konektor HDMI Tampilan
Bisa menggunakan monitor VGA (HDMI to VGA)

Keyboard dan Mouse USB

Remote
Menggunakan PC / Notebook sebagai media
tampilan dari kontrol (Keyboard dan Mouse)
Menggunakan koneksi SSH (LAN / WiFi)

Direct

Remote

Masukan SD card ke slot SD Card di Rasbperry Pi


Hubungkan kabel LAN dari PC ke Raspberry Pi
Atur sebagai IP Static di PC.
IP Address : [Link]
Subnet mask : [Link]
Gateway : [Link]

Hubungkan kabel miniUSB sebagai


sumber catu daya.
Tunggu sekitar 15 detik untuk proses
booting dari Raspberry Pi, kemudian
jalankan program [Link] di PC.

Jika koneksi SSH berhasil, maka akan diminta untuk


mengisikan username dan password dari Raspberry Pi
Username : pi
Password : raspberry

Aktifkan vncserver di Raspberry Pi


sudo vncserver geometry 1024x680 :1

Jalankan program VNCViewer di PC


[Link]
Password : 8karakter

Jika Command Line :


pi@raspberrypi ~$ sudo shutdown h now

atau
pi@raspberrypi ~$ sudo halt

Pada Sistem Operasi Raspbian, software terminal


dinamakan LXTerminal
Terminal digunakan untuk menjalankan
program, mengatur konfigurasi, menuliskan
kode program, dll

Trik :

autocomplete | Tab
command history | panah atas atau
bawah

Daftar Perintah :
ls
Melihat daftar isi file dari direktori.
Contoh :
pi@raspberrypi ~ $ cd ls

touch
Membuat file kosong.
Contoh
pi@raspberrypi ~ $ touch coba.c
cd
Masuk ke dalam direktori tertentu
Contoh
pi@raspberrypi ~ $ cd Desktop

cp

rm

Menggandakan suatu file dan diletakan pada lokasi


yang baru.
Contoh :
Menggandakan file coba.c yang ada di lokasi
/home/pi dan ingin dipindahkan ke
/home/pi/Desktop/ :
pi@raspberrypi ~ $ cp /home/pi/coba.c
/home/pi/Desktop/
Menghapus suatu file.
Contoh
pi@raspberrypi ~ $ rm /home/pi/Desktop/coba.c

mv

Memindahkan suatu file dan diletakan pada lokasi yang


baru. File pada lokasi awal akan dihapus.
Contoh :
Memindahkan file coba.c yang ada di lokasi /home/pi
dan ingin dipindahkan ke /home/pi/Desktop/ :
pi@raspberrypi ~ $ mv /home/pi/coba.c
/home/pi/Desktop/
mkdir
Membuat sebuah directory baru
Contoh
pi@raspberrypi ~ $ mkdir folderBaru

rmdir
Menghapus directory kosong (tidak ada
file/directory lagi di dalamnya).
Contoh
pi@raspberrypi ~ $ rmdir folderBaru
rm -r
Menghapus directory yang masih terdapat file
atau sub-directory di dalamnya.
Contoh
pi@raspberrypi ~ $ rm -r folderBaru

Contoh instalasi software Arduino :


pi@raspberrypi ~ $ sudo apt-get install
arduino

Akses melalui Terminal


pi@raspberrypi ~ $ sudo nano gpio.c

Merupakan text editor yang ada pada Sistem Operasi


Linux.

ctrl + x : menutup program nano dan akan diminta untuk


melakukan penyimpanan file tersebut.
ctrl + o : menyimpan file tersebut. Setiap proses
penyimpanan akan diminta konfirmasi ulang nama file
tersebut.
ctrl + w : mencari text atau karakter
alt + 6 : menyalin baris
ctrl + u : meletakan hasil salinan

WiringPi -> library untuk bahasa


pemrograman C (Gordon Henderson)
WiringPi-Python -> berbasiskan WiringPi,
tetapi dimodifikasi untuk Python
(Philip Howard)
[Link]

Mengatur ulang penomoran GPIO dan memiliki gaya


pemrograman seperti Arduino.
Insialisasi awal
wiringPiSetup(void)
Penamaan pin seperi Arduino (0-21)
wiringPiSetupGpio(void)
Penamaan pin sesuai BCM2837
wiringPiSetupPhys(void)
Penamaan pin sesuai dengan konektor P1
wiringPiSetupSys(void)
Penamaan pin sesuai BCM2837, tetapi dalam
mengakses pin menggunakan file yang ada di dalam
/sys/class/gpio

pinMode(int pin, int mode)

Pin : nomor pin I/O


mode : Input/Output/PWM_OUTPUT/GPIO_CLOCK

pullUpDnControl(int pin, int pud)


Pin : nomor pin I/O
pud : PUD_OFF, PUD_DOWN, PUD_UP

digitalWrite(int pin, int value)


Pin : nomor pin I/O
Value : LOW / HIGH

digitalRead(int pin)

Pin : nomor pin I/O

Bahasa pemrograman tingkat tinggi


Perintah lebih sedikit
Lebih mudah dimengerti alur logikanya
Bersifat portable

Termasuk dalam jenis interpreter

Interpreter
Membaca perintah per baris

Compiler
Mengolah kode program secara lengkap

Interactive Mode
Terminal
Ketikan perintah python

IDLE Python

Script Mode
Mengetikan semua perintah terlebih dahulu
di sebuah file dengan ekstensi .py

Python tidak memerlukan definisi jenis variabel


Contoh pada bahasa pemrograman C
char coba;
coba = a;

Interactive Mode

Script Mode

Logika untuk menentukan alur percangan


x
x
x
x
x
x

== y
!= y
> y
< y
>= y
<= y

#
#
#
#
#
#

x
x
x
x
x
x

is
is
is
is
is
is

equal to y
not equal to
greater than
less than y
greater than
less than or

y
y
or equal to y
equal to y

Contoh logika percabangan


if x%2 == 0:
print x is even
else:
print x is odd

Nilai x bisa diganti


dengan nilai lain

Nilai x dan y bisa diganti


dengan nilai lain

for

for in range

while

Digital Output :

Contoh : Aplikasi Blink


Latihan : Aplikasi Running LED

Digital Input :

Contoh : Pembacaan logika switch


Latihan : Mendeteksi penekanan 2 switch

Menggunakan library WiringPy-Python


untuk mengakses I/O
Library ini tidak tersedia pada instalasi
awal Raspbian
Cara instalasi driver dapat mengikuti
pentunjuk pada link berikut ini :
[Link]

Pada SD Card terdapat contoh program


[Link]
Jalankan program [Link] dengan mengetikan
peritah berikut ini di Terminal
sudo python [Link]
LED 1 menyala dan padam dengan jeda 1 detik.
Jika ingin melihat kode program, pada program
Terminal ketikan perintah
sudo nano [Link]

import wiringpi # import library WiringPi2-Python


from time import sleep # import library sleep
# Must be called before using IO function
[Link]()
# Set pin 0 to 1 (OUTPUT) / 0 (INPUT)
[Link](0,1)
while True:
# endless loop
# Write 1 (High) / 0 (Low) to pin 0
[Link](0,1)
sleep(1)
# delay for 1 second
# Write 0 (Low) / 1 (High) to pin 0
[Link](0,0)
sleep(1)
# delay for 1 second

Membuat aplikasi agar LED bisa bergerak


ke kanan dan ke kiri
Ketikan perintah di Terminal :
sudo nano [Link]
Lengkapi beberapa perintah program
yang kurang pada file [Link]

Menggunakan switch sebagai


sumber input logika
Menggunakan konfigurasi aktif Low
Switch ditekan memberikan
logika Low
Switch dilepas memberikan
logika High

Jalankan program terminal, ketikan


perintah berikut ini :
sudo python [Link]
Tekan SW untuk menyalakan LED1.
Jika ingin melihat kode program, pada
program Terminal ketikan perintah
sudo nano [Link]

import wiringpi

# import library WiringPi2-Python

# Must be called before using IO function


[Link]()
[Link](1,0) # Set pin 1 to 0 (INPUT)
[Link](0,1) # Set pin 0 to 1 (OUTPUT)

while True:
# endless loop
# read pin 0, if pin 1 is 0 (LOW)
if [Link](1)==0:
# if True, write pin 0 to 1 (HIGH)
[Link](0,1)
else:
# if False, write pin 0 to 0 (LOW)
[Link](0,0)

Membuat aplikasi agar 2 buah switch bisa


mengendalikan 2 LED yang berbeda
Ketikan perintah di Terminal :
sudo nano [Link]
Lengkapi beberapa perintah program
yang kurang pada file [Link]

SoftPWM:

Contoh : Dimmer LED


Latihan : Dimmer LED with Switch
Contoh : Menggerakan motor servo
Latihan : Mengatur arah putaran motor servo

Duty Cycle

Sinyal PWM untuk komunikasi data

Rumus duty cycle


=

Contoh perhitungan
(V=5V, duty cycle=50%)
50
= 5
100
= 2,5

Raspberry Pi hanya memiliki 1 pin PWM


Hardware (pin 1/BCM_GPIO18)
SoftPWM membantu semua pin GPIO dari
Raspberry Pi mampu mengeluarkan sinyal
PWM

softPwmCreate

Pin
initialValue
pwmRange

(int pin,
int initialValue,
int pwmRange)
: nomor pin I/O
: nilai awal PWM
: range nilai PWM / periode
(default =100)

softPwmWrite (int pin, int value)


Pin
: nomor pin I/O
Value : lebar pulsa high (default =100 -> 10ms)

Pada program Terminal, ketikan perintah


sudo python [Link]
LED dari terang perlahan redup dan akhirnya
padam.
LED dari padam perlahan menjadi terang.

Jika ingin melihat kode program, pada program


Terminal ketikan
sudo nano [Link]

import wiringpi
from time import sleep

# import library WiringPi2-Python


# import library sleep

#Must be called before using IO Function


[Link]()
[Link](0,0,100)
while True :
# endless loop
# range min 0, max 101, (0-100)
for i in range(0,101,1):
# PWM pulse on pin 0
[Link](0,i)
sleep(0.02)
# delay for 20ms
sleep(0.1)
# delay for 100ms
# range min 100, max 0, (100-0)
for i in range(100,-1,-1):
# PWM pulse on pin 0
[Link](0,i)
sleep(0.02)
# delay for 20ms
sleep(0.1)
# delay for 100ms

Membuat aplikasi agar 2 buah switch bisa


mengendalikan 2 LED yang berbeda
Ketikan perintah di Terminal :
sudo nano dimmer_switch.py
Lengkapi beberapa perintah program
yang kurang pada file dimmer_switch.py

Standar

Kontinyu

[Link](0,0,200)

[Link](0,10)

Pada program Terminal ketikan perintah


berikut ini :
sudo python [Link]
Motor Servo akan berputar ke arah 00 (6ms)
dan kemudian berputar ke arah 1800 (24ms).
Jika ingin melihat kode program, pada
program Terminal ketikan perintah berikut ini
:
sudo nano [Link]

Membuat aplikasi agar 2 buah switch bisa


mengendalikan arah putar motor servo
Ketikan perintah di Terminal :
sudo nano servo_switch.py
Lengkapi beberapa perintah program
yang kurang pada file servo_switch.py

Anda mungkin juga menyukai