MODUL PRAKTIKUM SISTEM TERTANAN TERTANAN
PROGRAM DIPLIMA TEKNIK ELEKTRO DEPARTEMEN TEKNIK ELEKTRO DAN INFORMATIKA SEKOLAH VOKASI UNIVERSITAS GADJAH MADA YOGYAKARTA 2016 201 6
UNIT 1 SENSOR ULTRASONIK (HC-SR04)
Tujuan
pembacaan sensor ultrasonik - Praktikan dapat mengetahui teori dasar pembacaan hasil pembacaan sensor ultrasonik - Praktikan dapat mengimplementasikan hasil dengan berbagai aktuator pada trainer Arduino Arduino
A. SE SENS NSOR OR HC-S HC-SR0 R04 4
HCSR adalah seri dari sensor jarak dengan gelombang ultrasonic, ultrasonic, di mana sensor terdapat dua bagian yaitu receiver (R) dan transmitter (T) yang mempunyai fungsi sebagai penghasil gelombang dan penerima gelombang. Sensor Ultrasonik memili memiliki ki range range !m"#$ !m"#$$!m $!m,, kisara kisaran n akurasi akurasi men!ap men!apai ai %mm, %mm, &'o. Sens Sensor or ini ini biasanya dipakai untuk mengukur mengukur jarak.
G!"# 1.1 S$%&'# HC-SR04
i atas atas meru merupak pakan an bent bentuk uk fisi fisik k dari dari sens sensor or ultrasonic, ultrasonic, HC"SR$ HC"SR$# # yang yang mempunyai # pin diantaranya sebagai berikut. 1. ' supply ' supply (VCC) 2. Trigger Pulse utput !. "cho Pulse #nput $. %V ground (&')
B. PRINSIP KERJA Se!ara umum, prinsip kerja pada modul sensor ultrasonik HC"SR$# adalah
sebagai berikut.
1. *asukan trigger dibutuhkan untuk memulai perhitungan jarak. +ada pin trig trigge gerr digunakan untuk memberikan sinyal leel tinggi selama &$uS high level signal. 2. HC"SR$# akan mengirim pulsa burst sebanyak - cycle atau #$ kH dan menunggu sinyal kembali di pin echo. !. +in echo digu diguna naka kan n untu untuk k mend mendete eteks ksii sinya sinyall yang yang kemb kembali ali dan dan menyatakan jarak sensor terhadap objek yang proporsional antara jarak dengan lebar pulsa. $. /arak /arak dikalk dikalkula ulasik sikan an antara antara inter interal al 0aktu 0aktu dengan dengan signal trigger yang dikirim dan signal e!ho yang diterima. 1elombang ultrasonik adalah gelombang dengan besar frekuensi di atas frekuen frekuensi si gelomb gelombang ang suara suara yaitu yaitu lebih lebih dari dari $ 2H. 2H. Sinyal Sinyal ultraso ultrasonik nik yang yang diba dibang ngki kitk tkan an akan akan dipa dipan! n!ar arka kan n dari dari tran transm smit itte terr ultraso ultrasonik nik.. 2etika 2etika sinyal sinyal mengen mengenai ai benda benda pengha penghalan lang, g, maka maka sinyal sinyal ini dipantu dipantulka lkan n dan diterim diterimaa oleh oleh recei receiver ver ultrasonik. ultrasonik. Sinyal yang diterima oleh rangkaian rangkaian recei receiver ver dikirimkan ke rangka rangkaian ian mikrok mikrokon ontro troler ler untuk untuk selanju selanjutny tnyaa diolah diolah untuk untuk mengh menghitun itung g jarak jarak terhadap benda di depannya (bidang pantul). +rinsip kerja dari sensor HC"SR$# dapat ditunjukkan dalam gambar diba0ah ini 3
G!"# 1.2 P#%& K$#* S$%&'# HC-SR04
1. P$!% P$!%+ +## U, U,# #&' &'% % (Transmitter (Transmitter ) +ema +eman! n!ar ar Ultr Ultraso asoni nik k ini ini beru berupa pa rang rangka kaian ian yang yang mema meman! n!ark arkan an sinya sinyall
sinu sinuso soid idal al berf berfre reku kuen ensi si di atas atas $ 2H 2H meng menggu guna naka kan n sebu sebuah ah transducer transmitter ultrasonik ultrasonik
G!"# 1./ R%% P$!%+# G$,'!"% U,#&'%
+rinsip kerja dari rangkaian peman!ar gelombang ultrasonik tersebut adalah sebagai berikut3 &) Sinyal Sinyal #$ kH dibang dibangkitkan kitkan melalui mikrokontr mikrokontroler oler.. ) Sinyal Sinyal tersebut tersebut dile0atkan dile0atkan pada pada sebuah sebuah resistor resistor sebesar sebesar %24hm %24hm untuk untuk pengaman ketika sinyal tersebut membias maju rangkaian dioda dan transistor. %) 2emudian 2emudian sinyal sinyal tersebut tersebut dimasukkan dimasukkan ke ke rangkaian rangkaian penguat penguat arus arus yang merupakan kombinasi dari buah dioda dan buah transistor. #) 2etika 2etika sinyal sinyal dari masukan masukan berlog berlogika ika tinggi tinggi (5') (5') maka arus akan mele0ati dioda & (& on), kemudian arus tersebut akan membias transistor T&, sehingga arus yang akan mengalir pada kolektotr T& akan besar sesuai dari penguatan dari transistor. ') 2eti 2etika ka sinya sinyall dari dari masu masuka kan n berl berlog ogik ikaa tingg tinggii ($) ($) maka maka arus arus akan akan mele0ati dioda ( on), kemudian arus tersebut akan membias transistor T, sehingga arus yang akan mengalir pada kolektotr T akan besar sesuai dari penguatan dari transistor. 6) Resistor Resistor R# dan R6 R6 berfungsi berfungsi untuk untuk membagi membagi tenganga tengangan n menjadi menjadi ,' . Sehingga peman!ar ultrasonik akan menerima tegangan bolak 7 balik dengan peak"peak adalah ' (5,' s.d ",' ).
2. P$%$ P$%$# #! ! U,# U,#& &'% '% ( Receiver ) eciever akan menerima sinyal ultrasonik yang dipan!arkan dipan!arkan oleh peman!ar
ultraso ultrasonik nik dengan dengan karakt karakteris eristik tik frekue frekuensi nsi yang yang sesuai. sesuai. Sinya Sinyall yang yang diterim diterimaa tersebut akan melalui proses filterisasi frekuensi dengan menggunakan rangkaian
band pass *ilter (penyaring pele0at pita), dengan nilai frekuensi yang dile0atkan telah ditentukan. 2emudian sinyal keluarannya akan dikuatkan dan dile0atkan ke rangkaian komparator (pembanding) dengan tegangan referensi ditentukan berdasarkan tegangan keluaran penguat pada saat jarak antara sensor dengan penghalang men!apai jarak minimum untuk kemudian diteruskan ke rangkaian pengendali (mikrokontroler).
G!"# 1.4 R%% P$%$#! G$,'!"% U,#&'%
+rinsip kerja dari rangkaian penerima gelombang ultrasonik tersebut adalah sebagai berikut. &) Sinyal yang diterima akan dikuatkan terlebih dahulu oleh rangkaian transistor penguat 8. ) 2emudian sinyal tersebut akan di filter menggunakan +igh pass *ilter pada frekuensi 9 #$kH oleh rangkaian transistor 8&. %) Setelah sinyal tersebut dikuatkan dan difilter, kemudian sinyal tersebut akan disearahkan oleh rangkaian dioda & dan . #) 2emudian sinyal tersebut melalui rangkaian lo, pass *ilter pada frekuensi :#$kH melalui rangkaian filter C# dan R#. ') Sinyal akan melalui komparator 4p";mp pada U%. 6) /adi ketika ada sinyal ultrasonik yang masuk ke rangkaian, maka pada komparator akan mengeluarkan logika rendah ($) yang kemudian akan diproses oleh mikrokontroler untuk menghitung jaraknya. C. PEMACAAN SENSOR HC-SR04
G!"# 1. P$!"+% G$,'!"% U,#&'%
Rumus pemba!aan jarak pada sensor ultrasonik (HC"SR$#) dapat ditentukan sebagai berikut.
d=
∆ t 2
×S
d
3 jarak terukur<
=t
3 jumlah 0aktu pemba!aan (t pan!ar 5 t pantul)
S
3 ke!epatan pan!ar ultrasonik (%## m>s)
engan rumus di atas, praktikan dapat membuat suatu algoritma pengukuran dengan fungsi"fungsi yang ada pada program ;rduino. ?erikut langkah"langkah untuk melakukan pemba!aan sensor HC"SR$#. &. Untuk
menghubungkan
sensor
HC"SR$#,
pin
CC
dan
1@
dihubungkan ke 5' dan 1@ arduino serta pin Trigger dan "cho . %. #. '.
terhubung dengan pin digital arduino. Anisialisasi pin Trigger sebagai 4UT+UT dan pin "cho sebagai A@+UT Set baud rate untuk pemba!aan Serial dengan nilai B6$$ +i!u pin Trigger dengan logika HA1H selama &$uS 1unakan fungsi pulseAn(e!ho+in, HA1H)< sehingga didapatkan 0aktu
total pemantulan (=t) dalam satuan mikrosekon (uS) 6. ?uat rumus pemba!aan dengan nilai 0aktu yang telah didapatkan . Tampilkan pemba!aan melalui Serial *onitor -ource http//,,,.micropik.com/P0/+C-%$.pd* http//eprints.undip.ac.id/2%!/1/*i.pd*
http//repository.usu.ac.id/bitstream/12!$3456/$43!%/$/Chapter72%##.pd*
CONTOH PROGRAM
#define #define #define #define
trigPin 13 echoPin 12 led 11 led2 10
void setup() { Serial.begin (900)! pin"ode(trigPin $%&P%&)! pin"ode(echoPin 'P%&)! pin"ode(led $%&P%&)! pin"ode(led2 $%&P%&)! void loop() { long duration distance! digital*rite(trigPin +$*)! dela,"icroseconds(2)! digital*rite(trigPin -'-)! dela,"icroseconds(10)! digital*rite(trigPin +$*)! duration / pulse'n(echoPin -'-)! distance / (duration2) 29.1! if (distance ) { digital*rite(led-'-)! digital*rite(led2+$*)! else { digital*rite(led+$*)! digital*rite(led2-'-)! if (distance / 200 44 distance / 0){ Serial.println(5$ut of range5)! else { Serial.print(distance)! Serial.println(5 c65)! dela,(700)!
D. TUGAS &. 2alibrasi pemba!aan sensor SRD, tampilkan pada Serial monitor
;rduino. . Tampilkan pemba!aan SRD dalam EC dengan jarak maksimal pengukuran # meter, lebih dari itu tampilkan F4ut of RangeG. %. Tampilkan pemba!aan SRD dalam led bar. (untuk tiap ' !entimeter menghidupkan & E dari ba0ah, 4ut of Range I blink semua E, maJ range m) #. Simulasikan !ara kerja sensor jarak pada mobil. /ika jarak objek dengan mobil jauh (9&m), maka buer berbunyi setiap % detik. /ika jarak objek :I&m maka buer berbunyi setiap & detik. /ika karak objek :I$ !m maka buer berbunyi terus menerus. '. 2ombinasikan pemba!aan SRD dengan arah putar motor C. ;pabila jarak objek :&$!m maka motor C akan berputar CCK. ;pabila objek 9$!m maka motor C berputar CK. *otor C berhenti jika jarak objek diantaranya.
UNIT 2 MOTOR SERVO SG30
Tujuan
- Praktikan dapat mengetahui bagaimana cara mengontrol servo - Praktikan dapat mengimplementasikan gerakan servo dengan berbagai aktuator pada trainer Arduino
A. SERVO
Sero merujuk pada error sensing feedba!k !ontrol yang digunakan untuk memperbaiki performa dari sebuah sistem. Sero atau *otor Sero adalah motor
C yang memiliki mekanisme sero untuk mengontor posisi sudut se!ara presisi. *otor sero umumnya mempunyai batas rotasi dari B$o hingga %6$o. ?eberapa motor sero juga mempunyai batas %6$o atau lebih. ;kan tetapi sero tidak berputar terus"menerus. +erputarannya dibatasi antara sudut"sudut yang sudah ditentukan.
G!"# 2.1 M% S$#' SG30
i atas merupakan bentuk fisik dari mini sero to0er pro S1B$, Sero ini mempunyai % pin diantaranya sebagai berikut. 1. ' supply (VCC) 8 ,arna 9erah 2. &round (&') 8 ,arna Coklat !. ata 8 ,arna range
G!"# 2.2 K'%5#& P%
B. PRINSIP KERJA
*otor sero dapat berputar ke sudut yang diinginkan dengan mengirimkan sinyal +K* (+ulse Kidth *odulated) ke kabel kontrol. Sero mengerti bahasa
dari pulse position modulation. Eebar pulsa berariasi mulai dari & ms hingga ms dikirim se!ara berulangulang sebanyak sekitat '$ kali dalam & detik. Eebar pulsa nya menentukan posisi sudut motor sero. Sebagai !ontoh, pulsa & ms memutar sero ke sudut $ derajat sedangkan pulsa ms memutar sero ke sudut &-$ derajat. Eebar pulsa antara sudut tersebut dapat di interpolasi sesuai keinginan. *isalnya pulsa &,' ms akan memutar sero ke sudut B$ derajat. Harus dipahami bah0a nilai ini hanya perkiraan, nilai sebenarnya dari sebuah sero berbeda pada setiap pabrikan. Serangkaian pulsa"pulsa ('$ pulsa dalam & detik) harus diberikan ke sero untuk mempertahankan posisi sudut tertentu. Saat sero menerima pulsa, motor sero dapat mempertahankan sudutnya untuk $ ms berikutnya. /adi sebuah pulsa setiap frame 0aktu $ms harus diberikan ke motor Sero.
G!"# 2./ P,&$T!$ 7 &$#'
Untuk motor sero S1B$ hubungan antara lebar pulsa dan sudut sero adalah seperti tabel di ba0ah ini. *otor sero ini hanya dapat berputar antara sudut $ hingga &-$ derajat. Eebar +ulsa
+osisi Sudut
&,' ms
$ derajat
ms
B$ derajat
&
ms
"B$ derajat
Setelah mengerti !ara kerja dari sero diatas, praktikan dapat membuat suatu algoritma pengukuran dengan fungsi"fungsi yang ada pada program ;rduino.
?erikut langkah"langkah untuk menggerakkan sero berdasarkan sudut tertentu 3 &. Untuk menghubungkan sero, pin CC dan 1@ dihubungkan ke 5' dan 1@ arduino serta pin data dihubungkan dengan pin digital arduino. . Anisialisasi pin data sebagai 4UT+UT. %. Set baud rate untuk pemba!aan Serial dengan nilai B6$$ #. +i!u pin data dengan logika HA1H, lamanya 0aktu lihat pada tabel diatas. '. 1unakan fungsi delay*i!rose!ond(pulseTime)< sehingga didapatkan 0aktu dalam satuan mikrosekon (uS). 6. ?uatlah sero bergerak berdasarkan sudut yang di inginkan. L $ 7 &-$ derajatM . Tampilkan sudut yang di tunjukkan sero melalui Serial *onitor.
-ource http//blog.*amosastudio.com/2%11/%5/tutorial/tutorial:arduino:servo/126 https//tutorkeren.com/artikel/tutorial:lengkap:mengontrol:motor:servo:dengan: arduino.htm
C. TUGAS
&. 2alibrasi gerakan sero, tampilkan sudut yang di!apai sero pada Serial monitor ;rduino. . ?uatlah sero bergerak dari $ 7 &-$ derajat dengan menggunakan potensiometer pada trainer ;rduino. Tampilkan nilai sudut pada EC &6N. %. engan menggunakan # buah push button, buatlah sero bergerak ketika push button di tekan. Tombol ke"& #' derajat, Tombol ke" B$ derajat, Tombol ke"% &%'derajat, dan Tombol ke"# &-$ derajat. Tampilkan nilai sudut pada EC &6N. #. Catat pulseTime yang dibutuhkan pada tabel diba0ah untuk sudut $ 7 &-$ derajat.
+osisi Sudut $ derajat $ #$ 6$ -$ B$ &$$ &$ $ &6$ &-$
CONTOH PROGRAM Pertama :
int servopin / ! int pulse / 1700! void setup() { pin"ode(servopin $%&P%&)! Serial.begin(900)! void loop() { digital*rite(servopin -'-)! dela,"icroseconds(pulse)! digital*rite(servopin +$*)! dela,(20)! Kedua :
int servoPin / 9! int pulse&i6e! void setup() { Serial.begin(900)! pin"ode(servoPin$%&P%&)! void loop() {
pulseTime
for(pulse&i6e / 900! pulse&i6e / 2100! pulse&i6e 8/ 70) { Serial.println(pulse&i6e)! digital*rite(servoPin -'-)! dela,"icroseconds(pulse&i6e)! digital*rite(servoPin +$*)! dela,(27)! for(pulse&i6e / 2100! pulse&i6e / 900! pulse&i6e / 70) { Serial.println(pulse&i6e)! digital*rite(servoPin -'-)! dela,"icroseconds(pulse&i6e)! digital*rite(servoPin +$*)! dela,(27)!
UNIT / INFRA-RED FLAME DETECTOR
Tujuan
- Praktikan dapat memahami cara ker;a *lame detector dan bagaimana pengontrolannya - Praktikan dapat mengimplementasikan hasil pembacaan *lame detector dengan berbagai aktuator pada trainer Arduino
A. INFRA-RED (IR) FLAME DETECTOR
0lame detector merupakan salah satu alat instrumen berupa sensor yang dapat mendeteksi nilai intensitas dan frekuensi api dalam suatu proses pembakaran. 0lame detector bisa mendeteksi kedua hal tersebut dikarenakan oleh komponen"komponen pendukung dari *lame detector tersebut memungkinkan untuk melakukan konersi deteksi api dengan output digital (logika HA1H dan logika E4K). +rinsip kerja *lame detector adalah dimulai dari bah0a api akan bisa dideteksi oleh keberadaan spe!trum !ahaya infra red maupun ultraiolet, dan dari situ sema!am dete!tor dalam flame dete!tor akan bekerja untuk membedakan spektrum !ahaya yang terdapat pada api yang terdeteksi tersebut. alam praktikum ini, digunakan *lame detector dengan sensor infra merah.
trimpot IR
VCC GND D0
G!"# /.1 F,!$ D$$+'# D,
i atas merupakan bentuk fisik dari *lame detector digital, dengan interfa!e pin output sebagai berikut. 1. !.!V:' supply (VCC) 2. &round (&') !. ata igital (%)
. PRINSIP KERJA
G!"# /.2 R%% F,!$ D$$+'#
+rinsip kerja *lame detector adalah dimulai dari bah0a api akan bisa dideteksi
oleh
keberadaan
spe!trum
!ahaya inframerah
(in*ra:red)
maupun ultraviolet< sehingga sensor dalam *lame detector akan bekerja untuk membedakan spektrum !ahaya yang terdapat pada api yang terdeteksi tersebut. 0lame detector ini dapat mendeteksi nyala api dengan panjang gelombang berkisar antara 6$ nm O &&$$ nm (rentang spektrum 0arna inframerah). Sensor nyala api ini mempunyai sudut pemba!aan 6$ derajat, dan beroperasi pada suhu "'PC sampai 5-'PC.
G!"# /./ S$#! 8#%
@amun pada implementasinya, terdapat sumber"sumber !ahaya lain yang ternyata bukan api dan ikut menyumbang emisi !ahaya pada gelombang infra red maupun ultraiolet di mana sumber"sumber !ahaya ini juga mempengaruhi kinerja *lame detector yang berakibat pada timbulnya false alarm. Contoh sumber"sumber !ahaya ini adalah sinar matahari, kilatan petir, 0elding ar!, metal grinding, hot turbine, rea!tor, dan masih banyak lagi. Spesifikasi dari *lame detector yang digunakan adalah sebagai berikut.
-
*enggnakan E*%B% sebagai AC !omparator
-
4utputI igital ($)
-
Tegangan kerja3 %.% to '
-
4utput format3 igital output (HA1H>E4K)
-
/arak pemba!aan panjang gelombang3 6$nm to &&$$nm
-
Sudut deteksi3 sekitar 6$o, sesuai dengan spe!trum api yang diterima
-
Eighter flame dete!t distan!e -$!m
-
Sensitiitas dapat diatur dengan trimpot (potentiometer adjustment)
?erikut langkah"langkah untuk melakukan deteksi api menggunakan *lame detector diintegrasikan ke ;rduino3 -. Untuk menghubungkan *lame detector , pin CC dan 1@ dihubungkan ke 5' dan 1@ arduino serta pin $ dihubungkan dengan pin digital arduino.
B. Anisialisasi pin $ sebagai A@+UT. &$. Set baud rate untuk pemba!aan Serial dengan nilai B6$$. &&. Tampilkan hasil pemba!aan yang ditunjukkan *lame detector melalui Serial *onitor. &. ;pabila ditemukan pemba!aan yang salah, atur sensitiitas *lame detector dengan mengubah nilai resistansi pada trimpot.
PERINGATAN!!!
an tentu saja untuk +raktikan perhatikan, bah0a jarak pemba!aan antara sensor dan objek yang dideteksi (api) tidak boleh terlalu dekat, untuk menghindari kerusakan sensor akibat panas yang terlalu tinggi.
-ource https//ardnas2%.,ordpress.com/2%1%/12/14/*lame:detector/ http//tinkbo.ph/sites/mytinkbo.com/*iles/do,nloads/0#"=-"'-=9>?" .pd*
C. TUGAS '. Tampilkan data pemba!aan digital melalui Serial.print 6. Tampilkan pemba!aan pada EC &6N dengan menampilkan F;da ;pi,
?;H;Q;G bila terdeteksi api dan FTidak ;da ;pi, ;*;@ 3) G bila tidak terdeteksi api. . ;pabila terdeteksi api maka buer berbunyi sekaligus menyalakan semua led. -. Untuk mematikan buer dilakukan dengan menekan push button &"%"" #. B. Saat buer berbunyi maka sero akan membuka keran air (B$o), saat buer tidak berbunyi maka sero pada posisi a0al ($o). &$. 1abungkan semua program sehingga menjadi suatu sistem keamanan kebakaran.
UNIT 4 MP190 Digital Barometric Pressure Sensor Module
T*% P#! - Praktikan dapat mengetahui cara ker;a sensor @9P16% - Praktikan dapat mengetahui cara menggunakan sensor @9P16% dengan
Arduino - Praktikan dapat mengimplementasikan pembacaan sensor @9P16% dengan berbagai aktuator pada Trainer Arduino. A. T$'# P$%7% ?*+&-$ adalah sensor tekanan barometrik (digital barometric pressure
sensor )
dari @osch
-ensortec yang
berkinerja
sangat
tinggi yang
dapat
diaplikasikan pada berbagai perangkat bergerak seperti smart phone, komputer tablet,
dan
peralatan
olah
raga
portabel.
?*+&-$
adalah upgradedari
?*+$-'dengan banyak peningkatan yang signifikan, seperti ukuran yang lebih ke!il (lebih hemat energi dengan konsumsi energi sangat rendah, kurang dari % m;) dan penambahan antarmuka digital yang baru. ?*+&-$ juga menjadi menojol karena kinerjanya yang sangat stabil terlepas dari pasokan tegangan yang digunakan.
G!"# 4.1 MP190
Spesifikasi +roduk3 •
Rentang tekanan > pressure range3 %$$ s.d. &&$$ h+a
•
;ntarmuka kendali > !ontrol interfa!e3 A C (ke!epatan transfer hingga %,# *H)
•
Resolusi3 $,$6 h+a pada moda hemat energi, $,$ h+a pada moda resolusi tinggi (dikonersi terhadap ketinggian3 $,' meter pada moda hemat energi, & !m pada moda resolusi tinggi).
•
;kurasi relatif (pada %,%)3 B'$O&$'$ h+a>$,& h+a 'PC>&m, $$OB$$ h+a >$,& h+a 'O#$PC>&m
•
;kurasi absolut pI%$$O&&$$h+a $O56'PC, I%,%)3 tekanan "#,$O5,$ h+a, suhu &PC
•
Rata"rata konsumsi arus (sampling &J > detik)3 %m; pada moda hemat energi, %m; pada moda resolusi tinggi)
•
Tipikal arus pun!ak > peak current 3 6'$; ($,6' m;)
•
2onsumsi arus pada moda siaga3 $,&m; (tipikal)
•
Catu daya3 &,6 " %,6 olt C (untuk A>4, A4), &,- " %,6 olt C ( )
•
Rentang suhu operasional3 -40:C &.7. ;9:C
•
Kaktu pendeteksian tekanan3 ' mse! (tipikal pada moda standar)
•
;plikasi yang ditulis untuk ?*+$-' dapat digunakan langsung pada !hip ini tanpa perubahan
. <#% D#! 7% C'%'= P#'#!
1. iring D#!>
G!"# 4.2 MP190 A#7%' <#%
+ada modul sensor 1Q"6- atau ?*+&-$ terdapat # pin, yaitu CC, 1@, S; dan SCE.
To 3.3v Pin Arduino To ground Pin Arduino To SCL Pin Arduino To SDA Pin Arduino
G!"# 4./ MP190 A#7%' <#%
2. C'%'= #'#! $!"+%> Contoh program menggunakan library barometer.h
: ;aro6eter de6o <1.0
;ased largel, on code b,
=i6 +indblo6
;,>http>???.seeedstudio.co6 : #include 5;aro6eter.h5 #include *ire.h float te6perature pressure at6 altitude! ;aro6eter 6,;aro6eter! void setup(){ Serial.begin(900)! 6,;aro6eter.init()! void loop(){ te6perature / 6,;aro6eter.b6p0@7et&e6perature(6,;aro6eter.b6p0@7Aead %&())! et the te6perature b6p0@7Aead%& "%S& be called first pressure / 6,;aro6eter.b6p0@7etPressure(6,;aro6eter.b6p0@7Aead%P( ))!et the pressure altitude / 6,;aro6eter.calcBltitude(pressure)! %nco6pensated calculation in "eters at6 / pressure 101327! Serial.print(5&e6perature> 5)! Serial.print(te6perature 2)! displa, 2 deci6al places Serial.println(5deg C5)! Serial.print(5Pressure> 5)! Serial.print(pressure 0)! ?hole nu6ber onl,. Serial.println(5 Pa5)! Serial.print(5Aalated Bt6osphere> 5)! Serial.println(at6 )! displa, deci6al places Serial.print(5Bltitude> 5)! Serial.print(altitude 2)! displa, 2 deci6al places Serial.println(5 65)! Serial.println()! dela,(1000)! ?ait a second and get values again.
P#'#! ,% 7$%% ,"##? MP09.= 7# A75#>
#include *ire.h #include BdafruitD;"
[email protected] BdafruitD;"P0@7 b6p! void setup() { Serial.begin(900)! if (Eb6p.begin()) { Serial.println(5;"P1@0 sensor not found5)! ?hile (1) { void loop() { Serial.print(5&e6perature / 5)! Serial.print(b6p.read&e6perature())! Serial.println(5 :C5)!
Serial.print(5Bltitude / 5)! Serial.print(b6p.readBltitude(101700))! Serial.println(5 6eters5)! Serial.println()! dela,(1000)!
?erikut adalah hasil pemba!aan dari Serial *onitor3 Temperature I .B$ VC ;ltitude I &$%.% meters
/. A,?% =$ 7> Altimetr %7 Meteorolog
ari pemba!aan pressure>tekanan yang didapatkan, kita bisa menghitung ketinggian. Qang kita butuhkan adalah persamaan non"linear yang mengubah tekanan ke ketinggian. +ersamaan ini berdasarkan datasheet ?*+&-$3
p% adalah rata"rata tekanan udara di permukaan laut (&$&%' +a), dan p adalah tekanan yang kita ukur. +erhatikan juga bah0a persamaan di atas menghasilkan ketinggian dalam satuan meter. /adi, setelah kita menghitung tekanan di dalam program arduino kita, kita hanya perlu menambahkan beberapa baris untuk menghitung ketinggian3
Bdd these to the top of ,our progra6 const float p0 / 101327! Pressure at sea level (Pa) float altitude! Bdd this into loop() after ,ouFve calculated the pressure altitude / (float)330 : (1 po?(((float) pressurep0) 0.190297))! Serial.print(5Bltitude> 5)! Serial.print(altitude 2)! Serial.println(5 65)!
Sour!e3
http3>>000.seeedstudio.!om>0iki>1roeW" ?arometerWSensorW(?*+&-$) http3>>arduinolearning.!om>!ode>bmp&-$"barometri!"pressure"sensor" eJample.php
C. T& ?uatlah program untuk 3 &. *enampilkan hasil pemba!aan sensor ?*+&-$ pada Serial *onitor
;rduino.
. *enampilkan data tekanan pada seven segment dan apabila tekanan yang terba!a mele0ati batas tertentu akan mengaktifkan motor C dan buer. %. *embuat simulasi sistem roda pesa0at terbang saat lepas landas, dengan menampilkan data altitude>ketinggian pada EC dan E, untuk setiap kenaikan ketinggian tertentu E yang menyala bertambah (E ?ar) dan apabila men!apai ketinggian yang telah ditentukan maka roda pesa0at akan masuk otomatis (sero). #. 2edua program tersebut dibuat dalam satu program menu, dengan menu & untuk temperatur, menu untuk altitude dpl (di atas permukaan laut)< menu % untuk data atmosfer, dan menu # untuk altitude baseline.
UNIT MAGNETOMETER SENSOR (HMC99/L)
T*%
- Praktikan dapat memahami cara ker;a magnetometer dan bagaimana pengontrolannya - Praktikan dapat menentukan tiap arah mata angin dengan data ra, yang diperoleh - Praktikan dapat mengimplementasikan hasil pembacaan magnetometer dengan berbagai aktuator pada trainer Arduino
A. MAGNETOMETER SENSOR (HMC99/L)
9agnetometer adalah sebuah modul yang digunakan untuk menunjukkan arah mata angin digital, atau juga disebut kompas digital. *odul ini menggunakan komponen utama berupa AC H*C'--% yang merupakan AC kompas digital % aJis yang memiliki interfa!e berupa pin AC. H*C'--% memiliki sensor magneto"resistie H*C&&-N series ber"resolusi tinggi, ditambah ;SAC dengan konten amplifi!ation, automati! degaussing strap drier, offset !an!ellation dan & bit ;C yang memungkinkan keakuratan kompas men!apai & sampai derajat. *odul ini biasa digunakan untuk keperluan sistem naigasi otomatis, mobile phone, netbook dan perangkat naigasi personal.
G!"# .1 HMC99/L
i atas merupakan bentuk fisik dari H*C'--%E, dengan interfa!e pin output sebagai berikut. &. . %. #.
;rduino 1@ "9 H*C'--%E 1@ ;rduino %.% "9 H*C'--%E CC ;rduino ;# (S;) "9 H*C'--%E S; ;rduino ;' (SCE) "9 H*C'--%E SCE
. PRINSIP KERJA
+rinsip kerja *agnetometer didasarkan pada fenomena ;nisotropi! *agnetoresistan (;*R) yang ada di bumi. *agnetoresistan adalah peristi0a yang terjadi
akibat adanya
sifat"sifat
bahan untuk
mengubah
nilai hambatan
listrik ketika sebuah medan magnet luar dipakaikan padanya. +ada dasarnya, /ika ada sebuah penghantar yang dialiri arus listrik dan penghantar tersebut berada dalam medan magnetik maka akan timbul gaya yang disebut dengan nama gaya magnetik atau dikenal juga nama gaya lorent (Hukum Eorent). /ika dihubungkan dengan arah arus listrik dalam suatu plat konduktor (1ambar .) maka arah rambat arus akan berubah bila di dekatnya diberikan medan magnet. ari sinilah didapatkan perhitungan untuk mendapatkan bidang magneti!al. engan bumi yang merupakan suatu magnet raksasa, maka perubahan arah arus tersebut digunakan untuk mengetahui arah mata angin atau dikenal dengan kompas.
G!"# .2 F$%'!$% A%&'#'+ M%$'#$&&%
alam kompas, medan magnet yang diukur adalah medan magnet bumi. ?ila digunakan rumus trigonometri, menghitung sudut heading kompas adalah tangensial ke permukaan bumi dari utara ke selatan. H*C'--%E memiliki tiga sumbu (! ais) yang berbeda untuk menghitung heading , namun kita hanya akan mengasumsikan bah0a sensor datar di atas meja, sehingga kita tidak perlu kha0atir tentang kemiringannya. 4leh karena itu data yang akan kita gunakan hanya sumbu N dan Q.
G!"# ./ T S!" (/-A@&) 7 M%$'!$$#
G!"# .4 T"$, #$&$# HMC99/L
+erlu diketahui, bah0a hasil dari pemba!aan sensor H*C'--%E tidak serta merta menghasilkan nilai sudut, melainkan melalui beberapa tahapan. Sensor
H*C'--%E hanya menghasilkan data mentah ( ra" data) berupa nilai dari tiap" tiap aJis N, Q, dan X. ari data ra0 tersebut dilakukan perhitungan untuk mendapatkan #eading radians dengan rumus trigonometri. ?erikut !ontoh program untuk memperoleh data kasar (data ra,) pada magnetometer H*C'--%E3
#include *ire.h '2C Brduino +ibrar, #define address 0G1H 0011110b '2C Ibit address of -"C7@@3 void setup(){ Serial.begin(900)! *ire.begin()! Put the -"C7@@3 'C into the correct operating 6ode *ire.begin&rans6ission(address)!open co66unication *ire.?rite(0G02)! select 6ode register *ire.?rite(0G00)! continuous 6easure6ent 6ode *ire.end&rans6ission()! void loop(){ int G,J! triple aGis data &ell the -"C7@@3+ ?here to begin reading data *ire.begin&rans6ission(address)! *ire.?rite(0G03)! select register 3 K "S; register *ire.end&rans6ission()! Aead data fro6 each aGis 2 registers per aGis *ire.reLuestMro6(address )! if(/*ire.available()){ G / *ire.read()@! K 6sb G 4/ *ire.read()! K lsb J / *ire.read()@! N 6sb J 4/ *ire.read()! N lsb , / *ire.read()@! O 6sb , 4/ *ire.read()! O lsb
Print out values of each aGis Serial.print(5AB* G> 5)! Serial.print(G)! Serial.print(5 ,> 5)! Serial.print(,)! Serial.print(5 J> 5)! Serial.println(J)! dela,(270)!
Setelah mendapatkan raw data, data tersebut harus dilakukan scaling data berdasarkan nilai auss pada geo!ompass. "ilai #ang digunakan adalah nilai standar sebesar 0.92 $%.3 auss&. "ilai ini digunakan sebagai pengali nilai raw data untuk mendapatkan scaled data. 'ngat bahwa data #ang didapatkan masih dalam radian, maka ubah ke dera(at untuk mendapatkan data heading degrees.
Source: https://www.honeywell.com/HMC5883L-!S.pd" http://#luelemonla#s.#logspot.sg/$%&3/%8/arduino-simple-compasswith-hmc5883l.html
C. TUGAS )uatlah program kompas digital sederhana dengan !ara menampilkan * arah mata angin beserta sudutn#a $dari +tara& dalam tampilan LCD
UNIT 6 IMU SENSOR (MPU600) ACCELEROMETER GYROSCOPE
T*%
- Praktikan dapat memahami cara ker;a accelerometer gyroscope dan pengontrolannya - Praktikan dapat mengimplementasikan hasil pembacaan accelerometer gyroscope dengan berbagai aktuator pada trainer Arduino
A. INERTIAL MEASUREMENT UNIT SENSOR (MPU600)
*+U"6$'$ adalah sensor dari AnenSense yang memiliki **S a!!elerometer dan **S gyro dalam satu !hip. Sensor ini sangat akurat, dan mengandung &6"bits analog to digital konerter hard0are untuk setiap kanalnya, sehingga memungkinkan untuk menangkap J, y, dan kanal dalam satu 0aktu. Sensor ini menggunakan AC"bus untuk berkomunikasi dengan ;rduino.
G!"# 6.1 MPU600
F$#$&> •
• • •
AC igital"output of 6 or B"aJis *otionDusion data in rotation matriJ, Yuaternion, uler ;ngle, or ra0 data format Anput oltage3 .% " %.# Sele!table Solder /umpers on CE2, DSQ@C and ;$ %";Jis angular rate sensor (gyro) 0ith a sensitiity up to &%& ES?s>dps and a full"s!ale range of '$, '$$, &$$$, and $$$dps
•
%";Jis a!!elero 0ith a programmable full s!ale range of g, #g, -g
•
and &6g igital *otion +ro!essingZ (*+Z) engine offloads !ompleJ
•
*otionDusion, sensor timing syn!hroniation and gesture dete! tion mbedded algorithms for run"time bias and !ompass !alibration. @o user
•
interention reYuired igital"output temperature sensor
i ba0ah merupakan koneksi pin arduino dengan sensor *+U6$'$.
G!"# 6.2 K'%$& % #7%' 7$%% &$%&'# MPU600
%. -/ CC $the 0-1% !ontains a voltage regulator and !an use 3.3 or & 1. "D -/ "D 3. A -/ SCL 2. A2 -/ SDA . Arduino Pin 1 -/ '"T $used or interrupts&
G!"# 6./ A#= $!"+% &$%&'# MPU600
. PRINSIP KERJA SENSOR 1. A++$,$#'!$$#
;!!elerometer adalah sensor yang digunakan untuk mengukur per!epatan suatu objek, mendeteksi dan mengukur getaran (ibrasi), dan mengukur per!epatan akibat graitasi. Sensor a!!elerometer mengukur per!epatan dari % sumbu gerakan akibat gerakan benda yang melekat padanya. ;!!elometer mengukur per!epatan dynami!
dan
stati!.
+engukuran dynami! adalah
pengukuran per!epatan pada objek bergerak, sedangkan pengukuran stati! adalah pengukuran terhadap graitasi bumi. Untuk mengukur sudut kemiringan (tilt ). +rinsip kerja dari tranduser ini berdasarkan hukum fisika bah0a apabila suatu konduktor digerakkan melalui suatu medan magnet, atau jika suatu medan magnet digerakkan melalui suatu konduktor, maka akan timbul suatu tegangan induksi pada konduktor tersebut. ;!!elerometer yang diletakan di permukaan bumi dapat mendeteksi per!epatan &g (ukuran graitasi bumi) pada titik ertikalnya, untuk per!epatan yang dikarenakan oleh pergerakan horiontal maka a!!elerometer akan mengukur per!epatannya se!ara langsung ketika bergerak se!ara horiontal. ;gar sensor bisa mendeteksi % dimensi, maka dibutuhkan % pasang plat yang dipasang tegak lurus antar masing"masing.
G!"# 6.4 P$#=%% &7 $!#%% ++$,$#'!$$#
2. G?#'&+'$
1yros!ope adalah suatu alat berupa sensor gyro untuk menentukan orientasi gerak dengan bertumpu pada roda atau !akram yang berotasi dengan !epat pada sumbu. 1yros!ope memiliki output yang peka terhadap ke!epatan sudut dari arah sumbu J yang nantinya akan menjadi sudut phi (roll), dari sumbu y nantinya menjadi sudut theta (pit!h), dan sumbu nantinya menjadi sudut psi (ya0).
G!"# 6. A#= $!"+% ?#'&+'$ MPU600
G!"# 6.6 T"$, #$&$# MPU600
-ource 9:9P>:4%%%A:%% #nven-ense<#nc. http//,,,.i2cdevlib.com/*orums/topic/$:understanding:ra,:values:o*: accelerometer:and:gyrometer/
UNIT B S$%&'# S= 7% K$,$!""% DHT11 T*% - Praktikan dapat memahami cara ker;a sensor suhu dan kelembaban +T11 - Praktikan dapat mengimplementasikan hasil pembacaan +T11 berbagai aktuator pada trainer Arduino
A. S$%&'# DHT11 HT&& adalah sensor Suhu dan 2elembaban, dia memiliki keluaran sinyal digital yang dikalibrasi dengan sensor suhu dan kelembaban yang kompleks. Teknologi ini memastikan keandalan tinggi dan sangat baik stabilitasnya dalam jangka panjang. mikrokontroler terhubung pada kinerja tinggi sebesar - bit. Sensor ini termasuk elemen resistif dan perangkat pengukur suhu @TC. *emiliki kualitas yang sangat baik, respon !epat, kemampuan anti"gangguan dan keuntungan biaya tinggi kinerja.
G!"# B.1 M'7, &$%&'# DHT11
Setiap sensor HT&& memiliki fitur kalibrasi sangat akurat dari kelembaban ruang kalibrasi. 2oefisien kalibrasi yang disimpan dalam memori program 4T+, sensor internal mendeteksi sinyal dalam proses, kita harus menyebutnya koefisien kalibrasi. Sistem antarmuka tunggal"kabel serial terintegrasi untuk menjadi !epat dan mudah. 2e!il ukuran, daya rendah, sinyal transmisi jarak hingga $ meter,
sehingga berbagai aplikasi dan bahkan aplikasi yang paling menuntut. 2e!epatan ba!anya adalah seperempat detik dan data yang kita ba!a adalah data detik yang lalu. +roduk ini #"pin pin baris paket tunggal. 2oneksi nyaman, paket khusus dapat diberikan sesuai dengan kebutuhan pengguna. Spesifikasi 3 [ +asokan oltage3 ' [ Rentang temperatur 3$"'$ P C kesalahan P C [ 2elembaban 3$"B$\ RH '\ RH error [ Anterfa!e3 igital . K'%5#& S$%&'# 7% P#'#! A#7%'
G!"# B.2 K'%$& DHT11 $ % A#7%'
1ambar -. merupakan !ara menghubungkan HT&& dengan ;rduino, terdapat % pin pada HT&& yang tersambung ke pin ', 1@ dan pin data tersambung ke pin ;$ arduino. Contoh program untuk memba!a dan menampilkan data pada serial monitor arduino yaitu 3 #define -&11DP' 0 b,te readDdht11Ddat() { b,te i / 0! b,te result/0! for(i/0! i @! i88) {
define analog
port 0
?hile(E(P'C Q D;<(-&11DP'))) {! ?ait forever until anlog input port 0 is F1F ($&'CH> P'C reads all the analog input ports and D;<(K) is the 6acro operation ?hich pull up positon FKFto F1F and the rest positions to F0F. it is eLuivalent to 1
dela,"icroseconds(30)! if(P'C Q D;<(-&11DP')) still F1F after 30 us
if analog input port 0 is
result 4/(1(Ii))! this/55 position/55 is/55 1/55 p/55 ?hile((P'C Q D;<(-&11DP')))!
?ait F1F finish
return result! void setup() { AC 4/ D;<(-&11DP')! port
let analog port 0 be output
P$A&C 4/ D;<(-&11DP')! port be F1F
let the initial value of this
Serial.begin(900)! Serial.println(5Aead,5)! void loop() { b,te dht11DdatR7! b,te dht11Din! b,te i! start condition P$A&C Q/ TD;<(-&11DP')! 1@6s
1. pulldo?n io pin for
dela,(1@)! P$A&C 4/ D;<(-&11DP')!
2. pullup io pin for 0us
dela,"icroseconds(1)! AC Q/ TD;<(-&11DP')! port
let analog port 0 be input
dela,"icroseconds(0)! dht11Din / P'C Q D;<(-&11DP')! port 0
read onl, the input
if(dht11Din) { Serial.println(5dht11 start condition 1 not 6et5)! ?ait for -& response signal> +$*
dela,(1000)!
return!
dela,"icroseconds(@0)! dht11Din / P'C Q D;<(-&11DP')! if(Edht11Din) { Serial.println(5dht11 start condition 2 not 6et5)! ?air for second response signal>-'
return! dela,"icroseconds(@0)! no? read, for data reception for (i/0! i7! i/55 p/55 {
dht11DdatRi / readDdht11Ddat()! recieved 0 bits data. etails are described in datasheet
AC 4/ D;<(-&11DP')! let analog port 0 be output port after all the data have been received P$A&C 4/ D;<(-&11DP')! let the value of this port be F1F after all the data have been received b,te dht11DchecUDsu6 / dht11DdatR08dht11DdatR18dht11DdatR28dht11DdatR3! checU checUDsu6 if(dht11DdatRE/ dht11DchecUDsu6) { Serial.println(5-&11 checUsu6 error5)! Serial.print(5Vele6baban / 5)! Serial.print(dht11DdatR0 HC)! Serial.print(5.5)! Serial.print(dht11DdatR1 HC)! Serial.print(5W
5)!
Serial.print(5Suhu / 5)! Serial.print(dht11DdatR2 HC)! Serial.print(5.5)! Serial.print(dht11DdatR3 HC)! Serial.println(5C dela,(2000)!
5)!
fresh ti6e
G!"# B./ H&, $!"+% &$%&'# DHT11 ?% $#!, 7 &$#, !'%'#
C. T& > &. ?uatlah sebuah program untuk menampilkan nilai pemba!aan suhu dan
kelembaban pada EC seperti pada gambar diba0ah ini3
. ?uatlah sebuah program untuk menampilkan nilai pemba!aan suhu pada seen segment. %. ?uatlah program untuk mengontrol motor C dengan kondisi apabila suhu 9 %o C maka motor berputar, selain itu motor mati.
UNIT 3 SENSOR
- Praktikan dapat memahami cara ker;a sensor ,arna TC-!2%% - Praktikan dapat mengimplementasikan hasil pembacaan TC-!2%% berbagai aktuator pada trainer Arduino
A. S$%&'# TCS/200
TCS%$$ Color Sensor adalah sensor pendeteksi 0arna yang memiliki !hip sensor Taos TCS%$$ untuk mengontrol # E R1? dan E putih. TCS%$$ dapat mendeteksi dan mengukur hampir tak terba tas 0arna. ;plikasinya memba!a tes strip, menyortir 0arna, !ahaya ambient sensing dan kalibrasi, dan pen!o!okan 0arna.
G!"# 3.1 TCS/200
TCS%$$ adalah AC pengkonersi 0arna !ahaya ke nilai frekuensi. ;da dua komponen utama pembentuk AC ini, yaitu photodioda dan pengkonersi arus ke frekuensi. 2eluaran dari sensor ini sendiri berupa output digital yang berbentuk pulsa pulsa hasil pemba!aan 0arna R1?. ?erikut blog diagram dari TCS %$$ 3
G!"# 3.2 ,' 7#! TCS/200
;ntar muka sensor ini dengan arduino yaitu dengan menghubungkan pin" pin dalam sensor ini kedalam pin A>4 digital arduino dan pin !atu daya.
G!"# 3./ K'%5#& % TCS/200
Dungsi dari pin"pin diatas dijelaskan dalam tabel diba0ah ini 3 N! P% 1@ 4 4UT S$, S& S, S%
N'. P% # % 6 &, , '
IO
A 4 A A
D$&#& 1round nable for a!tie lo0 4utput frekuensi 4utput DreYuensi s!aling sele!tion input +hotodiode type sele!tion input Supply oltage
+ada prinsipnya pemba!aan 0arna pada TCS %$$ dilakukan se!ara bertahap yaitu memba!a frekuensi 0arna dasar se!ara simultan dengan !ara memfilter pada tiap tiap 0arna dasar. Untuk itu diperlukan sebuah pengaturan atau pemprograman untuk memfilter tiap"taip 0arna tersebut. ?erikut tabel pengaturan pemfilteran 0arna yang terdapat pada TCS%$$ 3 S2
S/
P=''7'7$ ?$
E E H H
E H E H
Red ?lue Clear (no filter) 1reen
. K'%5#& S$%&'# 7% A#7%'
Sensor Karna TSC %$$ dapat berkomunikasi dengan modul ;rduino dengan
menghubungkan
+in
S$,S&,S,S%,dan
pin
4ut
ke
pin
digital
mikrokontroller.
G!"# 3.4 K'%$& 7#! &$%&'# 8#% TSC /200 7$%% A#7%' U%'
+in digital ;rduino yang digunakan untuk menghubungkan Sensor Karna TSC %$$ dan ;rduino Uno adalah 3 +in S$ terhubung dengan pin digital ;rduino Uno +in S& terhubung dengan pin digital % ;rduino Uno +in S terhubung dengan pin digital # ;rduino Uno +in S% terhubung dengan pin digital ' ;rduino Uno. +in 4ut terhubung dengan pin digital 6 ;rduino Uno. +in !! terhubung dengan pin sumber ' ;rduino Uno. +in 1nd terhubung dengan pin sumber ground ;rduino Uno.
C. C'%'= A,& #'#! S$%&'# <#% TSC /200 7$%% A#7%'
:
pin"ode(s3 $%&P%&)! pin"ode(out 'P%&)! pin"ode(red+ed $%&P%&)! pin"ode(green+ed $%&P%&)! pin"ode(blue+ed $%&P%&)! digital*rite(s0 -'-)! digital*rite(s1 -'-)! void loop() { color()! Serial.print(5A 'ntensit,>5)! Serial.print(red HC)! Serial.print(5 'ntensit,> 5)! Serial.print(green HC)! Serial.print(5 ; 'ntensit, > 5)! Serial.print(blue HC)! Serial.println()! void color() { digital*rite(s2 +$*)! digital*rite(s3 +$*)! count $%& pAed AH red / pulse'n(out digitalAead(out) // -'- X +$* > -'-)! digital*rite(s3 -'-)! count $%& p;+%H ;+%H blue / pulse'n(out digitalAead(out) // -'- X +$* > -'-)! digital*rite(s2 -'-)! count $%& preen AHH green / pulse'n(out digitalAead(out) // -'- X +$* > -'-)! +ada program diatas akan menampilkan nilai intensitas dari 0arna R, 1 dan ?, dimana nilai intensitas R, 1 dan ? yang didapatkan menunjukkan pemba!aan 0arna yang di tangkap oleh sensor dengan ketentuan sebagai berikut. Red : ?lue, Red : 1reen, Red : $
I
Karna *erah
?lue : Red, ?lue : 1reen, ?lue : $
I
Karna ?iru
1reen : Red, 1reen : ?lue, 1reen : $
I
Karna Hijau
TCS%$$ sendiri dapat mendeteksi dan memba!a 0arna hampir tak terbatas tergantung dari program yang dibuat, pada program diatas sensor hanya dapat mendeteksi 0arna merah, hijau dan biru.
D. T& &. ?uatlah program untuk memba!a 0arna merah, hijau atau biru dan
kemudian hasil dari pemba!aan tersebut ditampilkan pada led R1? dan tertampil di EC. . ?uatlah program untuk mengontrol motor sero dengan kondisi apabila sensor mendeteksi 0arna merah sero akan berputar #'o, 0arna hijau berputar B$o, 0arna biru berputar &%' o. Tim +enyusun3 &. . %. #.
;ddy Ra!hmad @ur!ahyo Aman *utaYin Rangga ;ditya Steffani Aska ;ditya @ugraha
*aster +rogram soal no. & (tanpa EC)
: Color Sensor Brduino 5)!
Serial.print(red HC)! Serial.print(5 'ntensit,> 5)! Serial.print(green HC)! Serial.print(5 ; 'ntensit, > 5)! Serial.print(blue HC)! Serial.println()! if (red blue QQ red green QQ red 20) { Serial.println(5 (Aed Color)5)! digital*rite(red+ed -'-)! &urn AH +H $ digital*rite(green+ed +$*)! digital*rite(blue+ed +$*)! else if (blue red QQ blue green) { Serial.println(5 (;lue Color)5)! digital*rite(red+ed +$*)! digital*rite(green+ed +$*)! digital*rite(blue+ed -'-)! &urn ;+%H +H $ else if (green red QQ green blue) { Serial.println(5 (reen Color)5)! digital*rite(red+ed +$*)! digital*rite(green+ed -'-)! &urn AHH +H $ digital*rite(blue+ed +$*)! else{ Serial.println()! dela,(300)! digital*rite(red+ed +$*)! digital*rite(green+ed +$*)! digital*rite(blue+ed +$*)! void color() { digital*rite(s2 +$*)! digital*rite(s3 +$*)! count $%& pAed AH red / pulse'n(out digitalAead(out) // -'- X +$* > -'-)!