<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7112845371754230766</id><updated>2012-02-16T16:14:55.665-08:00</updated><category term='Robot-Line Tracing'/><category term='Wireless'/><category term='Driver Motor'/><category term='Too PayZ Project'/><category term='Timer / Counter'/><category term='Tutorial Hardware'/><category term='Catatan Payz'/><category term='Robot-Coding'/><category term='Robot-Wall Following'/><category term='Display'/><category term='Motor Servo'/><category term='Tutorial CoViAVR'/><category term='Pelatihan'/><category term='Komunikasi Data'/><category term='Sensor Garis'/><category term='H-Bridge'/><category term='TPA81'/><category term='Keypad'/><category term='Sensor-sensor'/><category term='Mekanik'/><category term='EEPROM'/><category term='ASK (tanya jawab)'/><category term='Tutorial Coding'/><category term='Dongle Mikrokontroller'/><category term='Video'/><category term='IC Digital'/><category term='Traffic Light'/><title type='text'>Explore Your Brain.</title><subtitle type='html'>Belajar bareng tentang mikrokontroller,
Robotika, dan membahas perkembangan teknologi.

Always Thinking.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://payztronics.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default?start-index=101&amp;max-results=100'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>112</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-8660686512079106414</id><published>2012-01-23T07:36:00.000-08:00</published><updated>2012-01-23T07:37:06.480-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><title type='text'>Video : Kontrol Kipas 220VAC dgn PWM</title><content type='html'>&lt;span style="color: #ffcc33; font-size: 180%;"&gt;&lt;span style="font-weight: bold;"&gt;Cekibroot.........&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-f0b84a18c1d9e059" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v8.nonxt1.googlevideo.com/videoplayback?id%3Df0b84a18c1d9e059%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1333404991%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D43CB810C03C67466574B1451459CCA489605A386.46B6715213B2FB5DF577A5922358D514543CF93C%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Df0b84a18c1d9e059%26offsetms%3D5000%26itag%3Dw160%26sigh%3D7SUHihY9hqf1M4K4vl1OO-jlicM&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v8.nonxt1.googlevideo.com/videoplayback?id%3Df0b84a18c1d9e059%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1333404991%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D43CB810C03C67466574B1451459CCA489605A386.46B6715213B2FB5DF577A5922358D514543CF93C%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Df0b84a18c1d9e059%26offsetms%3D5000%26itag%3Dw160%26sigh%3D7SUHihY9hqf1M4K4vl1OO-jlicM&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Video tersebut adalah kontrol kipas 220 Vac menggunakan PWM.&lt;br /&gt;Mikrokontroller yang digunakan adalah ATmega8535.&lt;br /&gt;Periode PWM 200 mS.&lt;br /&gt;Metode kontrolnya Gain Scheduling.&lt;br /&gt;&lt;br /&gt;Semoga manfaat..&lt;br /&gt;...^_^v...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-8660686512079106414?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://payztronics.blogspot.com/feeds/8660686512079106414/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://payztronics.blogspot.com/2012/01/video-kontrol-kipas-220vac-dgn-pwm.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8660686512079106414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8660686512079106414'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2012/01/video-kontrol-kipas-220vac-dgn-pwm.html' title='Video : Kontrol Kipas 220VAC dgn PWM'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-2628153025874678570</id><published>2011-10-25T23:45:00.000-07:00</published><updated>2012-01-23T00:17:24.512-08:00</updated><title type='text'>Relay II : Memilih Relay</title><content type='html'>.&lt;br /&gt;Setelah membahas beberapa hal dasar tentang relay, selanjutnya akan membahas cara memilih relay.&lt;br /&gt;Tapi bahasnya masih yang level sederhana saja, tidak begitu mendalam dan detail.&lt;br /&gt;...v^_^...&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #33ccff; font-size: 21px; font-weight: bold;"&gt;Relay Elektromekanis&lt;/span&gt; &lt;br /&gt;Relay elektromekanis mendukung secara luas berbagai macam karakteristik sinyal, dari daya rendah hingga daya tinggi, tegangan DC, tegangan AC, dan mampu mencapai hingga frekuensi GHz. Oleh sebab itu pemilihan relay elektromekanis harus disesuaikan dengan karakteristik yang digunakan  oleh sistem.&lt;br /&gt;&lt;br /&gt;Kontak pada relay cenderung lebih besar karena digunakan untuk menahan lonjakan tegangan dan arus yang besar secara tiba-tiba karena terjadinya perubahan kontak. Semakin besar tegangan dan arus yang akan dikendalikan oleh relay tersebut maka semakin besar pula logam kontak pada relay tersebut (untuk bahan kontak yang sama).&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #33ccff; font-size: 21px; font-weight: bold;"&gt;Kelemahan&lt;/span&gt;&lt;br /&gt;Kelemahan pada relay elektromekanis antara lain :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Kecepatan switching : Relay memiliki kecepatan pensaklaran yang relatif lebih lambat dari jenis switching yg lainnya yaitu berkisar 5 -15 mS. Sehingga untuk beberapa aplikasi pensaklaran yang membutuhkan kecepatan tinggi, tidak dapat menggunakan relay elektromekanis.&lt;/li&gt;&lt;li&gt;Ketahanan : Relay memiliki daya tahan yang relatif lebih pendek dibanding jenis lainnya. Hal ini dikarenakan lonjakan tegangan dan arus besar yang tiba-tiba sehingga menyebabkan loncatan bunga api yang semakin lama merusak kontak pada relay elektromekanis.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #33ccff; font-size: 21px; font-weight: bold;"&gt;Relay DC dan AC&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-F0YK1WTXH8U/Tx0LmVleoqI/AAAAAAAAA0w/Bno4_IlrB9E/s1600/Relay+AC.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="95" src="http://4.bp.blogspot.com/-F0YK1WTXH8U/Tx0LmVleoqI/AAAAAAAAA0w/Bno4_IlrB9E/s200/Relay+AC.JPG" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;Relay AC adalah relay yang menggunakan tegangan dan arus AC untuk mengaktifkan (energized) coil pada relay tersebut.&lt;br /&gt;Tegangan yang dapat dingunakan antara lain : 6 Vac, 12 Vac,  24 Vac, 120 Vac, 240 Vac,  dst.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-DT1qDqRx4_U/Tx0N_Rs4E3I/AAAAAAAAA04/3ajtHEleDG0/s1600/Soket+Relay.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-DT1qDqRx4_U/Tx0N_Rs4E3I/AAAAAAAAA04/3ajtHEleDG0/s200/Soket+Relay.JPG" width="181" /&gt;&lt;/a&gt;&lt;/div&gt;Relay jenis ini banyak ditemui di dunia industri dan menggunakan tegangan serta arus yang tinggi, sehingga umur atau daya tahan relay lebih pendek.&lt;br /&gt;Hal ini menyebabkan relay sering di ganti karena mengalami kerusakan atau sudah tidak layak pakai lagi.&lt;br /&gt;Oleh sebab itu digunakan soket relay untuk mempermudah pencabutan atau pemasangan relay.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-DxPGlLhGu_g/Tx0JsG_3MeI/AAAAAAAAA0o/lL-SAJQABOA/s1600/relay+dc.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-DxPGlLhGu_g/Tx0JsG_3MeI/AAAAAAAAA0o/lL-SAJQABOA/s200/relay+dc.JPG" width="160" /&gt;&lt;/a&gt;&lt;/div&gt;Relay DC adalah relay yang menggunakan tegangan dan arus DC untuk mengaktifkan (energized) coil pada relay tersebut.&lt;br /&gt;Tegangan yang dapat digunakan antara lain 5 Vdc, 6 Vdc, 12 Vdc, dan 24 Vdc.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #33ccff; font-size: 21px; font-weight: bold;"&gt;Spesifikasi Relay&lt;/span&gt;&lt;br /&gt;Seperti yang di tuliskan sebelumnya, relay adalah saklar yang dikendalikan secara elektronik sehingga baik relay AC maupun relay DC meskipun pada coilnya hanya dapat diberikan tegangan AC (untuk relay AC) atau hanya tegangan DC (untuk relay DC) pada bagian kontak-nya dapat dihubungkan ke tegangan listrik AC maupun DC sesuai kebutuhan dan spesifikasi relay.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-nJ5XQ5C6kP8/Tx0V-QC0S6I/AAAAAAAAA1A/MyP9qbsd8e4/s1600/Relay+DS+Data.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="135" src="http://2.bp.blogspot.com/-nJ5XQ5C6kP8/Tx0V-QC0S6I/AAAAAAAAA1A/MyP9qbsd8e4/s400/Relay+DS+Data.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.google.co.id/url?sa=t&amp;amp;rct=j&amp;amp;q=ds2e-s-dc5v&amp;amp;source=web&amp;amp;cd=3&amp;amp;ved=0CDIQFjAC&amp;amp;url=http%3A%2F%2Fpewa.panasonic.com%2Fassets%2Fpcsd%2Fcatalog%2Fds-catalog.pdf&amp;amp;ei=JhMdT4KiC4XtrQfi9fHIDQ&amp;amp;usg=AFQjCNGDibAGtHXm00bkoxt4IomD9NQsFQ"&gt;Datasheet Relay DS&lt;/a&gt;&amp;nbsp; &lt;br /&gt;Misalkan pada gambar Relay DC untuk tipe DS tertulis : &lt;br /&gt;DS2E-S &lt;br /&gt;-DC5V&lt;br /&gt;0.6A 125V AC&lt;br /&gt;0.6A 110V DC&lt;br /&gt;2A&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 30V DC&lt;br /&gt;&lt;br /&gt;Artinya singkat relay tersebut adalah :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Relay tipe : DS2E-S-DC5V.&lt;/li&gt;&lt;li&gt;Tegangan kerja coil maksimum 5Vdc.&lt;/li&gt;&lt;li&gt;Tegangan kontaktor, untuk tegangan 125 VAC arus maksimum 0.6 Ampere.&lt;/li&gt;&lt;li&gt;Tegangan kontaktor, untuk tegangan 110 VAC arus maksimum 0.6 Ampere.&lt;/li&gt;&lt;li&gt;Tegangan kontaktor, untuk tegangan 30 VDC arus maksimum 3 Ampere. &lt;/li&gt;&lt;/ul&gt;Dari penjelasan tersebut relay DS2E-S-DC5V dapat dioperasikan menggunakan tegangan 5VDC dan dapat mengendalikan tegangan mencapai 125VAC dengan arus maksimal 0.6 Ampere atau tegangan hingga 30 VDC dengan arus maksimal 2 Ampere.&lt;br /&gt; Tapi untuk lebih lengkap dan detailnya silahkan baca datasheetnya.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bacaan memilih Relay :&lt;br /&gt;&lt;a href="http://zone.ni.com/devzone/cda/tut/p/id/2774"&gt;http://zone.ni.com/devzone/cda/tut/p/id/2774&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Semoga manfaat ...^^v...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-2628153025874678570?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://payztronics.blogspot.com/feeds/2628153025874678570/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://payztronics.blogspot.com/2011/10/relay-ii-memilih-relay.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/2628153025874678570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/2628153025874678570'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2011/10/relay-ii-memilih-relay.html' title='Relay II : Memilih Relay'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-F0YK1WTXH8U/Tx0LmVleoqI/AAAAAAAAA0w/Bno4_IlrB9E/s72-c/Relay+AC.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-4797995447323927544</id><published>2011-10-24T23:42:00.000-07:00</published><updated>2012-01-22T23:42:56.415-08:00</updated><title type='text'>Relay I : Relay Elektromekanis</title><content type='html'>.&lt;br /&gt;Selanjutnya tentang pensaklaran atau "Switching" tegangan dan arus AC.&lt;br /&gt;Pensaklaran kali ini akan membahas khusus menggunakan Relay.&lt;br /&gt;Ada banyak jenis dan cara kerja relay yang berbeda-beda..&lt;br /&gt;(Saya aja kaget ternyata banyak jenisnya setelah baca wiki tentang relay..)&lt;br /&gt;Untuk bahan bacaan ini linknya dari tante wiki.&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Relay"&gt;http://en.wikipedia.org/wiki/Relay&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Kali ini saya hanya akan membahas relay konvensional yaitu relay elektromekanis.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #33ccff; font-size: 21px; font-weight: bold;"&gt;Relay&lt;/span&gt;&lt;br /&gt;Relay adalah saklar yang dioperasikan menggunakan listrik, pertama kali digunakan pada rangkaian telegraft jarak jauh yaitu &lt;span class="" id="result_box" lang="id"&gt;&lt;span class="hps"&gt;mengulang&lt;/span&gt; &lt;span class="hps"&gt;sinyal&lt;/span&gt; &lt;span class="hps"&gt;yang datang dari&lt;/span&gt; &lt;span class="hps"&gt;satu sirkuit (pengirim)&lt;/span&gt; &lt;span class="hps"&gt;dan mengirim &lt;/span&gt;&lt;span class="hps"&gt;ke sirkuit yang lain (penerima).&lt;/span&gt;&lt;/span&gt;&lt;span class="" id="result_box" lang="id"&gt;&lt;span class="hps"&gt; Relay&lt;/span&gt; &lt;span class="hps"&gt;dahulu digunakan secara luas&lt;/span&gt; &lt;span class="hps"&gt;dalam pensaklaran &lt;/span&gt;&lt;span class="hps"&gt;telepon dan&lt;/span&gt; &lt;span class="hps"&gt;komputer&lt;/span&gt; &lt;span class="hps"&gt;awal untuk melakukan operasi&lt;/span&gt; &lt;span class="hps"&gt;logika.&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="" id="result_box" lang="id"&gt;&lt;span class="hps"&gt;R&lt;/span&gt;&lt;/span&gt;&lt;span class="" id="result_box" lang="id"&gt;&lt;span class="hps"&gt;elaypada dasarnya untuk mengendalikan peralatan daya tinggi menggunakanperangkat daya rendah seperti mikrokontroller 5Vdc yang mampumengendalikan motor 220Vac dan mengisolasi secara total antara keduarangkaian tersebut.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="" id="result_box" lang="id"&gt;&lt;span class="hps"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="" id="result_box" lang="id"&gt;&lt;span class="hps"&gt;Jenis&lt;/span&gt; &lt;span class="hps"&gt;relay yang&lt;/span&gt; &lt;span class="hps"&gt;dapat menangani&lt;/span&gt; &lt;span class="hps"&gt;daya&lt;/span&gt; &lt;span class="hps"&gt;tinggi yang diperlukan untuk&lt;/span&gt; &lt;span class="hps"&gt;secara langsung&lt;/span&gt; &lt;span class="hps"&gt;mengendalikan&lt;/span&gt; &lt;span class="hps"&gt;motor listrik&lt;/span&gt; &lt;span class="hps"&gt;atau beban&lt;/span&gt; &lt;span class="hps"&gt;lainnya disebut&lt;/span&gt; &lt;span class="hps"&gt;kontaktor&lt;/span&gt;&lt;span class=""&gt;.&lt;/span&gt; &lt;/span&gt;&lt;span class="" id="result_box" lang="id"&gt;&lt;span class="hps"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #33ccff; font-size: 21px; font-weight: bold;"&gt;Bagian Relay Elektromekanis&lt;/span&gt;&lt;br /&gt;Relay elektromekanis terdiri dari coil dan kontak.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/-Opprt1BRxVQ/Txl_q71-UBI/AAAAAAAAA0Q/Ckf68PCFuxs/s1600/Koil.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/-Opprt1BRxVQ/Txl_q71-UBI/AAAAAAAAA0Q/Ckf68PCFuxs/s200/Koil.JPG" width="200" /&gt;&lt;/a&gt;Coil merupakan kumparan tembaga yang dililitkan pada sebuah inti logamlunak, sehingga ketika coil di berikan tegangan dan arus menyebabkantimbulnya medan elektromagnetik yang mengubah inti logam tersebutmenjadi logam bermagnet dan mampu menarik logam lainnya dengan katalain magnet karena aliran listrik atau elektromagnetik.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;nb : gambar di samping belum ada inti logamnya, hanya lilitannya saja.&lt;br /&gt;&lt;br /&gt;Kontakadalah saklar logam pada relay yang akan ditarik oleh elektromagnetiksehingga kondisi On/Off-nya berubah tergantung ada tidaknya medanelektromagnetik tersebut.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #33ccff; font-size: 21px; font-weight: bold;"&gt;Kontak Pada Relay&lt;/span&gt;&lt;br /&gt;Kontak pada relay ada 3 buah yaitu :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;NO (Normally Open) yaitu kondisi kontak terbuka ketika tidak ada medan elektromagnetik.&lt;/li&gt;&lt;li&gt;NC (Normally Close) yaitu kondisi kontak tertutup ketika tidak ada medan elektromagnetik.&lt;/li&gt;&lt;li&gt;CO (Change Over) atau Common yaitu saklar yang akan terhubung kesalah satu saklar NO atau NC tergantung ada tidaknya elektromagnetikpada coil.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&amp;nbsp;Ada beberapa konfigurasi relay tergantung dari banyaknya saklar pada relay tersebut.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SPST (Singel Pole Single Throw) : Satu Kutub (Saklar) Satu Kondisi. &lt;/li&gt;&lt;li&gt;SPDT (Singel Pole Double Throw) : Satu Kutub Dua Kondisi&lt;/li&gt;&lt;li&gt;DPST (Double Pole Single Throw) : Dua Kutub Satu Kondisi&lt;/li&gt;&lt;li&gt;DPDT (Double Pole Single Throw) : Dua Kutub Dua Kondisi&lt;/li&gt;&lt;li&gt;3PST (Three Pole Single Throw) : Tiga Kutub Satu Kondisi&lt;/li&gt;&lt;li&gt;3PDT (Three Pole Doubel Throw) : Tiga Kutub Dua Kondisi&lt;/li&gt;&lt;li&gt;dst...&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-VIUZFZS-f2c/TxmPopyNQMI/AAAAAAAAA0Y/RLY-I6hHXGM/s1600/Konfigurasi+Relay.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="131" src="http://3.bp.blogspot.com/-VIUZFZS-f2c/TxmPopyNQMI/AAAAAAAAA0Y/RLY-I6hHXGM/s400/Konfigurasi+Relay.JPG" width="400" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Polemenyatakan banyaknya kontak (CO) atau saklar yang dimiliki oleh relay,sedangkan Throw menyatakan banyaknya kondisi kontak yang dimiliki olehrelay.&lt;/div&gt;Misalnya :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SPST berarti memiliki satu kontak (CO) dan satu kondisi kontak (CO - NO).&lt;/li&gt;&lt;li&gt;DPDT berarti memiliki dua kontak (CO1 dan CO2) dan dua kondisi kontak (CO1 - NO1 dan CO2 - NO2, CO1 - NC1 dan CO2 - NC2).&lt;/li&gt;&lt;li&gt;dst... &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #33ccff; font-size: 21px; font-weight: bold;"&gt;Prinsip Kerja Relay&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Pada kondisi awal / normal yaitu kondisi ketika coil tidakmendapatkan energi listrik, saklar CO (pada gambar simbol = C) akanterhubung dengan saklar NC dan tidak terhubung dengan saklar NO.&lt;/li&gt;&lt;li&gt;Ketika coil mendapatkan energi listrik (energized) arus dantegangan listrik yang mengalir pada kumparan tembaga menyebabkantimbulnya medan elektromagnetik dan mengalir sepanjang inti logam lunakdi tengah kumparan tersebut yang menyebabkan logam tersebut berubahmenjadi magnet.&lt;/li&gt;&lt;li&gt;Elektromagnetik ini dapat menarik armature yang terbuat dari logamsehingga kodisi kontak yang semula CO - NC berubah menjadi CO - NO.&lt;/li&gt;&lt;li&gt;Apabila coil sudah tidak memiliki energi listrik (not energized)maka armature akan kembali dari kondisi CO - NO ke posisi CO - NCkarena adanya pegas (spring) yang menarik armature tersebut.&lt;br /&gt;Beberaparelay daya rendah tidak menggunakan pegas penarik (spring) karena logamarmature yang digunakan memiliki gaya pegas untuk kembali ke posisisemula.&lt;/li&gt;&lt;/ul&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-1BIygsYdoSM/Txu8xFtq6uI/AAAAAAAAA0g/M8Ra_Zu8HBM/s1600/Bagian+Relay.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="221" src="http://2.bp.blogspot.com/-1BIygsYdoSM/Txu8xFtq6uI/AAAAAAAAA0g/M8Ra_Zu8HBM/s400/Bagian+Relay.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;sumber : Kilian, Christopher T, Modern Control Technology, (West Publishing Co : 1996)&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Semoga manfaat ...^^v...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-4797995447323927544?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://payztronics.blogspot.com/feeds/4797995447323927544/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://payztronics.blogspot.com/2011/10/relay-i-relay-elektromekanis.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/4797995447323927544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/4797995447323927544'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2011/10/relay-i-relay-elektromekanis.html' title='Relay I : Relay Elektromekanis'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-Opprt1BRxVQ/Txl_q71-UBI/AAAAAAAAA0Q/Ckf68PCFuxs/s72-c/Koil.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-5031896587241940961</id><published>2011-10-21T14:32:00.000-07:00</published><updated>2012-01-22T21:37:07.417-08:00</updated><title type='text'>Kontrol Tegangan AC : Introduction</title><content type='html'>.&lt;br /&gt;Setelah begitu banyak teknik pengontrollan tegangan DC / Tegangan dan arus searah.&lt;br /&gt;Bulan ini akan saya bahasa teknik pengontrollan tegangan AC / Tegangan dan arus bolak balik.&lt;br /&gt;&lt;br /&gt;Dan memang pengontrollan tegangan AC lebih sulit dibandingkan tegangan DC, Oleh sebab itu saya sarankan untuk pelan-pelan memahaminya, jangan buru-buru dan lebih penting serap konsepnya.&lt;br /&gt;Selain itu karena tegangan AC yang akan dibahas adalah 220Vac 50-60 Hz saya ingatkan&lt;br /&gt;&lt;div style="color: #cc0000;"&gt;&lt;b&gt;"WARNING : HIGH VOLTAGE"&lt;/b&gt;&lt;/div&gt;mengapa begitu, simak selanjutnya ya ...^_^v...&lt;br /&gt;&lt;br /&gt;Sumber tegangan konsumen perumahan di Indonesia memiliki tegangan RMS-nya rata-rata adalah 220 Vac dengan frekuensi 50 Hz.&lt;br /&gt;Darikedua data ini kita sudah dapat mengetahui karakteristik sinyal AC danbagaimana cara mengontrolnya oleh sebab itu harus diketahui Apamaksudnya informasi ini ?&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #33ccff; font-size: 21px; font-weight: bold;"&gt;Tegangan AC 220 Volt &lt;/span&gt;&lt;br /&gt;Tegangan AC (Alternating Current / Arus Bolak-Balik) adalah tegangan / arus dan pada satu waktu bernilai &lt;b style="color: #f6b26b;"&gt;positif &lt;/b&gt;dan satu waktu bernilai &lt;b style="color: #f6b26b;"&gt;negatif&lt;/b&gt; &lt;br /&gt;Tegangan sumber AC bisa berbentuk gelombang sinus, gigi gergaji, segitiga, atau sinyal kotak, yang perlu diingat sekali lagi adalah "pada satu waktu bernilai &lt;b style="color: #f6b26b;"&gt;positif &lt;/b&gt;dan satu waktu bernilai &lt;b style="color: #f6b26b;"&gt;negatif&lt;/b&gt;".&lt;br /&gt;Apabila  berbentuk gelombang sinus, gigi gergaji, segitiga, atau sinyal kotak tetapi bernilai &lt;b style="color: #f6b26b;"&gt;positif saja&lt;/b&gt; atau &lt;b&gt;&lt;span style="color: #f6b26b;"&gt;negatif saja&lt;/span&gt; &lt;/b&gt;maka masih tergolong sinyal DC, contohnya sumber clock dari IC 555, cristal, PWM, dst. &lt;br /&gt;&lt;br /&gt;Jika mengukur tegangan sumber dari PLN perumahan menggunakan avometer digital atau analog nilai yang ditunjukkan adalah tegangan RMS.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-oYUGgZE8Ntg/TqHjShfMUjI/AAAAAAAAA0I/7gNYZGbc6wY/s1600/VoltAC.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="232" src="http://2.bp.blogspot.com/-oYUGgZE8Ntg/TqHjShfMUjI/AAAAAAAAA0I/7gNYZGbc6wY/s320/VoltAC.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;Sumber : &lt;a href="http://en.wikipedia.org/wiki/Amplitude"&gt;Wikipedia&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;ol&gt;&lt;a href="http://1.bp.blogspot.com/-qAPKuNuYNK0/TqHiPrxlinI/AAAAAAAAA0A/8EHO6a_CsRc/s1600/Frek.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;li&gt;&lt;b&gt;Peak Amplitude (Ampilitudo Puncak).&lt;/b&gt;&lt;br /&gt;adalah tegangan puncak baik positif atau negatif yang terukur dari tegangan referensi 0 volt. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Peak-to-Peak Amplitude (Ampilitudo Puncak ke Puncak).&lt;/b&gt;&lt;br /&gt;adalah tegangan antara puncak positif dengan puncak negatif.&lt;/li&gt;&lt;li&gt;&lt;b&gt;RMS Amplitudo (Amplitudo Root Mean Square).&lt;/b&gt;&lt;br /&gt;adalah nilai akar kuadrat dari rata-rata aritmatika dari kuadratnilai-nilai asli (atau kuadrat dari fungsi yang mendefinisikan bentukgelombang kontinu).&lt;br /&gt;Untuk mengetahui persamaan RMS setiap gelombang silahkan lihat di link ini : &lt;a href="http://en.wikipedia.org/wiki/Root_mean_square"&gt;Wikipedia&lt;/a&gt;&lt;br /&gt; &lt;/li&gt;&lt;li&gt;&lt;b&gt;Wave Periode (Periode Gelombang).&lt;/b&gt;&lt;br /&gt;adalah waktu yang dibutuhkan untuk 1 siklus gelombang. &lt;/li&gt;&lt;/ol&gt;Misalkan ketika mengukur menggunakan Voltmeter dan ditampilkan adalah nilai 220 Vac maka :&lt;br /&gt;Vrms = 220.&lt;br /&gt;Vrms = Vp * 0,7071 &amp;nbsp;&amp;nbsp; maka&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Vp = 220 / 0,7071 = 311,1299 Vac.&lt;br /&gt;Vpp&amp;nbsp; = 2 * Vp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; maka &amp;nbsp; &amp;nbsp; Vpp = 2 * 311,1299 = 622,2598 Vac.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #33ccff; font-size: 21px; font-weight: bold;"&gt;Frekuensi 50 Hz&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-QaQopLiC5LU/TqHgmurAdoI/AAAAAAAAAz4/u6ToJIUp3Rg/s1600/Sinus.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="162" src="http://4.bp.blogspot.com/-QaQopLiC5LU/TqHgmurAdoI/AAAAAAAAAz4/u6ToJIUp3Rg/s200/Sinus.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;Pada gambar diatas ditunjukkan Wave Periode atau Periode Gelombang, jangan lupa Periode berbanding terbalik dengan Frekuensi dan memiliki satuan serta pengertian yang berbeda.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-qAPKuNuYNK0/TqHiPrxlinI/AAAAAAAAA0A/8EHO6a_CsRc/s1600/Frek.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/-qAPKuNuYNK0/TqHiPrxlinI/AAAAAAAAA0A/8EHO6a_CsRc/s1600/Frek.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Periode adalah waktu yang dibutuhkan untuk 1 gelombang penuh, satuannya detik (s).&lt;br /&gt;Frekuensi adalah banyaknya gelombang dalam 1 detik, satuannya Hertz (Hz).&lt;br /&gt;&lt;br /&gt;Maka&lt;br /&gt;Frekuensi 50Hz = 50 gelombang sinus dalam 1 detik. &lt;br /&gt;Periode 1 gelombang sinus = 1 / 50 = 0,02 Sekon = 20 mS&lt;br /&gt;Periode 0,5 gelombang sinus = 10 mS = 100 Hz&lt;br /&gt;&lt;br /&gt;Jika sumber 220 Vac dan fekuensi 50 Hz artinya : tegangan gelombang sinus sumber AC dengan Vrms 220 Volt dan setiap gelombangnya memiliki periode 20 mS.&lt;br /&gt;&lt;br /&gt;Ini adalah dasarnya dan penting untuk digunakan selanjutnya.&lt;br /&gt;Semoga manfaat ...^^v...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #33ccff; font-size: 21px; font-weight: bold;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-5031896587241940961?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://payztronics.blogspot.com/feeds/5031896587241940961/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://payztronics.blogspot.com/2011/10/kontrol-tegangan-ac-introduction.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/5031896587241940961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/5031896587241940961'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2011/10/kontrol-tegangan-ac-introduction.html' title='Kontrol Tegangan AC : Introduction'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-oYUGgZE8Ntg/TqHjShfMUjI/AAAAAAAAA0I/7gNYZGbc6wY/s72-c/VoltAC.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-7565720831210790495</id><published>2011-09-18T14:23:00.000-07:00</published><updated>2011-09-18T14:32:28.599-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Display'/><title type='text'>Masalah LCD : Solusi Secara Software</title><content type='html'>&lt;br /&gt;.&lt;br /&gt;Setelah&amp;nbsp;&lt;b&gt;&lt;a href="http://payztronics.blogspot.com/2011/09/masalah-lcd-solusi-secara-hardware.html"&gt;Masalah LCD : Solusi Secara Hardware&lt;/a&gt; &lt;/b&gt;memecahkan solusi yang cukup sederhana, apakah tidak ada solusi secara Software-nya.&lt;br /&gt;&lt;br /&gt;Tentu saja ada, silahkan menyimak dan tentukan mana solusi yang lebih baik.&lt;br /&gt;Apakah secara hardware atau software ?&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #33ccff; font-size: 21px; font-weight: bold;"&gt;Solusi Secara Software&lt;/span&gt;&lt;br /&gt;Yang perlu di ingat pertama kali adalah&amp;nbsp;&lt;i style="font-weight: bold;"&gt;Busy flag&lt;/i&gt;&amp;nbsp;berfungsi sebagai indikator bahwa chip prosesor pada LCD karakter &lt;u&gt;sedang sibuk&lt;/u&gt;&amp;nbsp;dan sebaiknya tidak boleh diganggu atau diinterupsi karena &lt;u&gt;tidak akan dihiraukan dan tidak akan diolah&lt;/u&gt; oleh chip LCD tersebut.&lt;br /&gt;Maka jalan terbaik yang harus dilakukan adalah menunggu hingga &lt;i&gt;&lt;b&gt;busy flag&lt;/b&gt;&lt;/i&gt;&amp;nbsp;tidak aktif atau berlogika &lt;b&gt;LOW, &lt;/b&gt;akan tetapi hal ini tidak berguna apabila LCD dilepaskan dari mikrokontroller.&lt;br /&gt;&lt;br /&gt;Jika anda berniat membuat library untuk mengakses LCD karakter sendiri saya menduga anda menggunakan fungsi &lt;b&gt;&lt;i&gt;delay, looping,&amp;nbsp;&lt;/i&gt;&lt;/b&gt;atau bahkan tidak melakukan proses tundaan sama sekali.&lt;br /&gt;&lt;br /&gt;Saya tidak akan membahas listing program fungsi untuk mengakses LCD karakter karena memang saya belum pernah mencobanya sama sekali.&lt;br /&gt;Jadi teorinya aja ya... T_T"&lt;br /&gt;Mudah-mudahan nanti dicoba deh trus dipostingkan,&lt;br /&gt;terlalu dimanjakan dengan fungsi buatan CvAVR sih&amp;nbsp;...^o^v...&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #33ccff; font-size: 21px; font-weight: bold;"&gt;Delay / Tundaan pengganti Busy Flag&lt;/span&gt;&lt;br /&gt;&lt;div&gt;Dibandingkan menggunakan fungsi&amp;nbsp;&lt;b&gt;looping &lt;/b&gt;yang sulit untuk diketahui waktu tundaannya sebaiknya menggunakan fungsi &lt;b&gt;delay &lt;/b&gt;yang dapat dihitung waktu tundaannya&amp;nbsp;(maksudnya hanya sekedar mempermudah pemahaman dan penjelasan).&lt;br /&gt;&lt;br /&gt;Untuk mengetahui besarnya tundaan &lt;b style="font-style: italic;"&gt;Busy Flag &lt;/b&gt;pada LCD maka harus diketahui chip prosesor yang digunakan oleh LCD karater tersebut dan kemudian mencari datasheet chip prosesor tersebut.&lt;br /&gt;&lt;br /&gt;Disini hanya akan saya bahas chip prosesor LCD tipe&amp;nbsp;&lt;b&gt;HD44780U.&lt;/b&gt;&lt;br /&gt;Delay Busy Flag terlama yaitu minimal 10 mS yaitu ketika dalam kondisi &lt;b&gt;Power on Reset &lt;/b&gt;atau kondisi Vcc setelah mencapai tegangan 4,5 Vdc.&lt;br /&gt;Jika tidak menggunakan proses pengecekan &lt;i style="font-weight: bold;"&gt;busy flag &lt;/i&gt;maka minimal tundaan yang diberikan sebagai pengganti&amp;nbsp;&lt;b&gt;&lt;i&gt;busy flag&amp;nbsp;&lt;/i&gt;&lt;/b&gt;adalah 10 mS (sebaiknya dilebihkan menjadi 15 mS).&lt;br /&gt;&lt;br /&gt;Link codingnya :&lt;br /&gt;&lt;a href="http://www.edaboard.com/thread148157.html"&gt;http://www.edaboard.com/thread148157.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.beyondlogic.org/parlcd/parlcd.htm"&gt;http://www.beyondlogic.org/parlcd/parlcd.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.picplay.net/Strings%20to%20LCD_asm.shtml"&gt;http://www.picplay.net/Strings%20to%20LCD_asm.shtml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #33ccff; font-size: 21px; font-weight: bold;"&gt;Akibat Tidak Menggunakan Busy Flag&lt;/span&gt;&lt;br /&gt;Apabila chip prosesor LCD sedang bekerja yaitu ketika&amp;nbsp;&lt;i style="font-weight: bold;"&gt;busy flag&amp;nbsp;&lt;/i&gt;HIGH dan kemudian diberikan perintah / data tertentu, akan menyebabkan...&lt;br /&gt;Di datasheet HD44780U halaman 24 :&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;Note: Be sure the HD44780U is not in the busy state (BF = 0) before sending an instruction from the&amp;nbsp;MPU to the HD44780U. If an instruction is sent without checking the busy flag, the time between&amp;nbsp;the first instruction and next instruction will take much longer than the instruction time itself.&lt;/b&gt;&lt;/blockquote&gt;Semoga membantu ...^^v...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-7565720831210790495?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://payztronics.blogspot.com/feeds/7565720831210790495/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://payztronics.blogspot.com/2011/09/masalah-lcd-solusi-secara-software.html#comment-form' title='1 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/7565720831210790495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/7565720831210790495'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2011/09/masalah-lcd-solusi-secara-software.html' title='Masalah LCD : Solusi Secara Software'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-8625270636720713390</id><published>2011-09-18T13:25:00.000-07:00</published><updated>2011-09-18T14:31:59.183-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Display'/><title type='text'>Masalah LCD : Solusi Secara Hardware</title><content type='html'>.&lt;br /&gt;Setelah mengetahui pin-pin LCD karakter serta fungsinya maka dapat diketahui bahwa :&lt;br /&gt;Ketika menggunakan library fungsi lcd.h kemudian koneksi hardware LCD dengan mikrokontroller dilepaskan akan menyebabkan programsecara keseluruhan terhenti.&lt;br /&gt;Hal ini dikarenakan program pada lcd.h menunggu &lt;i style="font-weight: bold;"&gt;Busy Flag&lt;/i&gt;&amp;nbsp;tidak aktif atau chip prosesor pada LCD karakter sedang tidak melakukan sesuatu (tidak sibuk) dan siap menerima perintah / data dari mikrokontroller.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #33ccff; font-size: 21px; font-weight: bold;"&gt;Pin DB7 = Busy Flag&lt;/span&gt;&lt;br /&gt;Pin 14 pada LCD atau DB7 memiliki fungsi lain yaitu sebagai &lt;i style="font-weight: bold;"&gt;Busy flag.&lt;/i&gt;&lt;br /&gt;Dalam kondisi sibuk,&amp;nbsp;&lt;i style="font-weight: bold;"&gt;Busy flag&lt;/i&gt;&amp;nbsp;ini berlogika &lt;b&gt;1 &lt;/b&gt;atau &lt;b&gt;HIGH&lt;/b&gt; dan tidak akan mengolah / menerima data / perintah dari mikrokontroller maupun prosesor lainnya yang menggunakan LCD tersebut.&lt;br /&gt;&lt;br /&gt;Sehingga jika mengirim data / perintah saat LCD sedang sibuk merupakan hal yang sia-sia bahkan bisa menyebabkan kesalahan data / perintah.&lt;br /&gt;Oleh sebab itu prosesor yang menggunakan tampilan LCD harus menunggu hingga&amp;nbsp;&lt;i style="font-weight: bold;"&gt;Busy flag&lt;/i&gt;&amp;nbsp;ini berlogika &lt;b&gt;0 &lt;/b&gt;atau &lt;b&gt;LOW&lt;/b&gt; dan diikuti dengan data/perintah yang diinginkan.&lt;br /&gt;&lt;br /&gt;Fungsi library lcd.h pada CvAVR ketika mengakses LCD karakter, secara &lt;i style="font-weight: bold;"&gt;default&lt;/i&gt;&amp;nbsp;pin DB7 (Busy Flag) berlogika &lt;b&gt;HIGH &lt;/b&gt;dan menunggu chip prosesor LCD meng-&lt;b&gt;LOW&lt;/b&gt;-kan pin tersebut.&lt;br /&gt;Oleh sebab itu ketika LCD karakter dicabut dari PORT mikrokontroller, tidak ada yang meng-&lt;b&gt;LOW&lt;/b&gt;-kan pin PORTx.7 sehingga program secara keseluruhan seolah-olah terhenti karena menunggu pin tersebut &lt;b&gt;LOW&lt;/b&gt;.&lt;br /&gt;atau dengan kata lain &lt;b&gt;WAIT FOREVER&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #33ccff; font-size: 21px; font-weight: bold;"&gt;Solusi Secara Hardware&lt;/span&gt;&lt;br /&gt;Setelah mengetahui penyebabnya tentu saja sangat mudah solusinya bahkan sangat sederhana.&lt;br /&gt;Solusinya yaitu ketika hardware LCD karakter tidak terpasang pada port mikrokontroller atau LCD dilepas, maka pin PORTx.7 dihubungkan dengan resistor lalu ke GND.&lt;br /&gt;&lt;br /&gt;Agar anda dengan bebas lepas-pasang LCD karakter dari mikrokontroller bisa ditambahkan &lt;b&gt;toggle switch&lt;/b&gt; atau &lt;b&gt;Push button toggle&lt;/b&gt; yang bisa diatur posisinya ketika LCD karakter di pasang atau dilepaskan.&lt;br /&gt;Sederhana bukan..&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Post berikutnya yaitu solusi secara software.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;Semoga membantu ...^^v...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-8625270636720713390?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://payztronics.blogspot.com/feeds/8625270636720713390/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://payztronics.blogspot.com/2011/09/masalah-lcd-solusi-secara-hardware.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8625270636720713390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8625270636720713390'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2011/09/masalah-lcd-solusi-secara-hardware.html' title='Masalah LCD : Solusi Secara Hardware'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-7207185712367637627</id><published>2011-09-18T12:55:00.000-07:00</published><updated>2011-09-18T14:32:15.387-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Display'/><title type='text'>Masalah LCD : LCD Pinout</title><content type='html'>.&lt;br /&gt;&lt;div&gt;Beberapa posting LCD sebelumnya :&lt;/div&gt;&lt;div&gt;&lt;a href="http://payztronics.blogspot.com/2009/07/lcd-karakter.html"&gt;LCD Karakter&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://payztronics.blogspot.com/2009/07/tips-n-trik-coding-lcd-karakter.html"&gt;Tips dan trik Coding LCD Karakter&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://payztronics.blogspot.com/2009/07/keypad-matriks-4x4-dan-lcd-16x2.html"&gt;Keypad Matriks 4x4 dan LCD 16x2&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Link Bermanfaat lainnya :&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.nongnu.org/avr-libc/user-manual/group__stdiodemo.html"&gt;http://www.nongnu.org/avr-libc/user-manual/group__stdiodemo.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Seperti pada tulisan sebelumnya bahwa ketika LCD karakter di cabut sedangkan dalam coding terdapat perintah untuk mengakses LCD maka akan menyebabkan masalah untuk program secara keseluruhan.&lt;/div&gt;&lt;div&gt;Untuk mengatasi masalah "Waiting LCD", ada 2 cara yang bisa dilakukan yaitu secara Hardware dan secara Software.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Untuk mengatasi hardwarenya maka harus mengetahui tentang hardware LCD HD44780 meskipun sedikit yang penting tepat sasaran ^-^.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;span style="color: #33ccff; font-size: 21px;"&gt;&lt;span style="font-weight: bold;"&gt;Konfigurasi PIN LCD HD44780&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Untuk mempelajari hardware LCD HD44780 cukup dengan mengetahui pin-pinnya dan fungsi setiap pin serta cara kerja pin tersebut.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Link Datasheet LCD HD44780 :&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.sparkfun.com/datasheets/LCD/HD44780.pdf"&gt;http://www.sparkfun.com/datasheets/LCD/HD44780.pdf&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5590718642145481106" src="http://4.bp.blogspot.com/-OX7y3_3lOh8/TZY4-_A8UZI/AAAAAAAAAzA/b7fzbsnwvfk/s200/LCD%2BPinOut.jpg" style="cursor: hand; cursor: pointer; float: left; height: 134px; margin: 0 10px 10px 0; width: 200px;" /&gt;&lt;br /&gt;&lt;div&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5590725127377624034" src="http://3.bp.blogspot.com/-Up29qwpSjt4/TZY-4eYxm-I/AAAAAAAAAzI/Fff2siI0FMI/s200/LCD%2BTiming%2BDiagram.jpg" style="cursor: hand; cursor: pointer; float: left; height: 108px; margin: 0 10px 10px 0; width: 200px;" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pin dan penjelasannya :&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #ffcc00; font-weight: bold;"&gt;1 = GND : Ground 0Vdc&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #ffcc00; font-weight: bold;"&gt;2 =&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #ffcc00; font-weight: bold;"&gt;VCC : Power supply &amp;nbsp;+3,3 hingga +5,5Vdc (sesuaikan)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #ffcc00; font-weight: bold;"&gt;3 =&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #ffcc00; font-weight: bold;"&gt;VO : Contrast&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Mengatur tingkat ketajaman / kontras karakter pada tampilan LCD.&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #ffcc00;"&gt;4 = RS (Register Select) : Input&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Logika 0/Low : Instruction Register, jika diberi logika 0 berarti Command akan dikirim.&lt;/li&gt;&lt;li&gt;Logika 1/High : Data Register, jika diberi logika 1 berarti Data akan dikirim.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #ffcc00;"&gt;5 = R/W' (Read / Write') : Input&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Logika 0/Low : Write, menulis data ke LCD, pin ini hampir selalu LOW.&lt;/li&gt;&lt;li&gt;Logika 1/High : Read, membaca data internal dari DDRAM atau CGRAM.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #ffcc00;"&gt;6 = E (Enable) : Input&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Untuk mengaktifkan operasi / komunikasi dengan LCD. Pertama harus berlogika Low/0 untuk mengirim data lalu atur dua perintah kontrol dan ketika telah terkonfigurasi kemudian ubah logika E menjadi High/1 dan tunggu hingga waktu minimu&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #ffcc00;"&gt;7 - 14 = DB0 - DB7 (Data Bit)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;DB0 hingga DB7 digunakan keseluruhan untuk komunikasi / interface data 8 bit&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #ffcc00;"&gt;11 - 14 = DB4 - DB7 (Data Bit)&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;DB4 hingga DB7 digunakan untuk komunikasi / interface data 4 bit&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #ffcc00;"&gt;14 = DB7 (Busy Flag)&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;Memiliki fungsi lain sebagai indikator Busy Flag yaitu indikator yang menunjukkan bahwa chip processor LCD tersebut masih sedang sibuk / memproses sesuatu.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #ffcc00;"&gt;15 = BL+ : Power supply BackLight +3,3Vdc hingga +5,5Vdc&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #ffcc00;"&gt;&lt;b&gt;16 = BL- :&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: #ffcc00;"&gt;Power supply BackLight 0Vdc = Gnd&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Nah dari keterangan fungsi pin-pin pada LCD karakter bisa disimpulkan bahwa penyebab "Masalah LCD" pada program yang "menunggu" LCD terpasang disebabkan karena pin DB7 tersebut yaitu Busy Flag.&lt;br /&gt;&lt;br /&gt;Silahkan baca Posting selanjutnya.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;Semoga membantu ...^^v...&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-7207185712367637627?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://payztronics.blogspot.com/feeds/7207185712367637627/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://payztronics.blogspot.com/2011/09/masalah-lcd-lcd-pinout.html#comment-form' title='0 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/7207185712367637627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/7207185712367637627'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2011/09/masalah-lcd-lcd-pinout.html' title='Masalah LCD : LCD Pinout'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-OX7y3_3lOh8/TZY4-_A8UZI/AAAAAAAAAzA/b7fzbsnwvfk/s72-c/LCD%2BPinOut.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-8053658152825368667</id><published>2011-09-02T12:40:00.000-07:00</published><updated>2011-09-18T14:33:43.629-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASK (tanya jawab)'/><category scheme='http://www.blogger.com/atom/ns#' term='Display'/><title type='text'>ASK : LCD karakter HD44780 dan sejenisnya</title><content type='html'>.&lt;br /&gt;&lt;div&gt;&lt;span style="color: #ffcc33; font-weight: bold;"&gt;Asker : &lt;/span&gt;&lt;span style="color: #9999ff; font-weight: bold;"&gt;Nico&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #ffcc00; font-weight: bold;"&gt;About :&lt;/span&gt;&lt;br /&gt;Display LCD karakter yang mengganggu jalannya program.&lt;br /&gt;&lt;span style="color: #ffcc00; font-weight: bold;"&gt;Question :&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Bagaimana mengatasi program yang menunggu balasan LCD...? sehingga bila LCD dilepas.. program seolah2 berhenti....&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="color: #ffcc00; font-weight: bold;"&gt;Too PayZ:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Mendapat pertanyaan dari &lt;b&gt;NICO &lt;/b&gt;di Comment Box yang isinya :&lt;/div&gt;&lt;div&gt;"Bagaimana mengatasi program yang menunggu balasan LCD...? sehingga bila LCD dilepas.. program seolah2 berhenti...."&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Memang pertanyaan sederhana dan saya yakin semua yang menggunakan Display LCD karakter juga pernah mengalami hal yang sama. Serta kebingungan ketika LCD-nya di cabut dan mengakibatkan program yang tidak berjalan atau berhenti.&lt;br /&gt;Lalu beranggapan bahwa LCD harus selalu dipasang jika mengakses LCD agar programnya tidak berhenti / nyangkut.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Posting selanjutnya sebenarnya mau membahas display DotMatiks tapi saya jadi penasaran karena ada pertanyaan seperti ini dan ingin mempostingnya.&lt;/div&gt;&lt;div&gt;Jadi post selanjutnya akan membahas tentang Display LCD karakter.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Semoga membantu ...^^v...&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-8053658152825368667?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://payztronics.blogspot.com/feeds/8053658152825368667/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://payztronics.blogspot.com/2011/04/ask-lcd-karakter-hd44780-dan-sejenisnya.html#comment-form' title='2 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8053658152825368667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8053658152825368667'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2011/04/ask-lcd-karakter-hd44780-dan-sejenisnya.html' title='ASK : LCD karakter HD44780 dan sejenisnya'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-1525788990988667413</id><published>2011-07-07T21:17:00.000-07:00</published><updated>2011-07-07T21:29:35.218-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pelatihan'/><title type='text'>Pelatihan Mikrokontroller AVR 2011</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-7KQleCTUH5o/ThaEkhv-ngI/AAAAAAAAAzc/oYy-kLdXqKg/s1600/Pelatihan+uC.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://2.bp.blogspot.com/-7KQleCTUH5o/ThaEkhv-ngI/AAAAAAAAAzc/oYy-kLdXqKg/s640/Pelatihan+uC.jpg" width="459" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; color: orange; text-align: center;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;Pelatihan selama 10 hari dari tanggal 18 - 29 Juli&lt;br /&gt;Setiap pertemuan 2 - 2,5 Jam&lt;br /&gt;1 x pertemuan dalam 1 ruang maksimal 9 orang.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: #073763; font-size: large;"&gt;Sangat bermanfaat untuk para pemula yang baru belajar mikrokontroller, mengenal mikrokontroller, atau bahkan tidak mengetahui mikrokontroller dan ingin belajar.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: #073763; font-size: large;"&gt; Pelatihan ini SANGAT DISARANKAN karena mendasar dan menjelaskan konsep-konsep dasarnya sehingga pemrograman yang advance atau tingkat lebih lanjut akan lebih mudah diimplementasikan.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="color: #073763; font-size: large;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="color: #073763; font-size: large;"&gt;&lt;span style="color: #cc0000;"&gt;Silahkan mendaftar secepatnya. Waktu, kesempatan, serta Quota peserta terbatas.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-1525788990988667413?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://payztronics.blogspot.com/feeds/1525788990988667413/comments/default' title='Poskan Komentar'/><link rel='replies' type='text/html' href='http://payztronics.blogspot.com/2011/07/pelatihan-mikrokontroller-avr-2011.html#comment-form' title='4 Komentar'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/1525788990988667413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/1525788990988667413'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2011/07/pelatihan-mikrokontroller-avr-2011.html' title='Pelatihan Mikrokontroller AVR 2011'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-7KQleCTUH5o/ThaEkhv-ngI/AAAAAAAAAzc/oYy-kLdXqKg/s72-c/Pelatihan+uC.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-5127599909310938694</id><published>2011-03-06T23:26:00.000-08:00</published><updated>2011-03-07T00:39:37.136-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Traffic Light'/><title type='text'>Trafic Light : Pewaktuan Perempatan</title><content type='html'>.&lt;br /&gt;Sebelum membaca lebih lanjut, Traffic Light yang dibahas hanya &lt;span style="font-weight: bold;"&gt;lampu Merah&lt;/span&gt; dan &lt;span style="font-weight: bold;"&gt;lampu Hijau&lt;/span&gt; sedangkan nilai &lt;span style="font-weight: bold;"&gt;lampu Kuning&lt;/span&gt; didapat dari nilai lampu Hijau dikurangi dengan nilai pewaktuan lampu Kuning.&lt;br /&gt;&lt;br /&gt;Pengaturan yang paling umum untuk Traffic Light yaitu pada perempatan, karena paling sering dijumpai di jalan. Seperti yang saya tulis pada post sebelumnya (&lt;a href="http://payztronics.blogspot.com/2011/02/trafic-light-introduction.html"&gt;Traffic Light : Introduction&lt;/a&gt;) bahwa pengaturan Traffic Light untuk perempatan pada dasarnya ada 3 cara yaitu :&lt;ul&gt;&lt;li&gt;1 jalur Hijau dan 3 jalur Merah.&lt;/li&gt;&lt;li&gt;2 jalur Hijau dan 2 jalur Merah.&lt;/li&gt;&lt;li&gt;2 jalur Hijau dan 2 jalur Merah dengan 2 Hijau lurus saja lalu 2 Hijau belok kanan saja.&lt;/li&gt;&lt;/ul&gt;Ada beberapa variabel yang digunakan untuk pengaturan Traffic Light antara lain :&lt;ul&gt;&lt;li&gt;Nilai maksimum waktu lampu Merah.&lt;/li&gt;&lt;li&gt;Nilai maksimum waktu lampu Hijau.&lt;/li&gt;&lt;li&gt;Nilai waktu awal disetiap Traffic Light.&lt;/li&gt;&lt;li&gt;Kodisi lampu awal disetiap Traffic Light.&lt;/li&gt;&lt;li&gt;Urutan nyala lampu yaitu : Merah - Hijau - Kuning.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Mode 1 Hijau 3 Merah&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Pada mode ini yang menjadi patokan adalah nilai maksimum waktu lampu Hijau. Jika nilai maksimum waktu lampu hijau telah ditentukan maka didapatkan nilai maksimum waktu lampu Merah.&lt;br /&gt;Misal :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Jika nilai lampu Kuning = 3 detik, maka&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Nilai maksimum waktu lampu Hijau = 27 detik, dan&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Nilai maksimum waktu lampu Merah = (27+3)  x 3 = 90 detik.&lt;/li&gt;&lt;li&gt;Nilai awal setiap lampu Merah selisih 30 detik dan nilai awal lampu Hijau adalah 27 detik.&lt;/li&gt;&lt;li&gt;Kondisi lampu awal = 1 Hijau dan 3 Merah.&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-270Aog7lc4A/TXSXQr7XwUI/AAAAAAAAAyY/CaK1VawjZaU/s1600/1H3M.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 132px;" src="http://4.bp.blogspot.com/-270Aog7lc4A/TXSXQr7XwUI/AAAAAAAAAyY/CaK1VawjZaU/s200/1H3M.JPG" alt="" id="BLOGGER_PHOTO_ID_5581252151144333634" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-TWeKJLXEkv4/TXSXQ2mUxFI/AAAAAAAAAyg/5TP17wmsD3o/s1600/1H3M_jalan.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 164px; height: 130px;" src="http://2.bp.blogspot.com/-TWeKJLXEkv4/TXSXQ2mUxFI/AAAAAAAAAyg/5TP17wmsD3o/s200/1H3M_jalan.JPG" alt="" id="BLOGGER_PHOTO_ID_5581252154008847442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Mode 2 Hijau 2 Merah&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Pada mode ini nilai maksimum waktu lampu  Hijau dan waktu lampu Merah sama.&lt;br /&gt;Misal :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Jika nilai lampu Kuning = 3 detik, maka&lt;/li&gt;&lt;li&gt;Nilai maksimum waktu lampu Hijau = 57 detik, dan&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Nilai maksimum waktu lampu Merah = 57+3 = 60 detik.&lt;/li&gt;&lt;li&gt;Nilai awal setiap lampu Merah = 60 detik dan lampu Hijau = 57 detik.&lt;/li&gt;&lt;li&gt;Kondisi lampu awal = 2 Hijau dan 2 Merah.&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-MA7JuHzID_8/TXSXQ2k1vkI/AAAAAAAAAyo/3Jez7BnjFhU/s1600/2H2M.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 132px;" src="http://3.bp.blogspot.com/-MA7JuHzID_8/TXSXQ2k1vkI/AAAAAAAAAyo/3Jez7BnjFhU/s200/2H2M.JPG" alt="" id="BLOGGER_PHOTO_ID_5581252154002619970" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-5Zz2QWS6S5o/TXSXRDyWFxI/AAAAAAAAAyw/1Dq1RGNxE3o/s1600/2H2M_jalan.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 169px; height: 127px;" src="http://1.bp.blogspot.com/-5Zz2QWS6S5o/TXSXRDyWFxI/AAAAAAAAAyw/1Dq1RGNxE3o/s200/2H2M_jalan.JPG" alt="" id="BLOGGER_PHOTO_ID_5581252157548926738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Oiya mode 2 Merah 2 Hijau dengan 2 Hijau lurus saja lalu 2 Hijau  belok kanan saja, tidak usah d bahas ya karena mirip dengan di atas.&lt;br /&gt;&lt;br /&gt;Semoga membantu ...^^v...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-5127599909310938694?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/5127599909310938694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/5127599909310938694'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2011/03/trafic-light-pewaktuan-perempatan.html' title='Trafic Light : Pewaktuan Perempatan'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-270Aog7lc4A/TXSXQr7XwUI/AAAAAAAAAyY/CaK1VawjZaU/s72-c/1H3M.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-865934453679013220</id><published>2011-03-03T00:28:00.000-08:00</published><updated>2011-03-07T00:09:54.016-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Too PayZ Project'/><category scheme='http://www.blogger.com/atom/ns#' term='Traffic Light'/><title type='text'>Trafic Light : by Too PayZ II</title><content type='html'>&lt;a onblur="try  {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-OJgORttOEvI/TW9KheWVOPI/AAAAAAAAAxg/c7adKimyzHQ/s1600/Blok%2BTraffic%2BLight.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 83px;" src="http://4.bp.blogspot.com/-OJgORttOEvI/TW9KheWVOPI/AAAAAAAAAxg/c7adKimyzHQ/s200/Blok%2BTraffic%2BLight.JPG" alt="" id="BLOGGER_PHOTO_ID_5579760402278201586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Setelah post sebelumnya mmebahas perancangan Hardware selanjutnya membahas perancangan Software. Software disini hanya membahas software pada delphinya yang menggunakan Delphi 7.&lt;br /&gt;Perancangan software harus fleksibel dan dapat menggunakan mode Otomatis, Manual, adn SemiOtomatis.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Mode Traffic Light&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Mode-mode Traffic Light yaitu :&lt;ul&gt;&lt;li&gt;Mode Otomatis yaitu mode ketika Traffic Light berjalan dengan sendirinya, tidak ada yang mengontrol dan mengendalikan. Input waktu sesuai dengan nilai yang terprogram di dalam memori MCU. Pada mode ini artinya Slave berdiri sendiri dan tidak perlu perintah dari Master.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Mode Manual yaitu mode ketika nyala lampu Traffic Light ditentukan oleh pengguna, dalam hal ini yaitu melalui software komputer (Master).&lt;/li&gt;&lt;li&gt;Mode SemiOtomatis yaitu ketika nyala lampu Traffic Light dan intervalnya ditentukan oleh pengguna tetapi pergantian nyala Traffic Light dilakukan secara otomatis oleh komputer.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Tampilan Software&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-v2e409qMqvE/TW9Y9tQa66I/AAAAAAAAAxw/VvJkvuxIUJE/s1600/Traffic%2BAwal.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 120px;" src="http://2.bp.blogspot.com/-v2e409qMqvE/TW9Y9tQa66I/AAAAAAAAAxw/VvJkvuxIUJE/s200/Traffic%2BAwal.JPG" alt="" id="BLOGGER_PHOTO_ID_5579776280479067042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-0aTuHouTTLg/TW9aC2aQ_-I/AAAAAAAAAyQ/aOeLepT8xf8/s1600/Traffic%2BSemarang.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 120px;" src="http://1.bp.blogspot.com/-0aTuHouTTLg/TW9aC2aQ_-I/AAAAAAAAAyQ/aOeLepT8xf8/s200/Traffic%2BSemarang.JPG" alt="" id="BLOGGER_PHOTO_ID_5579777468347252706" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-oD7sY_6Wvuk/TW9Y9-KLwgI/AAAAAAAAAx4/NwU7pkVdLgI/s1600/Traffic%2BKamera.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 194px; height: 200px;" src="http://4.bp.blogspot.com/-oD7sY_6Wvuk/TW9Y9-KLwgI/AAAAAAAAAx4/NwU7pkVdLgI/s200/Traffic%2BKamera.JPG" alt="" id="BLOGGER_PHOTO_ID_5579776285016310274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-Yl9Ti3D-m0A/TW9Y9WHG-6I/AAAAAAAAAxo/kG5LryWPXCU/s1600/Traffic%2BAtur%2BLampu.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 200px;" src="http://1.bp.blogspot.com/-Yl9Ti3D-m0A/TW9Y9WHG-6I/AAAAAAAAAxo/kG5LryWPXCU/s200/Traffic%2BAtur%2BLampu.JPG" alt="" id="BLOGGER_PHOTO_ID_5579776274265996194" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-eDHQpul3LCU/TW9Y90bfVOI/AAAAAAAAAyA/uN3ER9MXJ4o/s1600/Traffic%2BKirim%2Bdata.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 192px; height: 200px;" src="http://4.bp.blogspot.com/-eDHQpul3LCU/TW9Y90bfVOI/AAAAAAAAAyA/uN3ER9MXJ4o/s200/Traffic%2BKirim%2Bdata.JPG" alt="" id="BLOGGER_PHOTO_ID_5579776282404541666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sebelum saya jelaskan traffic Light buatanku..&lt;br /&gt;Kita bahas dulu bertahap seperti pada post-post selanjutnya.&lt;br /&gt;&lt;br /&gt;Semoga membantu ...^^v...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-865934453679013220?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/865934453679013220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/865934453679013220'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2011/03/trafic-light-by-too-payz-ii.html' title='Trafic Light : by Too PayZ II'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-OJgORttOEvI/TW9KheWVOPI/AAAAAAAAAxg/c7adKimyzHQ/s72-c/Blok%2BTraffic%2BLight.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-3301819113677715812</id><published>2011-03-02T23:09:00.000-08:00</published><updated>2011-03-07T00:09:57.942-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='Too PayZ Project'/><category scheme='http://www.blogger.com/atom/ns#' term='Traffic Light'/><title type='text'>Trafic Light : by Too PayZ I</title><content type='html'>.&lt;br /&gt;Sekarang akan saya bahas sedikit tentang Hardware yang telah saya buat untuk perancangan Traffic Light.&lt;br /&gt;Awalnya dirancang untuk Traffic Light di lokasi KaliBanteng Semarang dengan 6 persimpangan dan 9 buah Traffic Light tetapi akhirnya kurancang untuk hampir semua jenis persimpangan, bisa pertigaan, perempatan, perlimaan, dst. Dan banyak Traffic Light nya pun tidak terbatas (Saat buat program ini saya batasi 15 Traffic Light).&lt;br /&gt;&lt;br /&gt;Berikut gambar Persimpangan Kali Banteng Semarang,&lt;br /&gt;Kali Banteng yang akan dibangun FlyOver (kiri). &lt;a href="http://img21.imageshack.us/img21/1558/kalibanteng.jpg"&gt;Sumber gambar&lt;/a&gt;.&lt;br /&gt;Persimpangan Kali Banteng saat ini (kanan) By GoogleMap&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img21.imageshack.us/img21/1558/kalibanteng.jpg"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 201px; height: 152px;" src="http://img21.imageshack.us/img21/1558/kalibanteng.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-BDTHUsmaOvY/TW9DtOiPQ8I/AAAAAAAAAxY/bjjq8kUC3Gc/s1600/KaliBanteng.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 184px; height: 151px;" src="http://1.bp.blogspot.com/-BDTHUsmaOvY/TW9DtOiPQ8I/AAAAAAAAAxY/bjjq8kUC3Gc/s200/KaliBanteng.JPG" alt="" id="BLOGGER_PHOTO_ID_5579752907610211266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Perancangan Hardware&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-OJgORttOEvI/TW9KheWVOPI/AAAAAAAAAxg/c7adKimyzHQ/s1600/Blok%2BTraffic%2BLight.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 83px;" src="http://4.bp.blogspot.com/-OJgORttOEvI/TW9KheWVOPI/AAAAAAAAAxg/c7adKimyzHQ/s200/Blok%2BTraffic%2BLight.JPG" alt="" id="BLOGGER_PHOTO_ID_5579760402278201586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Perangkat :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Power Supply 5Vdc dan 3,3 Vdc (untuk Wireless).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;MCU AVR8535&lt;/li&gt;&lt;li&gt;Modul WireLess FSK 433MHZ&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Driver ULN2803 dan 26 buah LED (Lampu Traffic Light)&lt;/li&gt;&lt;li&gt;Driver ULN2803 dan Motor Stepper Unipolar 5Vdc.&lt;/li&gt;&lt;li&gt;Kamera WebCam USB&lt;/li&gt;&lt;li&gt;TTL to USB Interface.&lt;/li&gt;&lt;li&gt;Komputer / Laptop.&lt;/li&gt;&lt;/ul&gt;Pada perancangan di atas harusnya led yg digunakan sebanyak 9 x 3 = 27 buah tetapi terpaksa 26 buah LED karena kehabisan Pin mikrokontroller. Hal ini karena awalnya saya kira hanya terdapat 8 buah Traffic Light dan setelah melihat lokasi ternyata ada 9 buah.&lt;br /&gt;&lt;br /&gt;WireLess yang digunakan adalah tipe FSK 433MHz, dan semua jenis wireless bisa digunakan yang penting protokol komunikasi datanya yang harus diketahui.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Penjelasan Perancangan&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Perangkat yang dibuat adalah monitoring dan pengendalian Traffic Light secara wireLess. Oleh sebab itu perangkat ini dapat dijalankan secara &lt;span style="font-weight: bold;"&gt;Manual, Otomatis, maupun SemiOtomatis&lt;/span&gt;. Traffic Light ini dimonitor melalui WebCam dan dikontrol secara Software yang mudah digunakan (tinggal Klik-Klik saja) sehingga hampir siapapun bisa menggunakannya / dalam hal ini adalah Polisi Lalu Lintas.&lt;br /&gt;&lt;br /&gt;Polisi lalu lintas cukup datang ke pos Polisi, membuka Laptop, memasang modul WireLess, Jalankan Software, lalu Klik-klik sambil ngopi atau ngerokok atau telpon-telponan.&lt;br /&gt;Sehingga kelebihannya yaitu cukup membutuhkan 1 orang Polisi untuk mengendalikan jalannya seluruh persimpangan yang hanya dilakukan dalam pos Polisi saja.&lt;br /&gt;Bahkan dengan Mode Manual, Polisi dapat membuat jalur tertentu Hijau dan jalur lainnya Merah misalnya ketika Presiden, Walikota, atau Gubernur sedang lewat.&lt;br /&gt;&lt;br /&gt;Pengembangan selanjutnya tentu saja Integrated Smart Traffic Light (asal kasih nama aja) yaitu pengendalian seluruh Traffic Light atau Lalu lintas suatu daerah / kota yang dilakukan didalam suatu gedung khusus (seperti Amrik sono).&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Penjelasan Hardware&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Beberapa perangkat yang digunakan :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;MCU AVR sebagai otaknya yang akan mengendalikan nyala lampu LED pada suatu jalan, arah dan banyak putaran motor stepper, serta komunikasi wireless dengan komputer.&lt;/li&gt;&lt;li&gt;Modul Wireless FSk433 MHz sebagai media komunikasi antara Master (komputer) dengan Slave (Hardware).&lt;/li&gt;&lt;li&gt;WebCam sebagai kamera pemantau kepadatan kendaraan di suatu jalan.&lt;/li&gt;&lt;li&gt;Motor Stepper Unipolar sebagai pengatur arah pandangan WebCam untuk monitoring sehingga menghemat penggunaan WebCam.&lt;/li&gt;&lt;li&gt;TTL to USB interface untuk menghubungkan wireless tipe komunikasi UART TTL ke komputer / laptop menggunakan port USB.&lt;/li&gt;&lt;li&gt;Komputer sebagai Master yang menjalankan software komputer untuk monitoring atau pengaturan mode &lt;span style="font-weight: bold;"&gt;Otomatis, Manual, SemiOtomatis.&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Pembahasan Software lanjut ke post :&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://payztronics.blogspot.com/2011/03/trafic-light-by-too-payz-ii.html"&gt;Trafic Light : by Too PayZ II&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Semoga membantu ...^^v...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-3301819113677715812?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/3301819113677715812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/3301819113677715812'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2011/03/trafic-light-by-too-payz.html' title='Trafic Light : by Too PayZ I'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-BDTHUsmaOvY/TW9DtOiPQ8I/AAAAAAAAAxY/bjjq8kUC3Gc/s72-c/KaliBanteng.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-5899889060427155124</id><published>2011-03-01T22:24:00.000-08:00</published><updated>2011-03-07T00:10:02.332-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='Too PayZ Project'/><category scheme='http://www.blogger.com/atom/ns#' term='Traffic Light'/><title type='text'>Trafic Light : Introduction</title><content type='html'>.&lt;br /&gt;Lagi pengen bahas tentang Traffic Light atau Lampu Lalu Lintas. Mudah-mudahan menarik dan membantu buat yang membutuhkan.&lt;br /&gt;(Khususnya kota Jakarta Nih... Wokwokwokwokwokwo...)&lt;br /&gt;&lt;br /&gt;Saya belum ahlinya dibidang ini dan juga tidak pernah melakukan penelitian atau apapun yang berkaitan dengan Traffic Light. Perangkat atau membuat alat Traffic Light juga baru saya kerjakan sekitar kurang dari 1 bulan yg lalu. Jadi mohon koreksinya jika berkenan.&lt;br /&gt;&lt;br /&gt;Traffic Light tampak seperti aplikasi yang sederhana dan terkesan mudah  tetapi memegang peranan yang penting khususnya di kota-kota besar atau  di lokasi tertentu yang selalu mengalami masalah lalu lintas. Jika  programmer Traffic Light-nya memperhitungkan berbagai aspek dengan  teliti dan tidak terburu-buru maka akan sangat memperlancar lalu lintas.&lt;br /&gt;&lt;br /&gt;Beberapa aspek yang diperhitungkan pada perencanaan programmer Traffic Light antara lain :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Banyak persimpangan. Semakin banyak persimpangannya maka semakin kompleks pula perhitungannya atau pengaturan waktu Traffic Light.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Jenis kendaraan yang melalui jalan-jalan tersebut. Kendaraan besar seperti truk, bis, Container, dan sejenisnya memiliki respon yang lebih lambat dibandingkan dengan sepeda motor atau mobil.&lt;/li&gt;&lt;li&gt;Kepadatan kendaraan. Semakin padat kendaraan pada suatu jalan maka semakin lama pula pewaktuan jalan tersebut (bersifat relatif).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Waktu / Jam-jam kepadatan jalan. Jam-jam padat seperti jam kerja atau jam pulang sekolah harus memiliki pewaktuan yang agak panjang untuk pengaturan Traffic Light dan ketika jalan agak renggang atau kurang padat program pewaktuan mungkin lebih pendek, bahkan jika benar-benar sepi seperti ketika tengah malam Traffic Light diprogram untuk menyala lampu kuning saja.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Kontroller Lampu Lalu Lintas&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Sudah cukup banyak perangkat kontroller Traffic Light seperti menggunakan PLC, Mikrokontroller, bahkan FPGA dan paling umum adalah menggunakan PLC karena PLC menggunakan input maupun output tegangan mencapai 220Vac sehingga dapat mengendalikan Lampu Lalu Lintas secara langsung. Selain itu beberapa programmer menganggap memprogram PLC lebih mudah, cukup membawa laptop dan kabel programmer PLC lalu program.&lt;br /&gt;&lt;br /&gt;Link :&lt;br /&gt;&lt;a href="http://agfi.staff.ugm.ac.id/blog/index.php/2008/11/prototipe-pengatur-lampu-lalu-lintas-berbasis-fpga-altera-epf10k10-menggunakan-vhdl/"&gt;Traffic Light dengan FPGA.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ejournal.unud.ac.id/abstrak/gus%20alit%20_4_.pdf"&gt;Traffic Light dengan PLC.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ejournal.unud.ac.id/abstrak/raka%20agung_9_.pdf"&gt;Traffic Light dengan Mikrokontroller.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Nah tapi menurut saya tetap yang paling mudah adalah menggunakan Mikrokontroller. Karena hampir semua perancangan dan perencanaan sistem tergantung saya. Tidak harus mengikuti protokol atau sistem perangkat yang sudah jadi (katanya si "dibeli tinggal pakai" tapi tetep aja harus dipelajari lagi).&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Logika Sederhana Perempatan&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://inherent.uajy.ac.id/k1/2008/inf/vrml/Gambar%20Model/per4an_2.jpg"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 131px; height: 97px;" src="http://inherent.uajy.ac.id/k1/2008/inf/vrml/Gambar%20Model/per4an_2.jpg" alt="" border="0" /&gt;&lt;/a&gt;Sumber Gambar :&lt;br /&gt;&lt;a href="http://inherent.uajy.ac.id/k1/2008/inf/vrml/SimTrafficLight.html"&gt;http://inherent.uajy.ac.id/&lt;/a&gt;&lt;a href="http://inherent.uajy.ac.id/k1/2008/inf/vrml/SimTrafficLight.html"&gt;k1/2008/inf/vrml/SimTrafficLight.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Perempatan salah satu pengaturan Traffic Light yang gampang-gampang Susah... Karena untuk perempatan perbedaan pengaturan tergantung kepadatan kendaraan.&lt;br /&gt;&lt;br /&gt;Jika padat biasa / sepi pengaturan menggunakan 2 jalur Hijau dan 2 jalur Merah.&lt;br /&gt;Jika Padat maka pengaturan 1 jalur Hijau dan 3 jalur Merah.&lt;br /&gt;Jika Padat sekali maka..... Pusing juga..&lt;br /&gt;Pengaturan 1 Hijau (Lama) dan 3 Merah atau&lt;br /&gt;2 Hijau dan 2 Merah tetapi Hijaunya ada 2 yaitu Hijau Lurus saja dan Hijau belok Kanan Saja (Gambar ilustrasi dibawah).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-gmzSgKuX50k/TW87wCv4OlI/AAAAAAAAAxQ/c4nvPX5KLiw/s1600/Perempatan.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 128px; height: 96px;" src="http://2.bp.blogspot.com/-gmzSgKuX50k/TW87wCv4OlI/AAAAAAAAAxQ/c4nvPX5KLiw/s200/Perempatan.JPG" alt="" id="BLOGGER_PHOTO_ID_5579744159892781650" border="0" /&gt;&lt;/a&gt;Garis Kuning adalah Gambar Hijau Lurus Saja yaitu lampu hijau yang menyala berupa tanda panah lurus sehingga kendaraan hanya berjalan lurus (Kanan berhenti).&lt;br /&gt;Garis Ungu adalah Gambar Hijau Belok Kanan Saja yaitu Lampu Hijau yang menyala berupa tanda panah Kanan sehingga kendaraan hanya belok kanan (Lurus berhenti).&lt;br /&gt;Belok kiri jalan terus.&lt;br /&gt;&lt;br /&gt;Pada mode ini yang paling sulit dan dibutuhkan penelitian untuk mempelajari karakter perempatan daerah tersebut.&lt;br /&gt;&lt;br /&gt;Sekarang saya akan mencoba merancang sistem pengaturan Lampu Lalu lintas yang mempermudah berbagai aspek, termasuk pengembangan kedepannya yang fleksibel.&lt;br /&gt;&lt;br /&gt;Di Post selanjutnya ya..&lt;br /&gt;&lt;br /&gt;Semoga membantu ...^^v...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-5899889060427155124?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/5899889060427155124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/5899889060427155124'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2011/02/trafic-light-introduction.html' title='Trafic Light : Introduction'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-gmzSgKuX50k/TW87wCv4OlI/AAAAAAAAAxQ/c4nvPX5KLiw/s72-c/Perempatan.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-4188118225937164616</id><published>2011-02-17T23:37:00.000-08:00</published><updated>2011-02-21T01:20:47.349-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Komunikasi Data'/><category scheme='http://www.blogger.com/atom/ns#' term='EEPROM'/><title type='text'>EEPROM : Penjelasan EEPROM dan Error Data</title><content type='html'>.&lt;br /&gt;Sebelum menjelaskan mengapa pada post &lt;a href="http://payztronics.blogspot.com/2011/02/eeprom-error-data-saat-penyimpanan.html"&gt;EEPROM : Error data saat penyimpanan&lt;/a&gt; kok bisa terjadi error saat penyimpanan data padahal coding-nya tidak jauh berbeda dan justru coding yang tepat malah terkesan lebih panjang dibanding coding yang tidak tepat.&lt;br /&gt;&lt;br /&gt;Coding Tidak Tepat (kiri)  dan Coding yang Tepat (kanan)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-jGYliIcI71k/TV4mhUkJTLI/AAAAAAAAAw4/HfzkcMVafrY/s1600/EEPROM%2BCoding%2B1.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 160px; height: 93px;" src="http://3.bp.blogspot.com/-jGYliIcI71k/TV4mhUkJTLI/AAAAAAAAAw4/HfzkcMVafrY/s200/EEPROM%2BCoding%2B1.JPG" alt="" id="BLOGGER_PHOTO_ID_5574935742629104818" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-ybyNsZWn34w/TV4mhnfRmlI/AAAAAAAAAxA/TPtGdgNP_8Q/s1600/EEPROM%2BCoding%2B2.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 165px; height: 96px;" src="http://4.bp.blogspot.com/-ybyNsZWn34w/TV4mhnfRmlI/AAAAAAAAAxA/TPtGdgNP_8Q/s200/EEPROM%2BCoding%2B2.JPG" alt="" id="BLOGGER_PHOTO_ID_5574935747708951122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Memang pada posting &lt;a href="http://payztronics.blogspot.com/2010/04/eeprom-mengakses-eeprom-avr.html"&gt;EEPROM  : Mengakses EEPROM AVR&lt;/a&gt; menggunakan EEPROM sangatlah mudah, sama seperti menentukan variabel biasa yang hanya ditambahkan kata &lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;eeprom&lt;/span&gt; &lt;/span&gt;atau &lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(204, 102, 204);"&gt;_eeprom&lt;/span&gt; &lt;/span&gt;di depan variabel tersebut.&lt;br /&gt;Tapi mengakses EEPROM tidaklah semudah seperti membuat variabel untuk EEPROM. Oleh sebab itu perlu diketahui apa itu EEPROM di mikrokontroller AVR.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;EEPROM pada AVR&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Sumber : &lt;a href="http://en.wikibooks.org/wiki/Atmel_AVR"&gt;&lt;span style="font-weight: bold;"&gt;en.wikibooks.org&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Hampir semua mikrokontroller AVR memiliki EEPROM internal kecuali ATtiny11 dan ATtiny28. EEPROM pada AVR adalah penyimpanan data yang bersifat semi-permanent dan non-volatile yaitu mampu menyimpan data meskipun tidak diberikan power supply.&lt;br /&gt;&lt;br /&gt;Alamat memory EEPROM tidak terpetakan (mapped) didalam memori program maupun memori data sehingga meskipun EEPROM AVR adalah internal EEPROM tetapi mengaksesnya seperti mengakses external EEPROM yang menggunakan register IO, register pointer spesial, dan instruksi read/write yang menyebabkan mengakses EEPROM lebih lambat dibanding mengakses internal RAM.&lt;br /&gt;&lt;br /&gt;EEPROM AVR dapat ditulis hingga minimal 100.000 kali dan agar batas limit ini dapat dicapai, sebaiknya anda menggunakan &lt;span style="font-weight: bold;"&gt;skema wear-leveling&lt;/span&gt; ketika menulis di internal EEPROM AVR. Ketika mikrokontroller dipabrikasi dan dijual oleh Atmel, kondisi EEPROM telah terhapus dengan nilai semua EEPROM adalah 0xFF (logika 1 semua bukan logika 0).&lt;br /&gt;&lt;br /&gt;Beberapa AVR memiliki errata (koreksi) tentang menulis/write di EEPROM pada alamat 0 ketika kondisi daya tertentu (biasanya ketika brownout), sehingga Atmel merkomondasikan untuk tidak menulis EEPROM pada alamat 0. Contohnya : &lt;a href="http://www.ozitronics.com/data/at90s1200%20errata.pdf"&gt;Errata AT90S1200&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Penjelasan Error Data&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Dari penjelasan EEPROM pada AVR maka jelaslah bahwa menulis di internal EEPROM lebih lambat dibanding menulis data di internal RAM, karena meskipun internal EEPROM tetapi mengaksesnya seperti mengakses eksternal EEPROM.&lt;br /&gt;&lt;br /&gt;Pada contoh aplikasi di post : &lt;a href="http://payztronics.blogspot.com/2011/02/eeprom-error-data-saat-penyimpanan.html"&gt;EEPROM  : Error data saat penyimpanan&lt;/a&gt;, ketika data UART dari komputer dikirim terus-menerus ke mikrokontroller yang kemudian mikrokontroller menyimpan data tersebut langsung ke EEPROM, maka saat mikrokontroller sedang "sibuk menulis" data ke EEPROM ternyata komputer masih terus-menerus memberikan data ke MCU sehingga menghasilkan data error di alamat tertentu pada memori EEPROM AVR.&lt;br /&gt;&lt;br /&gt;Hal inilah yang menyebabkan:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Semakin panjang data yang dikirim dari komputer ke MCU maka semakin besar pula error yang dihasilkan.&lt;/li&gt;&lt;li&gt;Semakin cepat komunikasi komputer dengan MCU (baudratenya cepat) errornya juga semakin besar.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-18Jv9eNQhy0/TWIsN4-8A4I/AAAAAAAAAxI/F8WaFT4-_B4/s1600/EEPROM.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 70px;" src="http://4.bp.blogspot.com/-18Jv9eNQhy0/TWIsN4-8A4I/AAAAAAAAAxI/F8WaFT4-_B4/s200/EEPROM.JPG" alt="" id="BLOGGER_PHOTO_ID_5576067905784382338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Solusinya yaitu : Ketika komunikasi / transfer data sedang berlangsung, data yang diterima dari komputer disimpan dulu di internal RAM, dan ketika komunikasi / transfer data selesai barulah data dari internal RAM dipindahkan ke Internal EEPROM.&lt;br /&gt;&lt;br /&gt;Oiya coba cari referensi / literatur tentang &lt;span style="font-weight: bold;"&gt;skema wear-leveling, &lt;/span&gt;itu sangat menarik untuk mengetahui teknik penyimpanan data ke EEPROM agar umur EEPROM bisa panjang / bisa mencapai batas maksimum penulisan EEPROM.&lt;br /&gt;&lt;br /&gt;Semoga membantu ...^^v...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-4188118225937164616?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/4188118225937164616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/4188118225937164616'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2011/02/eeprom-penjelasan-eeprom-dan-error-data.html' title='EEPROM : Penjelasan EEPROM dan Error Data'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-jGYliIcI71k/TV4mhUkJTLI/AAAAAAAAAw4/HfzkcMVafrY/s72-c/EEPROM%2BCoding%2B1.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-1373591804409491873</id><published>2011-02-17T05:52:00.000-08:00</published><updated>2011-02-21T01:12:38.008-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Komunikasi Data'/><category scheme='http://www.blogger.com/atom/ns#' term='EEPROM'/><title type='text'>EEPROM : Error data saat penyimpanan</title><content type='html'>.&lt;br /&gt;Cara menggunakan /  mengakses EEPROM sudah saya bahas di post&lt;br /&gt;&lt;a href="http://payztronics.blogspot.com/2010/04/eeprom-mengakses-eeprom-avr.html"&gt;EEPROM : Mengakses EEPROM AVR.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Yang ingin saya bahas pada post ini adalah beberapa masalah yang biasa terjadi atau bahkan sering anda alami tetapi tidak anda sadari.&lt;br /&gt;Dan lebih berbahayanya adalah anda tidak menyadari masalah ini yang mungkin bikin pusing anda ketika memprogram mikrokontroller / hardware anda.&lt;br /&gt;&lt;br /&gt;Masalahnya yang ingin saya bahas yaitu data yang disimpan di EEPROM  tidak sesuai dengan data yang kemudian dibaca dari EEPROM tersebut.&lt;br /&gt;Saat anda ingin menulis data di EEPROM misalnya :&lt;br /&gt;"SAYA MENULIS KALIMAT INI DAN TERSIMPAN DI EEPROM."&lt;br /&gt;tetapi ketika mencoba membaca data tersebut untuk ditampilkan di LCD atau dikirim ke komputer, ternyata datanya tidak sesuai atau bahkan kacau balau.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Contoh Kasus &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Anda ingin merancang suatu sistem yang pengontrollan berdasarkan waktu atau Time Scheduling Control misalnya seperti ingin mematikan atau menyalakan beberapa lampu di beberapa ruangan yang dikendalikan oleh mikrokontroller.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-zT0DQAPJjpc/TV4Y5zAavGI/AAAAAAAAAww/oA4TuhF0u7Q/s1600/EEPROM%2BUART.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 240px; height: 64px;" src="http://2.bp.blogspot.com/-zT0DQAPJjpc/TV4Y5zAavGI/AAAAAAAAAww/oA4TuhF0u7Q/s200/EEPROM%2BUART.JPG" alt="" id="BLOGGER_PHOTO_ID_5574920769954823266" border="0" /&gt;&lt;/a&gt;Transfer data melalui port USB atau port COM.&lt;br /&gt;Sesuai keinginan anda.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Data Bulan, Hari, Tanggal, Jam, dan Menit ditentukan oleh User melalui software komputer yang kemudian software mentransfer data tersebut ke MCU (Microcontroller Unit). Oleh MCU data tersebut disimpan di dalam EEPROM agar dapat disimpan secara (semi) permanen dan data dapat digunakan ketika sistem / perangkat dinyalakan setelah power supplynya Off (dicabut).&lt;br /&gt;&lt;br /&gt;Data yang dikirim oleh komputer misalnya protokolnya seperti berikut : &lt;span style="font-weight: bold;"&gt;#02,16,04,08,00;ON;01,02,03,04,05~&lt;/span&gt;&lt;br /&gt;Artinya :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;# : Karakter awal / Start Byte berfungsi untuk informasi ke MCU bahwa Komputer akan mengirimkan serangkaian data ke MCU.&lt;/li&gt;&lt;li&gt;, (koma) : Karakter pemisah antar data.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;02,16,04, : Bulan ke 2 (Februari), tanggal 16, hari ke-4 (rabu, minggu hari ke-1)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;08,00 : Jam 8 menit ke 00 (tepat jam 8 pagi).&lt;/li&gt;&lt;li&gt;;  (titik koma) : Karakter pemisah Perintah&lt;/li&gt;&lt;li&gt;ON : Perintah On untuk menyalakan lampu dan OF (2 karakter dan bukan OFF) untuk mematikan lampu.&lt;/li&gt;&lt;li&gt;01,02,03,04,05 : Ruangan yang di On-kan adalah ruang 1, 2, 3, 4, dan 5.&lt;/li&gt;&lt;li&gt;~ : Karakter akhir data / Stop Byte berfungsi untuk informasi ke MCU bahwa data telah selesai di kirimkan.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Coding yang Tidak Tepat dan Coding yang Tepat&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-jGYliIcI71k/TV4mhUkJTLI/AAAAAAAAAw4/HfzkcMVafrY/s1600/EEPROM%2BCoding%2B1.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 199px; height: 116px;" src="http://3.bp.blogspot.com/-jGYliIcI71k/TV4mhUkJTLI/AAAAAAAAAw4/HfzkcMVafrY/s200/EEPROM%2BCoding%2B1.JPG" alt="" id="BLOGGER_PHOTO_ID_5574935742629104818" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Jika anda memprogram seperti coding di atas maka data yang tersimpan di EEPROM kemungkinan ERROR-nya mencapai 40-80 % (Xixixixixi... survey asal-asalan) tergantung panjang data yang ditransfer lalu disimpan di EEPROM. Artinya semakin panjang data yang di transfer terus-menerus ke MCU dan kemudian di simpan di EEPROM maka semakin besar pula kesalahan data-data yang tersimpan di EEPROM. Oleh sebab itu saya sarankan untuk memprogram seperti Coding berikut :&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-ybyNsZWn34w/TV4mhnfRmlI/AAAAAAAAAxA/TPtGdgNP_8Q/s1600/EEPROM%2BCoding%2B2.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 202px; height: 120px;" src="http://4.bp.blogspot.com/-ybyNsZWn34w/TV4mhnfRmlI/AAAAAAAAAxA/TPtGdgNP_8Q/s200/EEPROM%2BCoding%2B2.JPG" alt="" id="BLOGGER_PHOTO_ID_5574935747708951122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Penjelasannya di Post :&lt;br /&gt;&lt;a href="http://payztronics.blogspot.com/2011/02/eeprom-penjelasan-eeprom-dan-error-data.html"&gt;EEPROM : Penjelasan EEPROM dan Error Data&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Panjaaaang nih..&lt;br /&gt;Semoga membantu ...^^v...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-1373591804409491873?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/1373591804409491873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/1373591804409491873'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2011/02/eeprom-error-data-saat-penyimpanan.html' title='EEPROM : Error data saat penyimpanan'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-zT0DQAPJjpc/TV4Y5zAavGI/AAAAAAAAAww/oA4TuhF0u7Q/s72-c/EEPROM%2BUART.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-7840258554710510222</id><published>2011-02-02T08:26:00.000-08:00</published><updated>2011-02-16T17:50:45.771-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial CoViAVR'/><category scheme='http://www.blogger.com/atom/ns#' term='Komunikasi Data'/><title type='text'>ATmega128 / 1280 : Multi USART / UART</title><content type='html'>.&lt;br /&gt;Anda mungkin pernah mengakses ATmega128 yang memiliki 2 USART (Universal Synchronous Asynchronous serial Receiver and  Transmitter) atau bahkan 4 USART seperti yang dimiliki ATmega1280.&lt;br /&gt;&lt;br /&gt;Bagaimana cara mengakses setiap USART tersebut dan bagaimana menentukan proses pengiriman data / karakter pada setiap USART tersebut ?&lt;br /&gt;Jika belum pernah mencoba multi USART maka anda tidak akan tahu masalah-masalahnya dan kesulitan yang akan dihadapi.&lt;br /&gt;Jadi klo ada waktu dan dana sebaiknya dicoba deh..&lt;br /&gt;Bermanfaat kok n ga bakal rugi...&lt;br /&gt;Aplikasinya pasti luaaaaassss banget..&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Perbedaan USART dan UART ?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Baca topik : &lt;a href="http://payztronics.blogspot.com/search/label/Komunikasi%20Data"&gt;Komunikasi Data&lt;/a&gt;.&lt;br /&gt;Beberapa rekan-rekan masih menanyakan apa itu USART dan apa bedanya  dengan UART ?&lt;br /&gt;Klo saya misalkan seperti bertanya apa perbedaan sepeda biasa dengan sepeda bermotor listrik seperti pada gambar.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-Mg8_YifofjE/TVt_JlnFLZI/AAAAAAAAAvw/6t5m7yVEVP0/s1600/sepeda%252Bmotor.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 132px; height: 78px;" src="http://1.bp.blogspot.com/-Mg8_YifofjE/TVt_JlnFLZI/AAAAAAAAAvw/6t5m7yVEVP0/s200/sepeda%252Bmotor.JPG" alt="" id="BLOGGER_PHOTO_ID_5574188766492700050" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-WgRICXiW3pU/TVt_JI2v10I/AAAAAAAAAvo/jRVt62bWZcE/s1600/sepeda%2Bbiasa.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 112px; height: 77px;" src="http://1.bp.blogspot.com/-WgRICXiW3pU/TVt_JI2v10I/AAAAAAAAAvo/jRVt62bWZcE/s200/sepeda%2Bbiasa.JPG" alt="" id="BLOGGER_PHOTO_ID_5574188758773782338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sepeda bermotor listrik  adalah sepeda biasa yg memiliki motor listrik, artinya bisa digunakan seperti sepeda biasa atau menggunakan motor listriknya sesuai keinginan.&lt;br /&gt;Sumber gambar : &lt;a href="http://wb4.itrademarket.com/sgimage/51/71351_kitterpasang.jpg"&gt;Sepeda Listrik&lt;/a&gt; dan &lt;a href="http://azrahidayat.files.wordpress.com/2010/04/sepeda-onthel.gif"&gt;Sepeda Onthel&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Dari kepanjangannya saja sudah menjelaskan perbedaannya,&lt;br /&gt;UART : Universal Asynchronous serial Receiver and  Transmitter&lt;br /&gt;USART : Universal Synchronous Asynchronous serial Receiver and  Transmitter&lt;br /&gt;&lt;br /&gt;Mikrokontroller yang memiliki fitur UART berarti hanya tersedia fungsi untuk komunikasi serial asinkron sedangkan untuk komunikasi lainnya anda harus membuat program sendiri.&lt;br /&gt;&lt;br /&gt;Sedangkan USART selain tersedia fitur / fungsi komunikasi serial asinkron (UART) juga bisa digunakan serial sinkron (USRT) dan PIN / PORT yang digunakan adalah sama.&lt;br /&gt;Oiya USART pada mikrokontroller AVR semuanya adalah FullDuplex.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Langkah Coding pada CVAVR&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Saya akan membahas untuk mikrokontroller ATmega1280 karena sudah saya coba dan cukup mewakili untuk multi USART mikro AVR lainnya.&lt;br /&gt;Langkah-langkah :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-4TQllw0pCNw/TVuF1lAISsI/AAAAAAAAAv4/RxuZ4imxseg/s1600/ATmega1280%2BUSART.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 238px; height: 76px;" src="http://4.bp.blogspot.com/-4TQllw0pCNw/TVuF1lAISsI/AAAAAAAAAv4/RxuZ4imxseg/s200/ATmega1280%2BUSART.JPG" alt="" id="BLOGGER_PHOTO_ID_5574196119313337026" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Jalankan CoViAVR, buat Project baru, dan gunakan CodeWizzard. Pilih chip : ATmega1280, clock 11.0592 MHz.&lt;/li&gt;&lt;li&gt;Secara otomatis akan tampil tab USART0, USART1, USART2, dan USART3, lakukan pengaturan sesuai keinginan dan kebutuhan anda.&lt;/li&gt;&lt;li&gt;Pada gambar di atas, baudratenya &lt;span style="font-weight: bold;"&gt;saya buat berbeda-beda silahkan anda pilih baud&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;rate-nya sama semua&lt;/span&gt; (agar mudah pengujiannya) yaitu Protokol : Baudrate :9600,8N1.&lt;/li&gt;&lt;li&gt;Jika telah selesai kemudian File-Generate, Save and Exit.&lt;/li&gt;&lt;li&gt;Secara otomatis akan muncul beberapa fungsi antara lain : getchar1(void), getchar2(void), getchar3(void), putchar1(void), putchar2(void), dan putchar3(void).&lt;/li&gt;&lt;li&gt;Buat fungsi untuk mengirim "kata" / "kalimat" yaitu putsf1(), putsf2(), dan putsf3().&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-kF774uTyQeM/TVuNytjVW0I/AAAAAAAAAwA/pu01fQjUEfY/s1600/ATmega1280%2BCoding.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 71px; height: 110px;" src="http://1.bp.blogspot.com/-kF774uTyQeM/TVuNytjVW0I/AAAAAAAAAwA/pu01fQjUEfY/s200/ATmega1280%2BCoding.JPG" alt="" id="BLOGGER_PHOTO_ID_5574204866161892162" border="0" /&gt;&lt;/a&gt;Klik gambar untuk melihatnya.&lt;br /&gt;Ketika anda meng-Compile-nya akan muncul 3 buah pesan Warning untuk  fungsi putsf1, putsf2, dan putsf3 yang bisa diabaikan.&lt;br /&gt;&lt;br /&gt;Wahh... ternyata tidak jelas gambarnya... Mungkin kebesaaran kali ya. Saya pecah jadi 4 gambar deh..&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-wLZSDm1kMIE/TVx-C778A0I/AAAAAAAAAwQ/EO_b0duNRrk/s1600/ATmega1280%2BCoding_1.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 170px; height: 200px;" src="http://2.bp.blogspot.com/-wLZSDm1kMIE/TVx-C778A0I/AAAAAAAAAwQ/EO_b0duNRrk/s200/ATmega1280%2BCoding_1.JPG" alt="" id="BLOGGER_PHOTO_ID_5574469027691758402" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-RzpAKmutlew/TVx-DAb__9I/AAAAAAAAAwY/KfRi4ku6FCQ/s1600/ATmega1280%2BCoding_2.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 128px; height: 200px;" src="http://2.bp.blogspot.com/-RzpAKmutlew/TVx-DAb__9I/AAAAAAAAAwY/KfRi4ku6FCQ/s200/ATmega1280%2BCoding_2.JPG" alt="" id="BLOGGER_PHOTO_ID_5574469028899979218" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-nm38x7Ugt2g/TVx-Drso_aI/AAAAAAAAAwg/nPHcQfm5A7I/s1600/ATmega1280%2BCoding_3.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 160px; height: 200px;" src="http://1.bp.blogspot.com/-nm38x7Ugt2g/TVx-Drso_aI/AAAAAAAAAwg/nPHcQfm5A7I/s200/ATmega1280%2BCoding_3.JPG" alt="" id="BLOGGER_PHOTO_ID_5574469040512499106" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-SoKPDjyrnSY/TVx-D6loQYI/AAAAAAAAAwo/KXtXwBM17w4/s1600/ATmega1280%2BCoding_4.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 174px; height: 200px;" src="http://2.bp.blogspot.com/-SoKPDjyrnSY/TVx-D6loQYI/AAAAAAAAAwo/KXtXwBM17w4/s200/ATmega1280%2BCoding_4.JPG" alt="" id="BLOGGER_PHOTO_ID_5574469044509622658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Penjelasan Singkat&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Coding tersebut akan mengirim kata "test USART0" atau "test USART1" atau "test USART2" atau "test USART3" setiap 500 mS untuk semua USART atau setiap 2000 mS untuk salah satu USART.&lt;br /&gt;&lt;br /&gt;Saya memberikan nilai Baudrate yang berbeda-beda untuk setiap USART sehingga ketika dicoba menggunakan Hyperterminal atau program terminal yang tersedia pada CoViAVR jangan lupa untuk mengubah baudratenya sesuai dengan PORT USART yang dihubungkan.&lt;br /&gt;Hal ini untuk menunjukkan bahwa mikrokontroller AVR yang memiliki banyak USART mampu untuk transfer data dengan protokol yang berbeda-beda untuk setiap port USART-nya karena secara internal, setiap USART memiliki register dan rangkaian tersendiri yang independen.&lt;br /&gt;Selain itu setiap USART juga mampu untuk mengirim data (hampir) secara bersamaan.&lt;br /&gt;&lt;br /&gt;CMIWW.. aj deh...&lt;br /&gt;Semoga  membantu ...^^v...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-7840258554710510222?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/7840258554710510222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/7840258554710510222'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2011/01/atmega128-1280-multi-usart-uart.html' title='ATmega128 / 1280 : Multi USART / UART'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-Mg8_YifofjE/TVt_JlnFLZI/AAAAAAAAAvw/6t5m7yVEVP0/s72-c/sepeda%252Bmotor.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-8500497636543449688</id><published>2011-01-08T01:06:00.000-08:00</published><updated>2011-02-17T05:55:30.093-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Catatan Payz'/><title type='text'>Too PayZ : Catatan Awal Tahun III</title><content type='html'>.&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Tertarik dibuatkan perangkat berbasis Mikrokontroller AVR, MCS51, dan Software Delphi ?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sudah banyak alat / perangkat yang saya buat berbasis mikrokontroller AVR dan MCS51 dengan software menggunakan bahasa Assembler MCS51 dan Bahasa C AVR serta interface dengan komputer menggunakan bahasa pemrograman Delphi.&lt;br /&gt;&lt;br /&gt;Selain itu saya sangat tertarik membuat peralatan menggunakan :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;GPS&lt;/li&gt;&lt;li&gt;RFID&lt;/li&gt;&lt;li&gt;TriCopter / QuadCopter&lt;/li&gt;&lt;li&gt;SDCard / MMCCard&lt;/li&gt;&lt;li&gt;LCD TFT&lt;/li&gt;&lt;li&gt;Robot beroda / Robot berkaki&lt;/li&gt;&lt;li&gt;Lengan Robot&lt;/li&gt;&lt;li&gt;dll (yang menarik-menarik)&lt;/li&gt;&lt;/ul&gt;Jika anda tertarik untuk dibuatkan alat / peralatan yang diiinginkan terutama yang menarik saya dengan waktu pengerjaan minimal 2 bulan,&lt;br /&gt;silahkan menghubungi saya di :&lt;br /&gt;Email : Too_payz@yahoo.com&lt;br /&gt;Hp      : 081228715500 (SMS only no CALL)&lt;br /&gt;Domisili : Semarang, Jawa Tengah, Indonesia&lt;br /&gt;&lt;br /&gt;Semoga membantu ...^^v...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-8500497636543449688?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8500497636543449688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8500497636543449688'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2011/02/too-payz-catatan-awal-tahun-iii.html' title='Too PayZ : Catatan Awal Tahun III'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-5016947256429197947</id><published>2011-01-05T10:24:00.000-08:00</published><updated>2011-01-26T21:12:30.364-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Catatan Payz'/><title type='text'>Too Payz : Catatan Awal Tahun II</title><content type='html'>.&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Perangkat yang sudah dibuat (tidak urut) :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Mikrokontroller MCS51&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Jam Digital tampilan LCD 16x2.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Jam Azan Waktu Abadi + Alarm tampilan Seven Segmen.&lt;/li&gt;&lt;li&gt;Kendali Lampu On-Off berdasarkan waktu (RTC).&lt;/li&gt;&lt;li&gt;Switching banyak Interkom.&lt;/li&gt;&lt;li&gt;Box Penjual Minuman berbasis SMS (Mode PDU).&lt;/li&gt;&lt;li&gt;Programmer uC AT89C51 mode HighVoltage menggunakan MCU AT89S51.&lt;/li&gt;&lt;li&gt;Lift 3 tingkat Soft-Star dan Soft-Stop.&lt;/li&gt;&lt;li&gt;Modul Praktikum Mikrokontroller berbasis MCU AVR dan MCS51 untuk Universitas.&lt;/li&gt;&lt;/ol&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Mikrokontroller AVR&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Box Penjual Minuman berbasis SMS (mode Teks).&lt;/li&gt;&lt;li&gt;Alarm Mobil via SMS dgn MCU (Mode Teks).&lt;/li&gt;&lt;li&gt;Alat ukur tinggi badan Otomatis.&lt;/li&gt;&lt;li&gt;Kendali kecepatan motor DC menggunakan metode PI.&lt;/li&gt;&lt;li&gt;Kendali kecepatan motor DC menggunakan metode Fuzzy.&lt;/li&gt;&lt;li&gt;Kendali Level Cairan menggunakan motor servo posisi.&lt;/li&gt;&lt;li&gt;Kendali Level Cairan menggunakan motor stepper Unipolar.&lt;/li&gt;&lt;li&gt;Kendali Level Cairan menggunakan Motor 220AC metode PI.&lt;/li&gt;&lt;li&gt;Kontrol banyak Lampu 220AC secara SCADA / DCS.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Modul Praktikum digital PID dan Fuzzy untuk Universitas.&lt;/li&gt;&lt;li&gt;Modul Praktikum Mikrokontroller berbasis MCU AVR dan MCS51 untuk Universitas.&lt;/li&gt;&lt;li&gt;Mobil  Robot pendeteksi keberadaan dan posisi dinding terhadap robot dan  menampilkannya / menggambarkannya di komputer secara realtime (Mapping  Labirin).&lt;/li&gt;&lt;li&gt;Monitoring serta kontrol On Off untuk menjaga suhu dan kelembaban menggunakan media SMS (Mode Teks).&lt;/li&gt;&lt;li&gt;Monitoring dan kontrol Suhu menggunakan metode PI menggunakan termocouple (suhu &gt; 200 derajat).&lt;/li&gt;&lt;li&gt;Monitoring dan kontrol Suhu menggunakan metode Fuzzy menggunakan termocouple (suhu &gt; 200 derajat).&lt;/li&gt;&lt;li&gt;Timbangan digital untuk pengepakan gula menggunakan Strain Gauge.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Voltmeter digital yang terkoneksi dengan komputer via USB untuk akuisisi data.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Pengaturan kecepatan motor DC menggunakan PWM tampilan seven segmen.&lt;/li&gt;&lt;li&gt;Monitoring dan Pengontrolan switching On-Off phase R, S, T (3 phase) dan Off jika kurang dari 5% tegangan maksimum.&lt;/li&gt;&lt;li&gt;Running Text Dot Matriks input teks dari komputer dgn MCU ATmega8.&lt;/li&gt;&lt;li&gt;Pengaturan Traffic Light Kali Banteng (8 Lampu lalu lintas) secara wireless otomatis / manual.&lt;/li&gt;&lt;/ol&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Software Delphi murni, Dll&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Jam Digital menggunakan IC 74HC193 dan sumber Clock 555 (iseng ^^ ).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Kontrol Lampu On-Off menggunakan port paralell dgn Delphi 7.&lt;/li&gt;&lt;li&gt;Kontrol  On-Off AC (Air Condotioner) dgn mendeteksi keberadaan manusia  menggunakan sensor PIR menggunakan perangkat modul LabView.&lt;/li&gt;&lt;li&gt;Pabrikasi penimbangan dan pengepakan / pembungkusan gula menggunakan PLC Omron.&lt;/li&gt;&lt;li&gt;Monitoring respon sistem berbasis Fuzzy dan PID dengan tabel konversi ke Excel dan grafik 2 dimensi.&lt;/li&gt;&lt;li&gt;Monitoring temperatur / suhu berbasis sensor TPA81 dengan tabel konversi ke Excel, grafik 2 dimensi dan tampilan  perubahan warna Hijau hingga Merah sebanyak 8 pixel.&lt;/li&gt;&lt;li&gt;GUI Dot Matriks running text generator.&lt;/li&gt;&lt;li&gt;GUI pengaturan Traffic Light dengan fleksibilitas tinggi untuk 3 - 12 lampu merah secara wireless.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Yang sedang dikerjakan.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Menggunakan modul Tranciever Wireless FSK (bukannya menggunakan GPS) untuk memetakan posisi roket menggunakan prinsip triangular. (Lama nih karena project dan memang tergolong sulit + rumit serta masalah pada dana jadi uji cobanya jaraaaang banget).&lt;/li&gt;&lt;li&gt;Membunuh / mengurangi sel kanker menggunakan gelombang microve 2,4 GHz dengan metode Fuzzy.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Perangkat dan aplikasi sederhana lainnya.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Tertarik membuat alat menggunakan&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;RFID, karena dipikiran-ku lagi ada aplikasi RFID yang menurutku sangat menarik dan sangat bermanfaat. Selain itu belum pernah mengakses RFID, jadi ingin mencoba.&lt;/li&gt;&lt;li&gt;GPS, karena cukup tertarik dan belum pernah mengakses.&lt;/li&gt;&lt;li&gt;TriCopter dan sejenisnya, Pengen banget buat ini tapi mahal oii...&lt;/li&gt;&lt;li&gt;SDcard / MMCcard, tertarik mengakses-nya dan belum pernah mengerjakan karena belum ada kasus nih..&lt;br /&gt;&lt;/li&gt;&lt;li&gt;LCD TFT (seperti monitor), karena menurut saya LCD adalah perangkat yang wajib dimasa mendatang dan saya juga lagi ingin merancang aplikasi yang sangat menarik dan pasti laku dipasaran karena hampir menyentuh semua aspek. Bayangkan jika anda memilih menu makanan tidak lagi menggunakan kertas atau buku tetapi menggunakan LCD tipis yang ringan dan disertai animasi. Atau ketika sekolah tidak diperlukan lagi buku tulis / buku pelajaran tetapi menggunakan LCD yang dilekatkan di meja sehingga menghemat biaya buku dan lain-lain dalam waktu yang lama (umur LCD umumnya minimal 5 tahun).&lt;/li&gt;&lt;li&gt;Banyak lagi deh..&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;nb :&lt;br /&gt;MCU : Microcontroller Unit&lt;br /&gt;uC : Mikrokontroller&lt;br /&gt;&lt;br /&gt;Mudah-mudahan bisa jadi inspirasi judul TA dan lainnya.&lt;br /&gt;Semoga membantu ...^^v...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-5016947256429197947?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/5016947256429197947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/5016947256429197947'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2011/01/too-payz-catatan-awal-tahun-ii.html' title='Too Payz : Catatan Awal Tahun II'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-3158996793958009911</id><published>2011-01-01T09:34:00.000-08:00</published><updated>2011-01-26T21:07:31.621-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Catatan Payz'/><title type='text'>Too PayZ : Catatan Awal Tahun I</title><content type='html'>&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Curhat Dlo Ah&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Sudah cukup banyak yang telah saya posting.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Saya orang teknik menyukai hal-hal teknik khususnya elektronika digital sehingga menulis apalagi memposting di blog bukanlah tipe saya.&lt;br /&gt;&lt;br /&gt;Saya sangat tidak suka mengetik terutama mengetik laporan.&lt;br /&gt;Saya bisa membuat alat Tugas Akhir berbasis elektronika digital kurang dari 1 bulan tetapi bisa mengerjakan laporan lebih dari 3 bulan karena ketika mulai mengetik, semangatku menurun drastis dan tiba-tiba ngantuk atau ingin main di game center.&lt;br /&gt;Tapi hal yang saya paling benci adalah masalah BIROKRASI yang rumit (atau diperumit) yang menyebabkan saya kuliah cukup lama (Derita kebanyakan Mahasiswa), yah tapi apalah daya, bahasnya aja MALAS.&lt;br /&gt;&lt;br /&gt;Saya sangat menyukai Robotika, Teknologi Eletronika, dan sejenisnya. Dan kalo uda masalah ini bisa lupa segalanya.  Saya suka sekali mengerjakan peralatan / perangkat / aplikasi-aplikasi yang menurut saya menarik dan belum pernah saya kerjakan. Tetapi kadang aplikasi yang menarik selalu melibatkan masalah mekanik (dan bukan bidang saya) sehingga selalu menghambat proses pengerjaan alat tersebut yang menurut saya harusnya cepat selesai.&lt;br /&gt;&lt;br /&gt;Terkadang juga ketika saya mengerjakan alat melibatkan miniatur seperti rumah, gedung, perempatan jalan raya, dll yang mau tidak mau melibatkan arsitekur agar alatnya Indah dan menarik. Sehingga harus cari orang lagi, keluar biaya, dan menambah waktu pengerjaan. Jadi merupakan faktor penghambat. Kadang jika pemesan ingin cepat selsai, terpaksa buat seadanya yang penting elektronika dan fungsinya maksimal (kualitas turun deh).&lt;br /&gt;&lt;br /&gt;Mayoritas alat yang saya buat selalu melibatkan interface dengan komputer, baik melalui port paralel, serial, dan USB. Dan untuk membuat Software aplikasi, saya masih menggunakan Delphi 7 dan memprogram + mencoba menggunakan laptop dengan spesifikasi tergolong rendah seperti prosessor intel celeron, ram 256 dan VGA tempo dulu. Tujuannya adalah agar saya selalu berusaha membuat aplikasi yang tidak begitu memberatkan komputer yang saya gunakan. Kan nanti klo terlalu berat, komputernya langsung ngadat.&lt;br /&gt;Wakwakwakwakwaa..&lt;br /&gt;&lt;br /&gt;Saya selalu mengutamakan mutu dan kualitas jika ada yang saya buatkan alat, mulai dari PCB, kotak alat, mekanik, dan termasuk tampilan aplikasi software Delphi 7-nya (tapi disesuaikan dana tersedia). Dan masalah pada pembuatan software aplikasi Delphi 7 cukup banyak dan kadang vital.&lt;br /&gt;&lt;br /&gt;Antara lain :&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Icon.&lt;/span&gt;&lt;br /&gt;Icon banyak diinternet, tapi ada yang gratis dan ada yang berlisensi. nanti masalah klo menggunakan Icon berlisensi. Makanya kadang ragu-ragu.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;BackGround&lt;/span&gt;&lt;br /&gt;BackGround / WallPaper aplikasi biar bagus menggunakan gambar, dan kadang jika ingin sesuai kebutuhan harus membuat gambar sendiri. Saya ga bisa photoshop, corel, dan sejenisnya karena memang tidak ingin belajar itu (fokus elektronika aja). Ujung-ujungnya kalo kepepet, akhirnya menggunakan Paint, Cape deeehh..&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;DataBase&lt;/span&gt;&lt;br /&gt;Dulu pernah belajar database dan ternyata untuk membuat database yang bagus, terstruktur, rapi, memori kecil, lengkap, dll bagiku cukup memakan waktu yang tidak sedikit. Selain itu banyak aplikasi yang saya pakai tidak begitu membutuhkan database yang kompleks. Makanya sebisa mungkin menghindari penggunakan database. Kalo memang harus menggunakan database, mending cari ahlinya aja deh. Anak informatika (Jiaaah Biaya lagi).&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Aplikasi berbasis Web&lt;/span&gt;&lt;br /&gt;Sebenarnya aplikasi berbasis web menarik (pake banget) dan bukannya saya tidak bisa, tapi belum belajar karena belum ada perangkat yang saya buat berbasis web. Kalo ada barulah akan saya pelajari. Ada pesanan, barulah belajar karena masalah dana dan waktu.&lt;br /&gt;&lt;br /&gt;Alat yang sudah saya buat cukup banyak.&lt;br /&gt;Ada yang mirip-mirip, ada yang baru bikin berkali-kali, dll. Banyak deh.&lt;br /&gt;&lt;br /&gt;Sepertinya Cukup. Intinya :&lt;br /&gt;Sangat menyukai : Elektronika digital, Robotika, Teknologi Elektronika, dan sejenisnya.&lt;br /&gt;Tidak suka : Mengetik dan menyusun Laporan.&lt;br /&gt;Benci Banget : BiroKrasi, Politik, Korups*, Aparat Kor*p, dan sejenisnya.&lt;br /&gt;Faktor penghambat : Mekanik, Arsitektur, dan tampilan Delphi yang cantik.&lt;br /&gt;&lt;br /&gt;Thanks udah baca ...^^v...&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-3158996793958009911?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/3158996793958009911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/3158996793958009911'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2011/01/too-payz-catatan-awal-tahun-i.html' title='Too PayZ : Catatan Awal Tahun I'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-3711918893359767887</id><published>2010-10-25T20:58:00.000-07:00</published><updated>2011-06-19T01:50:26.431-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='TPA81'/><category scheme='http://www.blogger.com/atom/ns#' term='Sensor-sensor'/><title type='text'>TPA81 : Coding Kontrol Motor Servo</title><content type='html'>.&lt;br /&gt;Mungkin agak telat dan nanti akhir maret akan kupindahkan post ini di bulan Oktober 2010 bersamaan dengan penjelasan sensor TPA81.&lt;br /&gt;&lt;br /&gt;Penjelasan sebelumnya di post : &lt;a href="http://payztronics.blogspot.com/2010/10/tpa81-mengendalikan-motor-servo.html"&gt;TPA81 : Mengendalikan Motor Servo&lt;/a&gt;&lt;br /&gt;dan sekarang akan saya bahas cara mengendalikan motor servo melalui sensor TPA81.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #33ccff; font-size: 130%;"&gt;&lt;span style="font-weight: bold;"&gt;Coding TPA81 + Servo&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/-tsrNq0jDUdY/TX7mbqOfOBI/AAAAAAAAAy4/8be1kMQpAwU/s1600/TPA81%2Bkontrol%2BServo.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5584153950851905554" src="http://2.bp.blogspot.com/-tsrNq0jDUdY/TX7mbqOfOBI/AAAAAAAAAy4/8be1kMQpAwU/s200/TPA81%2Bkontrol%2BServo.JPG" style="cursor: pointer; float: left; height: 200px; margin: 0pt 10px 10px 0pt; width: 156px;" /&gt;&lt;/a&gt;Coding disamping TPA_address nya 0xD0&lt;br /&gt;&lt;br /&gt;fungsi &lt;span style="font-weight: bold;"&gt;unsigned char&lt;/span&gt; TPA_wirte(&lt;span style="font-weight: bold;"&gt;char &lt;/span&gt;value) ganti dengan &lt;span style="font-weight: bold;"&gt;void &lt;/span&gt;TPA_write(&lt;span style="font-weight: bold;"&gt;char &lt;/span&gt;value), berfungsi untuk menulis data pergerakan sudut servo dan besarnya sudut ditentukan dari nilai&lt;span style="font-weight: bold;"&gt; value&lt;/span&gt;-nya.&lt;br /&gt;&lt;br /&gt;Nilai value minimal adalah 0x00 atau 0 dan maksimal adalah 0x1F atau 31 nilai selain itu menyebabkan kontrol motor servo terhenti.&lt;br /&gt;&lt;br /&gt;Pengulangan servo dari nilai variabel loop dan nilai sudut servo dari variabel x. Selain itu pada fungsi TPA81_write terdapat tundaan 10mS yang dibutuhkan oleh  komunikasi I2C&lt;br /&gt;&lt;br /&gt;Coding disamping terdiri dari 3 bagian yaitu :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Kontrol motor servo dari nilai 0 hingga nilai 32 dengan tundaan antar nilai adalah 0 mS (sebenarnya 10mS). Fungsi ini akan diulang sebanyak 5 kali.&lt;/li&gt;&lt;li&gt;Kontrol motor servo dari nilai 0 hingga nilai 32 dengan tundaan antar  nilai adalah 100 mS (sebenarnya 110mS). Fungsi ini akan diulang sebanyak 3 kali.&lt;/li&gt;&lt;li&gt;Kontrol motor servo dari nilai 0 hingga nilai 32 dengan tundaan antar  nilai adalah 250 mS (sebenarnya 260mS). Fungsi ini akan diulang sebanyak 1 kali.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Coding diatas masukkan langsung di coding sebelumnya yaitu :&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_dNauCEz-yi0/TTdiMcBdjrI/AAAAAAAAAu0/MxTWz3HZCWU/s1600/TPA81%2BCoding.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5564023830459813554" src="http://4.bp.blogspot.com/_dNauCEz-yi0/TTdiMcBdjrI/AAAAAAAAAu0/MxTWz3HZCWU/s200/TPA81%2BCoding.JPG" style="cursor: pointer; float: left; height: 200px; margin: 0pt 10px 10px 0pt; width: 127px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Video-nya sudah saya buat dan nanti diupload.&lt;br /&gt;&lt;br /&gt;Semoga  membantu ...^^v...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-3711918893359767887?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/3711918893359767887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/3711918893359767887'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2011/03/tpa81-coding-kontrol-motor-servo.html' title='TPA81 : Coding Kontrol Motor Servo'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-tsrNq0jDUdY/TX7mbqOfOBI/AAAAAAAAAy4/8be1kMQpAwU/s72-c/TPA81%2Bkontrol%2BServo.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-2374372473142118526</id><published>2010-10-24T08:10:00.000-07:00</published><updated>2011-03-14T20:55:58.928-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TPA81'/><category scheme='http://www.blogger.com/atom/ns#' term='Sensor-sensor'/><title type='text'>TPA81 : Mengendalikan Motor Servo</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/TMAkM-Ff8fI/AAAAAAAAAuQ/eJGYQLiZq3M/s1600/TPA81+Interface.GIF"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 159px; height: 113px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/TMAkM-Ff8fI/AAAAAAAAAuQ/eJGYQLiZq3M/s200/TPA81+Interface.GIF" alt="" id="BLOGGER_PHOTO_ID_5530460147654062578" border="0" /&gt;&lt;/a&gt;Modul Sensor TPA81 adalah sensor thermopile array yang menggunakan mikrokontroller tipe PIC16F88. Selain berfungsi untuk mengakses dan membaca sensor suhu, juga ditambahkan fitur pengendalian motor servo. Oleh sebab itu terdapat pin kontrol motor servo.&lt;br /&gt;&lt;br /&gt;Pin ini disediakan dengan maksud sebagai pendukung kerja sensor TPA81 namun tidak menutup kemungkinan digunakan untuk keperluan yang anda inginkan.&lt;br /&gt;&lt;br /&gt;Motor servo yang digunakan berfungsi sebagai tempat sensor TPA81 diletakkan yang kemudian motor servo bergerak ke kiri-kanan (atau sesuai keinginan) sehingga dapat digunakan metode scanning untuk mendeteksi / membaca suhu.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Motor Servo&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Pada &lt;a style="font-weight: bold;" href="http://www.robotstorehk.com/sensors/doc/tpa81tech.pdf"&gt;datasheet sensor TPA81&lt;/a&gt;, contoh motor servo yang digunakan adalah motor servo Hitec HS-311 dengan spesifikasi berikut :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/TTxbL7l0gDI/AAAAAAAAAvU/cSLM5pJFbx8/s1600/Hitec%2BHS-311.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 76px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/TTxbL7l0gDI/AAAAAAAAAvU/cSLM5pJFbx8/s200/Hitec%2BHS-311.JPG" alt="" id="BLOGGER_PHOTO_ID_5565423500056100914" border="0" /&gt;&lt;/a&gt;Link :&lt;br /&gt;&lt;a href="http://www.servocity.com/html/hs-311_standard.html"&gt;Motor Servo Hitec HS-311 A&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.servodatabase.com/servo/hitec/hs-311"&gt;Motor Servo Hitec HS-311  B&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Jika tidak memiliki motor servo tipe tersebut maka bisa digantikan dengan tipe sejenisnya / spesifikasinya mirip, khususnya pada &lt;span style="font-weight: bold;"&gt;pewaktuan&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;untuk mengontrol sudut pergerakan motor tersebut.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Register Command pada TPA81&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/TTdYjTMtkEI/AAAAAAAAAuk/0LHqjjpsBfo/s1600/TPA81%2BRegister.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 129px; height: 137px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/TTdYjTMtkEI/AAAAAAAAAuk/0LHqjjpsBfo/s200/TPA81%2BRegister.JPG" alt="" id="BLOGGER_PHOTO_ID_5564013228111794242" border="0" /&gt;&lt;/a&gt;Untuk mengakses motor servo, register yang digunakan adalah register 0.&lt;br /&gt;Ingat register ini memiliki fungsi yang berbeda ketika di Baca dan ketika di Tulis.&lt;br /&gt;&lt;br /&gt;Saat di &lt;span style="font-weight: bold;"&gt;Tulis &lt;/span&gt;register 0 akan berfungsi sebagai Command register, yaitu register yang akan memberikan perintah posisi motor servo.&lt;br /&gt;&lt;br /&gt;Saat di &lt;span style="font-weight: bold;"&gt;Baca &lt;/span&gt;register 0 akan memberikan informasi versi softaware yang diprogram pada modul TPA81.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Posisi Motor Servo&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Nilai command / posisi motor servo yang dapat diberikan pada modul TPA81 sebanyak 32 step (nilai command : 0 - 31)  dengan tipikalnya untuk mempresentasikan sudut 180 derajat.&lt;br /&gt;Cara menghitung sudut motor servo adalah  :&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Posisi Motor Servo = (Nilai Command * 60) + 540 uS&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Jika nilai command diberikan yaitu nilai 0 - 31 maka range pulsa-nya antara 540 uS hingga 2400 uS dan setiap step perubahan waktunya adalah 60 uS. Menulis nilai command selain 0 - 31 (misalnya 32, 33, 34, dst) akan menghentikan pulsa untuk motor servo.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Coding Motor Servo&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/TTxjPC6SWUI/AAAAAAAAAvc/g3OLDt150Q8/s1600/TPA81%2BNilai%2BServo.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 88px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/TTxjPC6SWUI/AAAAAAAAAvc/g3OLDt150Q8/s200/TPA81%2BNilai%2BServo.JPG" alt="" id="BLOGGER_PHOTO_ID_5565432349653621058" border="0" /&gt;&lt;/a&gt;Dari tabel tersebut maka nilai command yang dapat diberikan pada register 0 antar 0 - 31 atau 0x00 - 0x1F&lt;br /&gt;Memberikan nilai selain itu akan menghentikan sinyal pulsa motor servo.&lt;br /&gt;&lt;br /&gt;Bukannya g mau posting coding-nya, tapi memang belum pernah mencoba mengakses motor servo melalui TPA81. Jadi Codingnya belum ku posting.&lt;br /&gt;Tar lagi nyoba kok, ini lagi nunggu pesanan motor servonya.&lt;br /&gt;Servo datang-program-test-lalu Posting, OK. Sabar ya..&lt;br /&gt;&lt;br /&gt;Saya bukan tipe orang yang memposting sesuatu yang belum saya coba sama sekali.&lt;br /&gt;Semoga  manfaat   ... ^^v...&lt;br /&gt;CMIIW..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-2374372473142118526?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/2374372473142118526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/2374372473142118526'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/10/tpa81-mengendalikan-motor-servo.html' title='TPA81 : Mengendalikan Motor Servo'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_dNauCEz-yi0/TMAkM-Ff8fI/AAAAAAAAAuQ/eJGYQLiZq3M/s72-c/TPA81+Interface.GIF' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-1745762103204959927</id><published>2010-10-20T14:27:00.000-07:00</published><updated>2011-03-14T20:56:06.913-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='TPA81'/><category scheme='http://www.blogger.com/atom/ns#' term='Sensor-sensor'/><title type='text'>TPA81 : Waktu Sampling Pengukuran</title><content type='html'>&lt;a href="http://www.payztronics-store.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;Baca dulu :&lt;br /&gt;&lt;ul&gt;&lt;li style="font-weight: bold;"&gt;&lt;a href="http://payztronics.blogspot.com/2010/10/tpa81-thermopile-array.html"&gt;TPA81 : Thermopile Array&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://payztronics.blogspot.com/2010/11/tpa81-mengakses-dgn-protokol-i2c.html"&gt;&lt;span style="font-weight: bold;"&gt;TPA81 : M&lt;/span&gt;&lt;/a&gt;&lt;a href="http://payztronics.blogspot.com/2010/11/tpa81-mengakses-dgn-protokol-i2c.html"&gt;&lt;span style="font-weight: bold;"&gt;engakses dgn Protokol I2C&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Seperti yang sudah saya tuliskan pada post sebelumnya, sensor TPA81 adalah sensor yang dapat mendeteksi dan mengukur suhu secara simultan pada 8 titik/pixel tanpa menyentuh sumber panas tersebut. Dan berbeda dengan sensor PIR yang hanya dapat mendeteksi perubahan suhu, sensor TPA81 dapat mengukur suhu statik (suhu tidak berubah) maupun suhu dinamis.&lt;br /&gt;Oleh sebab itu, sensor TPA81 baik jika digunakan untuk akuisisi pengukuran suhu (pada range tertentu &gt;&gt; suhu relatih rendah).&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;TPA81 Waktu Sampling&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Sensor TPA81 memiliki waktu sampling minimal untuk memperoleh data pengukuran suhu yang valid. Pada &lt;a style="font-weight: bold;" href="http://www.robotstorehk.com/sensors/doc/tpa81tech.pdf"&gt;datasheet sensor TPA81&lt;/a&gt; halaman 3 tertulis sebagai berikut :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/TTdqLnLm7ZI/AAAAAAAAAu8/Bc7vkgwkaYM/s1600/TPA81%2BSampling.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 208px; height: 31px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/TTdqLnLm7ZI/AAAAAAAAAu8/Bc7vkgwkaYM/s200/TPA81%2BSampling.JPG" alt="" id="BLOGGER_PHOTO_ID_5564032612368313746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Arti pada 2 kalimat terakhir begini (Bhs Inggris pas-pasan) :&lt;br /&gt;Register 2 - 9 adalah 8 pixel suhu / temperatur.&lt;br /&gt;Akuisisi (pengambilan data) suhu dilakukan secara terus-menerus dan pembacaan akan tepat sekitar 40 mS setelah sensor berada pada posisi yang baru.&lt;br /&gt;&lt;br /&gt;Bisa diartikan bahwa, Agar data yang diperoleh valid dan benar maka sebaiknya pengambilan data suhu pada sensor TPA81 setiap minimal 40 mS.&lt;br /&gt;Masalahnya adalah sensor TPA81 memiliki 8 pixel / titik pengukuran suhu, sehingga sedikit membingungkan apakah 40 mS itu untuk setiap pixel yang terdapat pada sensor TPA81 atau 40 mS untuk seluruh pixel tersebut.&lt;br /&gt;&lt;br /&gt;Jika 40 mS untuk 8 pixel maka waktu sampling sensor TPA81 minimal adalah  40 mS.&lt;br /&gt;Sedangkan jika 40 mS untuk 1 pixel maka waktu sampling sensor TPA81 keseluruhan minimalnya adalah 40 mS x 8 = 320 mS.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;TPA81 Waktu Sampling 40 mS&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/TTdxEmWUGII/AAAAAAAAAvE/wJePstjYid4/s1600/TPA81%2B40mS.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 166px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/TTdxEmWUGII/AAAAAAAAAvE/wJePstjYid4/s200/TPA81%2B40mS.JPG" alt="" id="BLOGGER_PHOTO_ID_5564040188467091586" border="0" /&gt;&lt;/a&gt;Saya pribadi menggunakan waktu sampling 40 mS dan codingnya sebagai berikut :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;TPA81 Waktu Sampling 320 mS&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/TTdxEizYePI/AAAAAAAAAvM/xSpAIIM5XeM/s1600/TPA81%2B320mS.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 156px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/TTdxEizYePI/AAAAAAAAAvM/xSpAIIM5XeM/s200/TPA81%2B320mS.JPG" alt="" id="BLOGGER_PHOTO_ID_5564040187515271410" border="0" /&gt;&lt;/a&gt;Beberapa Coding yang menggunakan waktu sampling ini dan codingnya sebagai berikut :&lt;br /&gt;&lt;br /&gt;Perbedaannya hanya pada menempatkan fungsi delay_ms(40);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Oiya terlanjur upload lg..&lt;br /&gt;Loopingnya ganti tuh nilainya seperti berikut :&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;for (x=0; x&lt;=7; x++)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Buru-buru + ngantuk, jadi khilaf deh..&lt;br /&gt;Semoga  manfaat   ... ^^v...&lt;br /&gt;CMIIW..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-1745762103204959927?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/1745762103204959927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/1745762103204959927'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/10/tpa81-waktu-sampling-pengukuran.html' title='TPA81 : Waktu Sampling Pengukuran'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_dNauCEz-yi0/TTdqLnLm7ZI/AAAAAAAAAu8/Bc7vkgwkaYM/s72-c/TPA81%2BSampling.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-1292073501615312536</id><published>2010-10-12T23:37:00.000-07:00</published><updated>2011-03-14T20:57:16.376-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='TPA81'/><category scheme='http://www.blogger.com/atom/ns#' term='Sensor-sensor'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial CoViAVR'/><category scheme='http://www.blogger.com/atom/ns#' term='Komunikasi Data'/><title type='text'>TPA81 : Mengakses dgn Protokol I2C</title><content type='html'>&lt;a href="http://www.payztronics-store.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/TMAkM-Ff8fI/AAAAAAAAAuQ/eJGYQLiZq3M/s1600/TPA81+Interface.GIF"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 143px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/TMAkM-Ff8fI/AAAAAAAAAuQ/eJGYQLiZq3M/s200/TPA81+Interface.GIF" alt="" id="BLOGGER_PHOTO_ID_5530460147654062578" border="0" /&gt;&lt;/a&gt;Seperti telah dijelaskan pada posting sebelumnya bahwa sensor TPA81 menggunakan protokol I2C dan memiliki koneksi interface seperti gambar disamping.&lt;br /&gt;Jangan lupa menambahkan &lt;span style="font-weight: bold;"&gt;Resistor Pull Up&lt;/span&gt; di sisi master (Mikrokontroller) dengan nilai yang direkomondasikan 1k8 ohm.&lt;br /&gt;Pastikan semua interface / hubungan antara mikrokontroller dengan sensor TPA81 telah sempurna, dan modul mikrokontroller anda juga berfungsi dengan baik.&lt;br /&gt;&lt;br /&gt;Modul sensor TPA81 juga dilengkapi dengan &lt;span style="font-weight: bold;"&gt;pin motor S&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;ervo&lt;/span&gt; serta fungsi tambahan untuk mengatur sudut pergerakan motor servo tersebut. Sehingga anda cukup memberikan data sudut dalam heksadesimal dan modul TPA81 secara otomatis akan mengendalikan motor servo tersebut. Fungsi ini sangat berguna jika anda meletakkan modul sensor TPA81 pada motor servo lalu  menggunakan metode scanning untuk pendeteksian / pengukuran suhu.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;TPA81 Register&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/TTdYjTMtkEI/AAAAAAAAAuk/0LHqjjpsBfo/s1600/TPA81%2BRegister.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 146px; height: 144px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/TTdYjTMtkEI/AAAAAAAAAuk/0LHqjjpsBfo/s200/TPA81%2BRegister.JPG" alt="" id="BLOGGER_PHOTO_ID_5564013228111794242" border="0" /&gt;&lt;/a&gt;Sebelum ke coding, beberapa register harus di ketahui terlebih dahulu, seperti terlihat pada gambar di samping.&lt;br /&gt;Hanya Register 0, 1, 2, dan 3 yang dapat di baca/tulis sedangkan register lainnya dapat di baca saja.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Register 0 memiliki 2 fungsi, jika di &lt;span style="font-weight: bold;"&gt;Tulis&lt;/span&gt; maka akan berfungsi sebagai register Command yang memberikan perintah data mengatur posisi motor servo. Sedangkan jika di &lt;span style="font-weight: bold;"&gt;Baca&lt;/span&gt; akan memberikan infomasi versi refisi software / firmware modul TPA81.&lt;br /&gt;&lt;br /&gt;Register 1, 2, 3 digunakan untuk melakukan proses kalibrasi pada sensor TPA81 dan disarankan untuk tidak &lt;span style="font-weight: bold;"&gt;menulis&lt;/span&gt; pada register ini karena dapat merusak data kalibrasi yang telah di program oleh manufakturnya. Tapi tidak perlu khawatir karena terdapat proteksi untuk proses penghapusan dan penulisan kalibrasi pada register-register ini yaitu penulisan perintah sebanyak 3 byte secara berurutan yang dapat mencegah penghapusan data kalibrasi secara tidak sengaja.&lt;br /&gt;&lt;br /&gt;Register 1 jika di &lt;span style="font-weight: bold;"&gt;Baca &lt;/span&gt;akan memberikan data Temperatur Ambient.&lt;br /&gt;Register 2 - 9 jika di &lt;span style="font-weight: bold;"&gt;Baca &lt;/span&gt;akan  memberikan data Temperatur Pixel 1 - Pixel 8.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Coding TPA81&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/TTdfS7dsHwI/AAAAAAAAAus/tShRipZrGf8/s1600/TPA81%2BCdWizzard.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 145px; height: 200px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/TTdfS7dsHwI/AAAAAAAAAus/tShRipZrGf8/s200/TPA81%2BCdWizzard.JPG" alt="" id="BLOGGER_PHOTO_ID_5564020643444039426" border="0" /&gt;&lt;/a&gt;Program berikut mengunakan CodeVisionAVR v2.03.9&lt;br /&gt;Langkah-langkah :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Jalankan CoViAVR, buat project baru, dan gunakan CodeWizzard, Chip misal : ATmega8535, Clock : 11.0592 MHz.&lt;/li&gt;&lt;li&gt;Tampilan menggunakan komputer komunikasi UART, Protokol : Baudrate :9600,8N1.&lt;/li&gt;&lt;li&gt;Tampilan LCD 16 x 2 padaPortB.&lt;/li&gt;&lt;li&gt;Modul sensor TPA81 SDA : PORTC.0 dan SCL : PORTC.1&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Program sebagai berikut :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/TTdiMcBdjrI/AAAAAAAAAu0/MxTWz3HZCWU/s1600/TPA81%2BCoding.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 127px; height: 200px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/TTdiMcBdjrI/AAAAAAAAAu0/MxTWz3HZCWU/s200/TPA81%2BCoding.JPG" alt="" id="BLOGGER_PHOTO_ID_5564023830459813554" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Wah terlanjur Upload..&lt;br /&gt;Ada yang lupa tuh..&lt;br /&gt;Berikan waktu kira-kira (minimal) 40 mS sebelum membaca kembali data suhu terukur pada modul TPA81 agar datanya valid.&lt;br /&gt;&lt;br /&gt;Ada sedikit kerancuan yang saya lihat pada beberapa Coding dan akan saya bahas di posting selanjutnya.&lt;br /&gt;&lt;br /&gt;Semoga manfaat   ... ^^v...&lt;br /&gt;CMIIW..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-1292073501615312536?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/1292073501615312536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/1292073501615312536'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/11/tpa81-mengakses-dgn-protokol-i2c.html' title='TPA81 : Mengakses dgn Protokol I2C'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_dNauCEz-yi0/TMAkM-Ff8fI/AAAAAAAAAuQ/eJGYQLiZq3M/s72-c/TPA81+Interface.GIF' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-4903387129234289442</id><published>2010-10-09T23:48:00.000-07:00</published><updated>2011-03-14T20:57:38.128-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TPA81'/><category scheme='http://www.blogger.com/atom/ns#' term='Sensor-sensor'/><title type='text'>TPA81 Thermopile Array</title><content type='html'>&lt;a href="http://www.payztronics-store.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/TMATSxj2KkI/AAAAAAAAAuA/7WoPLw2kDLk/s1600/TPA81.jpg"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 142px; height: 104px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/TMATSxj2KkI/AAAAAAAAAuA/7WoPLw2kDLk/s200/TPA81.jpg" alt="" id="BLOGGER_PHOTO_ID_5530441555673229890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Beberapa link bacaan :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a style="color: rgb(255, 153, 0);" href="http://www.robot-electronics.co.uk/htm/tpa81tech.htm"&gt;http://www.robot-electronics.co.uk/htm/tpa81tech.htm&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a style="color: rgb(255, 153, 0);" href="http://www.ccsinfo.com/forum/viewtopic.php?p=135506"&gt;http://www.ccsinfo.com/forum/viewtopic.php?p=135506&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a style="color: rgb(255, 153, 0);" href="http://www.robot-electronics.co.uk/acatalog/I2C_Tutorial.html"&gt;http://www.robot-electronics.co.uk&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a style="color: rgb(255, 153, 0);" href="http://www.blogger.com/www.robotstorehk.com/sensors/doc/tpa81tech.pdf"&gt;www.robotstorehk.com&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a style="color: rgb(255, 153, 0);" href="http://hendawan.wordpress.com/2009/02/10/thermal-array-tpa81/"&gt;http://hendawan.wordpress.com/2009/02/10/thermal-array-tpa81/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a style="color: rgb(255, 153, 0);" href="http://sharekan.wordpress.com/2010/05/13/tpa81-thermopile-array/"&gt;http://sharekan.wordpress.com/2010/05/13/tpa81-thermopile-array/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Link-link d atas sudah sangat menjelaskan bagaimana cara mengakses sensor Thermopile Array. Dan saya mencoba menjelaskan dengan versi saya dan mungkin tidak jauh berbeda dengan link-link tersebut. Dan semakin banyak referensi semakin baik bukan  ^^.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Thermopile Array TPA81&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Sensor TPA81 adalah sensor Thermopile Array yaitu sensor yang terdiri dari 8 buah / pixel sensor panas yang tersusun secara berbaris. Setiap pixel sensor ini mampu mendeteksi cahaya inframerah dengan range 2 µm - 22 µm yaitu range yang dimiliki oleh radiasi panas. TPA81 merupakan sensor non kontak yaitu mampu mendeteksi suhu suatu benda tanpa perlu menyentuhnya.&lt;br /&gt;&lt;br /&gt;Sensor PIR atau Sensor Pyro-electric juga merupakan sensor pendeteksi suhu (tubuh manusia) dan juga sensor non kontak akan tetapi kelemahan sensor ini adalah hanya dapat mendeteksi jika terjadi &lt;span style="font-weight: bold;"&gt;Perubahan Suhu&lt;/span&gt; oleh sebab itu PIR tidak dapat digunakan pada pengukur dan pendeteksi suhu statik / tetap. Jika menggunakan sensor PIR maka salah satu harus bergerak agar terjadi perubahan suhu yaitu objek-nya yang bergerak (Manusia berjalan didepan sensor PIR) atau sensor PIR-nya dibuat bergerak (dengan motor stepper / servo).&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Field Of View (FOV)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/TM_I0QFxtLI/AAAAAAAAAuY/PJUgCOhH_Uw/s1600/TPA+FOV.jpg"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 147px; height: 106px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/TM_I0QFxtLI/AAAAAAAAAuY/PJUgCOhH_Uw/s200/TPA+FOV.jpg" alt="" id="BLOGGER_PHOTO_ID_5534863267059578034" border="0" /&gt;&lt;/a&gt;Sensor TPA81 memiliki luas pandang /pendeteksian yang lebar karena dilengkapi dengan lensa dan rangkaian elektronik built in selain itu mampu mendeteksi cahaya lilin hingga jarak 2 meter tanpa terpengaruh cahaya lainnya. FOV TPA81 mencapai &lt;span style="font-size:100%;"&gt;41° x 6° sehingga setiap pixelnya memiliki FOV &lt;/span&gt;&lt;span style="font-size:100%;"&gt;5.12° x 6°.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/TMAhJ4XgRiI/AAAAAAAAAuI/s3nIM3RwFGM/s1600/TPA81_pixel.jpg"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 146px; height: 134px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/TMAhJ4XgRiI/AAAAAAAAAuI/s3nIM3RwFGM/s200/TPA81_pixel.jpg" alt="" id="BLOGGER_PHOTO_ID_5530456796044477986" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:100%;"&gt;Posisi Pixel pada sensor TPA81 sejajar dengan orientasi panjang PCB-nya&lt;/span&gt;&lt;span style="font-size:100%;"&gt; dan pixel 1 ditunjukkan / terdekat dengan tanda tab / "topi" pada sensor Thermopile-nya seperti pada gambar disamping.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Koneksi / Interface I2C&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/TMAkM-Ff8fI/AAAAAAAAAuQ/eJGYQLiZq3M/s1600/TPA81+Interface.GIF"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 143px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/TMAkM-Ff8fI/AAAAAAAAAuQ/eJGYQLiZq3M/s200/TPA81+Interface.GIF" alt="" id="BLOGGER_PHOTO_ID_5530460147654062578" border="0" /&gt;&lt;/a&gt;Sensor TPA81 menggunakan komunikasi I2C (Inter Integrated Circuit) yang menggunakan 2 jalur saja yaitu SDA (Serial Data) dan SCK (Serial Clock) tetapi jangan lupa menggabungkan Ground-nya (Jika menggunakan 2 power supply).  Oleh sebab itu komunkasi dengan sensor TPA81 juga menggunakan protokol I2C.&lt;br /&gt;&lt;br /&gt;Resistor Pull Up sangat diperlukan pada jalur SDA dan SCK dengan nilai yang direkomondasikan adalah 1,8 Kohm akan tetapi saya mencoba dengan nilai 2200 ohm dan tidak ada masalah. Jika resistor Pull Up tidak terpasang maka data yang akan terbaca akan selalu konstan / sama meskipun sensor TPA81 didekatkan / dijauhkan terhadap lilin. Ketika saya mencoba tanpa resistor Pull Up, semua pixel TPA81 membaca data dengan nilai 191 ada juga yang 255 semua seperti pada link ini :&lt;br /&gt;&lt;a href="http://www.ccsinfo.com/forum/viewtopic.php?p=135506"&gt;http://www.ccsinfo.com/forum/viewtopic.php?p=135506&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Karena menggunakan jalur I2C maka anda dapat memparallelkan jalur SDA dan SCK untuk mengakses perangkat I2C lainnya atau mengakses 8 buah sensor TPA81 untuk aplikasi Thermal Imaging 2 dimensi atau menampilkan pembacaan temperatur secara matriks dengan 8 x 8 = 64 pixel. Saya ingin mencoba tapi mengeluarkan biaya 8 x 1,2 juta = 9,6 juta hanya untuk ujicoba,&lt;br /&gt;Wadduuuhhh....&lt;br /&gt;&lt;br /&gt;Sensor TPA81 pada komunikasi I2C akan selalu menjadi Slave dan tidak mungkin Master. Hal yang perlu diingat jika mengakses 8 buah TPA81 adalah resistor Pull Up 1K8 ohm pada SDA dan SCK diletakkan sedekat mungkin dengan Master (Mikrokontroller anda) sehingga hanya ada 2 buah resistor Pull Up, hal ini karena pada sensor TPA81 telah terpasang resistor pull up internal dan tidak memerlukan resistor pull up tambahan.&lt;br /&gt;&lt;br /&gt;Pada aplikasi CodeVisionAVR telah tersedia library yang berfungsi untuk mengakses komponen yang menggunakan komunikasi data menggunakan format I2C yaitu pada library I2C.h sehingga dapat mengakses dengan mudah sensor TPA81.&lt;br /&gt;Untuk memahami cara komunikasi menggunakan protokol I2C, misalnya pada salah satu link berikut :&lt;a style="color: rgb(255, 153, 0);" href="http://www.robot-electronics.co.uk/acatalog/I2C_Tutorial.html"&gt; http://www.robot-electronics.co.uk&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Pin &lt;span style="font-weight: bold;"&gt;Do Not Connect&lt;/span&gt; (Jangan dihubungkan), sesuai dengan artinya jangan di hubungkan kemanapun. Pin &lt;span style="font-weight: bold;"&gt;Do Not Connect&lt;/span&gt; digunakan oleh pabriknya untuk memprogram mikrokontroller PIC16F88 pada modul TPA81 yaitu jalur CPU MLCR dan memiliki internal pull up.&lt;br /&gt;Saya menghubungkan pin ini dan memberikan logika 1 atau logika 0 ke pin ini tapi tidak ada masalah, namun untuk amannya sebaiknya &lt;span style="font-weight: bold;"&gt;JANGAN&lt;/span&gt; dihubungkan (Ga tanggung jawab klo rusak lho).&lt;br /&gt;&lt;br /&gt;Semoga manfaat... ^^v....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-4903387129234289442?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/4903387129234289442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/4903387129234289442'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/10/tpa81-thermopile-array.html' title='TPA81 Thermopile Array'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dNauCEz-yi0/TMATSxj2KkI/AAAAAAAAAuA/7WoPLw2kDLk/s72-c/TPA81.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-2961394037244479266</id><published>2010-09-30T00:19:00.000-07:00</published><updated>2011-01-26T21:00:57.691-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Timer / Counter'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial CoViAVR'/><title type='text'>RPM Motor DC : Menghitung kecepatan dalam RPM</title><content type='html'>Baca dulu :&lt;br /&gt;&lt;ul style="font-weight: bold;"&gt;&lt;li&gt;&lt;a href="http://payztronics.blogspot.com/2010/09/rpm-motor-dc-perancangan-alat.html"&gt;RPM motor DC : Perancangan Alat&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://payztronics.blogspot.com/2010/09/rpm-motor-dc-pengaturan-timer-8-bit.html"&gt;RPM Motor DC : Pengaturan Timer 8 bit&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://payztronics.blogspot.com/2010/09/rpm-motor-dc-pengaturan-timer-16-bit.html"&gt;RPM&lt;/a&gt;&lt;a href="http://payztronics.blogspot.com/2010/09/rpm-motor-dc-pengaturan-timer-16-bit.html"&gt; Motor DC : Pengaturan Timer 16 bit&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Berikut ini adalah langkah terakhir dalam menentukan kecepatan putaran motor DC dalam RPM (Revolutions Per Minute) , dan untuk mengingat kembali, berikut spesifikasinya :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Motor DC satu arah.&lt;/li&gt;&lt;li&gt;Sensor berupa encoder  piringan  menggunakan lubang.&lt;/li&gt;&lt;li&gt;Lubang = logika 0, No lubang =  logika 1.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Banyak  lubang 4 buah dengan perbedaan 90 derajat.&lt;/li&gt;&lt;li&gt;Update  nilai RPM  setiap 1 detik.&lt;/li&gt;&lt;li&gt;Interupsi encoder dengan mode  Falling Edge / NGT&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Logika perhitungan RPM&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/TKmPvUtiTBI/AAAAAAAAAt4/k1-9szRIAz4/s1600/Encoder+4+lubang.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 155px; height: 156px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/TKmPvUtiTBI/AAAAAAAAAt4/k1-9szRIAz4/s200/Encoder+4+lubang.JPG" alt="" id="BLOGGER_PHOTO_ID_5524104461122948114" border="0" /&gt;&lt;/a&gt;Encoder yang digunakan adalah tipe piringan yang menggunakan lubang atau garis hitam-putih, banyaknya lubang adalah 4 buah lubang maka 1 putaran = 4 lubang.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Kasus 1: Interupsi eksternal mendeteksi 2400 lubang dalam waktu 1 menit yang berarti :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;1 menit terdeteksi 2400 lubang (Clock lubang), maka&lt;br /&gt;&lt;/li&gt;&lt;li&gt;2400 / 4 = 600 putaran atau 600 RPM&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Kasus 2: Interupsi eksternal mendeteksi 1800 lubang dalam waktu 30 detik  yang berarti :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;30 detik = 30/60 = 0,5 menit&lt;/li&gt;&lt;li&gt;1800 / 4 = 450 putaran dalam 30 detik, maka&lt;/li&gt;&lt;li&gt;450 / 0,5 = 900 RPM&lt;/li&gt;&lt;/ul&gt;Kasus 3: Interupsi eksternal mendeteksi 60 lubang dalam waktu 200 mS   yang berarti :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;200 mS = 200 / 60000 = 0,0033333 menit&lt;br /&gt;&lt;/li&gt;&lt;li&gt;60/ 4 = 15 putaran dalam 200 mS, maka&lt;br /&gt;&lt;/li&gt;&lt;li&gt;15 / 0,0033333 = 4500,045 RPM&lt;/li&gt;&lt;/ul&gt;Kasus 4: Interupsi eksternal mendeteksi 100 lubang  dalam waktu 1 S   yang berarti :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;1 S = 1 / 60 =  0,016667 menit&lt;br /&gt;&lt;/li&gt;&lt;li&gt;100 / 4 = 25 putaran dalam 1 S, maka&lt;br /&gt;&lt;/li&gt;&lt;li&gt;25 /   0,016667  = 1.499,97 RPM&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Coding CoViAVR&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Pada post sebelumnya, Timer yang digunakan adalah &lt;span style="font-weight: bold;"&gt;timer 8 bit&lt;/span&gt;, lalu interupsi eksternal menggunakan mode &lt;span style="font-weight: bold;"&gt;falling edge&lt;/span&gt;, tampilan data RPM akan ditampilkan ke komputer melalui port serial dengan protokol &lt;span style="font-weight: bold;"&gt;9600,8,N,1&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Langkah-langkah :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Jalankan program CoViAVR, buat project baru, dan gunakan CodeWizzardAVR.&lt;/li&gt;&lt;li&gt;Atur komunikasi serial, interupsi Eksternal dan timer 8 bit.&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/SpYxCt-m9mI/AAAAAAAAAh0/1Kru403621U/s1600-h/UART+init.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 160px; height: 200px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/SpYxCt-m9mI/AAAAAAAAAh0/1Kru403621U/s200/UART+init.bmp" alt="" id="BLOGGER_PHOTO_ID_5374537128084960866" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/TKGxqZWiWQI/AAAAAAAAAtY/k4Dwg7XIZlk/s1600/Timer+8+bit.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 123px; height: 200px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/TKGxqZWiWQI/AAAAAAAAAtY/k4Dwg7XIZlk/s200/Timer+8+bit.JPG" alt="" id="BLOGGER_PHOTO_ID_5521889960050972930" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try  {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/TJm5off7akI/AAAAAAAAAso/tQURBfUtMTY/s1600/Interupsi+Set.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 193px; height: 200px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/TJm5off7akI/AAAAAAAAAso/tQURBfUtMTY/s200/Interupsi+Set.JPG" alt="" id="BLOGGER_PHOTO_ID_5519646923620575810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/TKmPvKG2H6I/AAAAAAAAAtw/hvZvJB9EegM/s1600/RPM+motor+DC.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 124px; height: 200px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/TKmPvKG2H6I/AAAAAAAAAtw/hvZvJB9EegM/s200/RPM+motor+DC.JPG" alt="" id="BLOGGER_PHOTO_ID_5524104458276315042" border="0" /&gt;&lt;/a&gt;Selanjutnya silahkan lihat coding berikut :&lt;br /&gt;&lt;br /&gt;Oiya.. lupa aktifin kedap-kedip LED-nya..&lt;br /&gt;Silahkan koreksi sendiri ya..&lt;br /&gt;Udah teranjur d upload gambarnya..&lt;br /&gt;CMIIW.. Ok.&lt;br /&gt;&lt;br /&gt;Semoga manfaat ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-2961394037244479266?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/2961394037244479266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/2961394037244479266'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/10/rpm-motor-dc-menghitung-kecepatan-dalam.html' title='RPM Motor DC : Menghitung kecepatan dalam RPM'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_dNauCEz-yi0/TKmPvUtiTBI/AAAAAAAAAt4/k1-9szRIAz4/s72-c/Encoder+4+lubang.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-7659268232901929925</id><published>2010-09-28T01:44:00.001-07:00</published><updated>2011-01-26T20:46:13.277-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Timer / Counter'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial CoViAVR'/><title type='text'>RPM Motor DC : Pengaturan Timer 8 bit</title><content type='html'>&lt;a href="http://www.payztronics-store.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Seperti yang saya katakan sebelumnya bahwa pengaturan timer 8 bit agak sulit dibanding pengaturan timer 16 bit karena timer 8 bit memiliki nilai 0 - 255 sedangkan timer 16 bit bernilai 0 - 65536.&lt;br /&gt;Nilai frekuensi yang digunakan adalah 10.800 Hz dan untuk mendapatkan nilai 10.800 counting, timer 8 bit tidak mampu menghitungnya sehingga digunakan variabel /  memori tambahan agar dapat diperoleh 10.800 counting.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Perhitungan Nilai Counting Timer&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Nilai frekuensi clock yang digunakan adalah 10.800 Hz atau 10,8 kHz dan timer 8 bit hanya mampu hingga 255 hitungan maka :&lt;br /&gt;10.800 / 255 = 42.35294&lt;br /&gt;10.800 / 250 = 43.2&lt;br /&gt;10.800 / 220 = 49.0909&lt;br /&gt;10.800 / 200 = 54&lt;br /&gt;10.800 / 180 = 60&lt;br /&gt;10.800 / 108 = 100&lt;br /&gt;Dari nilai-nilai diatas jangan gunakan nilai pecahan karena kurang akurat dan gunakan nilai yang hasilnya bulat (dan maksimum) atau nilainya 200, maka :&lt;br /&gt;255 - 200 = 55 atau 0x37 dalam heksadesimal.&lt;br /&gt;&lt;br /&gt;Nilai 55 atau 0x37 adalah nilai Start Value timer yang akan digunakan sedangkan nilai 54 atau 0x36 adalah nilai memori counting, jika nilai memori telah sama dengan 54 berarti frekuensi telah mencapai 1 Hz.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Pengaturan Timer 0 / 8 bit Timer&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Timer   0 pada AVR (ATmega8535) adalah timer 8 bit sehingga mempunyai Counting   Value dari 0 - 255 atau 0x00 - 0xff.&lt;br /&gt;Langkah-langkah pengaturan timer :&lt;ul&gt;&lt;li&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/TKGxqg35QSI/AAAAAAAAAto/SBblLI-uOEw/s1600/Value+Timer+8+bit.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 144px; height: 119px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/TKGxqg35QSI/AAAAAAAAAto/SBblLI-uOEw/s200/Value+Timer+8+bit.JPG" alt="" id="BLOGGER_PHOTO_ID_5521889962069934370" border="0" /&gt;&lt;/a&gt;Diatas  kertas tentukan nilai counting yaitu 200 counting yaitu Start Value = 55 atau 0x37 dan memori counting = 54 atau 0x36.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Gunakan CodeWizzardAVR dan  tentukan jenis Chip serta Clocknya. Saya  gunakan ATmega8535 dengan clock  11.059.200 Hz atau 11,0592 MHz.&lt;/li&gt;&lt;li&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/TKGxqZWiWQI/AAAAAAAAAtY/k4Dwg7XIZlk/s1600/Timer+8+bit.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 123px; height: 200px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/TKGxqZWiWQI/AAAAAAAAAtY/k4Dwg7XIZlk/s200/Timer+8+bit.JPG" alt="" id="BLOGGER_PHOTO_ID_5521889960050972930" border="0" /&gt;&lt;/a&gt;Pada  Tab timer sub tab Timer 0 dan atur seperti pada gambar.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Berikan  nilai awal timer (Timer Value) 0x37 agar didapatkan counting   sebanyak 200 pada timer 0.&lt;/li&gt;&lt;li&gt;Buat global variabel dengan nama &lt;span style="font-weight: bold;"&gt;unsigned char&lt;/span&gt; cnt_1Hz;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/TKGxquBtlAI/AAAAAAAAAtg/BNVWB2PNOpE/s1600/Cek+Timer+8+bit.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 128px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/TKGxquBtlAI/AAAAAAAAAtg/BNVWB2PNOpE/s200/Cek+Timer+8+bit.JPG" alt="" id="BLOGGER_PHOTO_ID_5521889965600773122" border="0" /&gt;&lt;/a&gt;Untuk   mengecek benar tidaknya, gunakan coding berikut yang akan mematikan dan   menyalakan LED pada PORTC setiap 1 Hz.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Jika nyala LED telah sesuai, selesai dah.&lt;/li&gt;&lt;/ul&gt;&lt;span&gt;Next : &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;fiuhh cape.. tar dlu dah..&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Semoga Manfaat ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-7659268232901929925?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/7659268232901929925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/7659268232901929925'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/09/rpm-motor-dc-pengaturan-timer-8-bit.html' title='RPM Motor DC : Pengaturan Timer 8 bit'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_dNauCEz-yi0/TKGxqg35QSI/AAAAAAAAAto/SBblLI-uOEw/s72-c/Value+Timer+8+bit.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-1866837393789793038</id><published>2010-09-28T01:40:00.001-07:00</published><updated>2011-01-26T20:46:25.633-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Timer / Counter'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial CoViAVR'/><title type='text'>RPM Motor DC : Pengaturan Timer 16 bit</title><content type='html'>&lt;a href="http://www.payztronics-store.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Setelah merancang dan  membuat alat dengan sempurna selanjutnya mengatur timer agar selalu  mengupdate nilai PWM setiap 1 detik.&lt;br /&gt;Seperti yang saya katakan  sebelumnya, update setiap 1 detik sebenarnya cukup lama tetapi agar  mudah memahami penggunaan timer maka digunakan nilai 1 detik&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Perhitungan Nilai Counting Timer&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Mikrokontroller  AVR memiliki jantung berupa clock internal ataupun external dengan  satuan MHz dan clock ini juga digunakan oleh Timer sebagai pemicu  counting yang menyebabkan Value Timer bertambah hingga terjadi Overflow.&lt;br /&gt;Pada  &lt;a href="http://payztronics.blogspot.com/2010/05/avr-timercounter-introduction.html"&gt;AVR  Timer/Counter : Introduction&lt;/a&gt; saya umpamakan seperti menaiki tangga  dan frekuensi menaiki tangga tersebut maksimum senilai dengan nilai  Clock kristalnya.&lt;br /&gt;&lt;br /&gt;Clock yang akan saya gunakan pada  mikrokokntroller AVR adalah 11,0592 MHz sehingga nilai Clock timer  maksimum 11,0592 MHz dan ini sangat cepat.&lt;br /&gt;Oleh sebab itu gunakan &lt;span style="font-weight: bold;"&gt;prescaler &lt;/span&gt;yaitu faktor pembagi clock,  prescaler ini menjadi faktor pembagi sumber clock sehingga nilai clock  yang ke timer menjadi lebih kecil. (Datasheet ATmega8535 hal 85/321)&lt;br /&gt;&lt;br /&gt;Pada  CodeWizzardAVR telah dibuat faktor pembaginya (prescaler) sehingga kita  hanya tinggal menggunakan saja. Nilai frekeunsi yang akan digunakan  pada sumber clock dibawah nanti adalah nilai clock terendah yaitu 10,8  kHz atau 10.800 Hz.&lt;br /&gt;&lt;br /&gt;1 detik adalah 1 Hz sehingga jika ingin  update nilai RPM setiap 1 detik maka interupsi timer diatur setiap 1 Hz /  1 detik. Yaitu clock timer 10.800 Hz dibagi dengan nilai tertentu  sehingga didapatkan 1Hz maka:&lt;br /&gt;&lt;br /&gt;10.800 Hz / 10.800 = 1 Hz artinya  overflow yang akan mengaktifkan interupsi terjadi ketika Timer Value  telah mengcounting 10.800 hitungan.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Pengaturan Timer 1 /  16 bit Timer&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Timer 1 pada AVR (ATmega8535) adalah timer  16 bit sehingga mempunya  Counting Value dari 0 - 65535 atau 0x0000 -  0xffff.&lt;br /&gt;Pertama kali saya mencoba membahas timer 16 bit karena lebih  mudah dipahami akan tetapi timer yang digunakan pada perancangan nanti  adalah timer 8 bit. Alasannya karena menggunakan timer 8 bit agak sulit  akan tetapi output PWM OC1A dan PWM OC1B lebih sering digunakan  khususnya pada aplikasi mobil robot yang harus mengatur kecepatan motor  DC kedua rodanya, sehingga sebisa mungkin gunakan timer 0 terlebih  dahulu.&lt;br /&gt;&lt;br /&gt;Langkah-langkah pengaturan timer :&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/TKGoyQPRvhI/AAAAAAAAAtQ/zX3IM84Y4Ac/s1600/Value+Timer+16+bit.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 162px; height: 132px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/TKGoyQPRvhI/AAAAAAAAAtQ/zX3IM84Y4Ac/s200/Value+Timer+16+bit.JPG" alt="" id="BLOGGER_PHOTO_ID_5521880199438908946" border="0" /&gt;&lt;/a&gt;Diatas  kertas tentukan nilai counting yaitu 10.800 counting maka :&lt;/li&gt;&lt;/ul&gt;65.535  - 10.800 = 54.735&lt;br /&gt;54.735 = 0xD5CF  dalam nilai heksadesimal.&lt;br /&gt;Nilai  0xD5CF adalah nilai awal timer  (Start Value)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Buka aplikasi  CoViAVR dan buat Project baru.&lt;/li&gt;&lt;li&gt;Gunakan CodeWizzardAVR dan  tentukan jenis Chip serta Clocknya. Saya gunakan ATmega8535 dengan clock  11.059.200 Hz atau 11,0592 MHz.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;a onblur="try  {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/TKGmXFWouNI/AAAAAAAAAtA/rK-UkXL_pAg/s1600/Timer+16+bit.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 119px; height: 200px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/TKGmXFWouNI/AAAAAAAAAtA/rK-UkXL_pAg/s200/Timer+16+bit.JPG" alt="" id="BLOGGER_PHOTO_ID_5521877533637261522" border="0" /&gt;&lt;/a&gt;Pada  Tab timer sub tab Timer 1 dan atur seperti pada gambar.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Berikan  nilai awal timer (Value) 0xD5CF agar didapatkan counting  sebanyak  10.800 counting.&lt;/li&gt;&lt;li&gt;&lt;a onblur="try  {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/TKGmXQKXOTI/AAAAAAAAAtI/xQCHr8F-poo/s1600/Cek+Timer+16+bit.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 58px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/TKGmXQKXOTI/AAAAAAAAAtI/xQCHr8F-poo/s200/Cek+Timer+16+bit.JPG" alt="" id="BLOGGER_PHOTO_ID_5521877536538573106" border="0" /&gt;&lt;/a&gt;Untuk  mengecek benar tidaknya, gunakan coding berikut yang akan mematikan dan  menyalakan LED pada PORTC setiap 1 Hz / 1 detik.&lt;/li&gt;&lt;li&gt;Jika nyala led telah sesuai, selesai dah.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span&gt;Next : &lt;/span&gt;&lt;a href="http://payztronics.blogspot.com/2010/09/rpm-motor-dc-pengaturan-timer-8-bit.html"&gt;&lt;span style="font-weight: bold;"&gt;RPM Motor DC : Pengaturan Timer 8 bit&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Semoga Manfaat ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-1866837393789793038?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/1866837393789793038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/1866837393789793038'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/09/rpm-motor-dc-pengaturan-timer-16-bit.html' title='RPM Motor DC : Pengaturan Timer 16 bit'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_dNauCEz-yi0/TKGoyQPRvhI/AAAAAAAAAtQ/zX3IM84Y4Ac/s72-c/Value+Timer+16+bit.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-6352577042773064813</id><published>2010-09-21T23:50:00.000-07:00</published><updated>2011-01-26T20:46:40.571-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Timer / Counter'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial CoViAVR'/><title type='text'>RPM motor DC : Perancangan Alat</title><content type='html'>&lt;a href="http://www.payztronics-store.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Saya akan mencoba menulis salah satu aplikasi dalam  menggunakan timer.&lt;br /&gt;Pada kasus ini mikrokontroller berfungsi sebagai  penghitung kecepatan putaran motor DC dengan satuan RPM atau Tachometer.&lt;br /&gt;Spesifikasi  :&lt;ul&gt;&lt;li&gt;Motor DC satu arah.&lt;/li&gt;&lt;li&gt;Sensor berupa encoder piringan  menggunakan lubang.&lt;/li&gt;&lt;li&gt;Lubang = logika 0, No lubang = logika 1.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Banyak  lubang 4 buah dengan perbedaan 90 derajat.&lt;/li&gt;&lt;li&gt;Update nilai RPM  setiap 1 detik.&lt;/li&gt;&lt;li&gt;Interupsi encoder dengan mode Falling Edge / NGT&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Update  nilai 1 detik sebenarnya cukup lama, nilai 1 detik dipilih agar nanti  penjelasan pada timernya mudah dipahami.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Rangkaian  Encoder&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Rangkaian sensor encoder banyak diinternet dan  sensornya pun banyak dijual di pasaran dengan harga terjangkau. Selain  itu juga bisa dibuat menggunakan sensor cahaya seperti LDR atau sensor  phototransistor atau sensor InfraRed meskipun hasilnya kurang presisi  dibanding menggunakan sensor encoder.&lt;br /&gt;Seperti pada link berikut :&lt;br /&gt;&lt;a href="http://letsmakerobots.com/node/12293"&gt;&lt;span style="font-weight: bold;"&gt;http://letsmakerobots.com/node/12293&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://thedenneys.org/pub/robot/encoders/"&gt;&lt;span style="font-weight: bold;"&gt;http://thedenneys.org/pub/robot/encoders/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tambahan  :&lt;ul&gt;&lt;li&gt;Gunakan IC 74HC14 (untuk kecepatan tinggi dan jika lubang pada  piringan encoder sangat banyak) atau 74LS14 (murah dan kecepatan  rendah) agar output pada sensor encoder menjadi kotak sempurna (Sinyal  digital).&lt;/li&gt;&lt;li&gt;Setelah rangkaian encoder selesai, uji coba dulu  rangkaian tersebut   dengan menggunakan AVOmeter, jangan lanjut ke  proses selanjutnya jika  belum sempurna.&lt;/li&gt;&lt;li&gt;Pasang rangkaian  tampilan indikator LED di port mikrokontroller sebagai indikator Lubang  terdeteksi.&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Diagram Blok Alat&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Gambar  diagram blok dibawah ini adalah perancangan alat yang akan digunakan.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/TKGOQXoCz-I/AAAAAAAAAs4/DXAoZIbVBP8/s1600/Aplikasi+Motor+DC.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 95px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/TKGOQXoCz-I/AAAAAAAAAs4/DXAoZIbVBP8/s200/Aplikasi+Motor+DC.JPG" alt="" id="BLOGGER_PHOTO_ID_5521851030003961826" border="0" /&gt;&lt;/a&gt;Output  sensor Encoder menjadi input IC 74HC14 agar sinyalnya menjadi kotak  sempurna yang menjadi input digital INT0 (Interupsi 0) pada port  mikrokontroller AVR.&lt;br /&gt;Pada PORTC.0 ditambahkan LED indikator yang LED  ini akan menyala atau mati (toggle) setiap terdeteksi lubang pada  encoder.&lt;br /&gt;Output PWM pada timer 1 OC1A digunakan untuk mengendalikan  kecepatan motor DC.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Atur Interupsi Sensor&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Hubungkan  output sensor Encoder pada mikrokontroller pin INT0 atau INT1 (terserah  tapi harus sesuai dengan codingnya). Interupsi yang saya coba pilih  adalah interupsi 0 / INT0.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try  {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/TJm5off7akI/AAAAAAAAAso/tQURBfUtMTY/s1600/Interupsi+Set.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 193px; height: 200px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/TJm5off7akI/AAAAAAAAAso/tQURBfUtMTY/s200/Interupsi+Set.JPG" alt="" id="BLOGGER_PHOTO_ID_5519646923620575810" border="0" /&gt;&lt;/a&gt;Buka  aplikasi CoViAVR dan gunakan CodeWizzardAVR seperti berikut : Pilih :  Falling edge / NGT.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Low Level : Sinyal input akan dianggap  interupsi jika sinyal input berada pada Low Level / Logika 0.&lt;/li&gt;&lt;li&gt;Any  Change : Sinyal input akan dianggap interupsi jika terjadi perubahan  sinyal dari logika 0 - logika 1 atau logika  1 ke logika 0.&lt;/li&gt;&lt;li&gt;Falling  Edge : Sinyal input akan dianggap interupsi jika terjadi perubahan input  dari logika 1 ke logika 0.&lt;/li&gt;&lt;li&gt;Rising Edge : Sinyal input akan dianggap  interupsi jika terjadi  perubahan input dari logika 0 ke logika 1.&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/TJm5ojb8DMI/AAAAAAAAAsw/xm1pa_j0DBI/s1600/Coding+Interup.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 81px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/TJm5ojb8DMI/AAAAAAAAAsw/xm1pa_j0DBI/s200/Coding+Interup.JPG" alt="" id="BLOGGER_PHOTO_ID_5519646924677582018" border="0" /&gt;&lt;/a&gt;Pada  fungsi interupsi eksternal INT0 tulis sebagai berikut :&lt;br /&gt;(Jangan lupa  DDRC.0 = 1 yaitu PORTC.0 sebagai output)&lt;br /&gt;Program chip dan coba cek  lagi sensor encodernya.&lt;br /&gt;&lt;br /&gt;Uji coba dan LED pada PORTC.0 harus  mati-nyala-mati-nyala setiap sensor encodernya di halangi-tidak  dihalangi (dengan benda gelap). Klo belum cek rangkaian sampai  sempurnya.&lt;br /&gt;&lt;br /&gt;Next : &lt;a href="http://payztronics.blogspot.com/2010/09/rpm-motor-dc-pengaturan-timer-16-bit.html"&gt;&lt;span style="font-weight: bold;"&gt;RPM Motor DC : Pengaturan Timer 16 bit&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Semoga manfaat ;)&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-6352577042773064813?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/6352577042773064813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/6352577042773064813'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/09/rpm-motor-dc-perancangan-alat.html' title='RPM motor DC : Perancangan Alat'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_dNauCEz-yi0/TKGOQXoCz-I/AAAAAAAAAs4/DXAoZIbVBP8/s72-c/Aplikasi+Motor+DC.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-6217572822333240485</id><published>2010-09-20T00:05:00.000-07:00</published><updated>2011-01-26T20:46:50.445-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Timer / Counter'/><title type='text'>AVR Timer : Timer Value and Compare Match</title><content type='html'>&lt;a href="http://www.blogger.com/www.payztronics-store.com"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Penggunaan Timer secara mendasar yaitu scanning Timer Value setiap saat, yaitu dengan cara mengaktifkan timer lalu timer akan counting secara otomatis dan pada Main loop (program utama) selalu deteksi nilai  counting timer (Timer Value), dan jika counting timer = timer yang diinginkan, maka selanjutnya lakukan proses yang diinginkan.&lt;br /&gt;&lt;br /&gt;Seperti pada  contoh sebelumnya, anda ingin counting hanya sebanyak 250 counting (dari 0 - 249) lalu setiap saat pada Main Loop mengecek register Timer Value apakah telah mencapai 250 hitungan atau tidak, maka hal ini membuang siklus waktu, memperlambat proses, dan tidak efisien.&lt;br /&gt;Sedangkan  jika menggunakan flag OV (OverFlow) sebagai  detektor, pada timer 8 bit  flag OV akan aktif jika counting timer lebih dari 255 (OV = nilai 256)  yang artinya nilainya  kelebihan 6 counting dari nilai counting 250 yang diinginkan.&lt;br /&gt;Oleh sebab itu dibutuhkan solusi lain yaitu dengan menggunakan Start Value (Timer Value) atau Compare Match.&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Start Value&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Start Value&lt;/span&gt; timer adalah nilai awal Timer Value saat proses counting timer terjadi. Yaitu dengan menentukan nilai awal timer, misal Timer Value = 0x05h maka timer tidak dimulai dari 0x00 tetapi dari nilai 0x05. &lt;span style="font-weight: bold;"&gt;Timer Value&lt;/span&gt; adalah register nilai timer yang terus bertambah sebagai counting timer.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Compare Match&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Compare  Match&lt;/span&gt; adalah membandingkan nilai Timer Value dengan  nilai  tertentu yang telah didefinisikan pada register pembanding. Jika nilai Compare Match dan Timer Value telah sama maka flag pada status akan set dan Timer Value akan reset (ke nilai awal 0x00 / nilai yg telah didefinisikan).&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Mode Timer CTC&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;AVR memiliki fungsi spesial yang disebut "Clear on Timer Compare" atau CTC. Mode operasi CTC terjadi secara hardware dengan membandingkan nilai timer (Timer Value)  saat ini dengan nilai timer yang ditentukan. Dan karena terjadi secara hardware maka tidak perlu secara software untuk terus mengecek Timer Value saat ini, cukup dengan melihat status flag-nya saja. Selain itu mode CTC secara otomatis akan mereset nilai Timer Value menjadi 0x00 jika nilai pembanding timer telah sama, dan anda lakukan hanya mereset flagnya saat nilai timernya tercapai.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/TJhip-rB2WI/AAAAAAAAAsQ/tFtJD0pCor4/s1600/Settings+Timer0.bmp"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 134px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/TJhip-rB2WI/AAAAAAAAAsQ/tFtJD0pCor4/s200/Settings+Timer0.bmp" alt="" id="BLOGGER_PHOTO_ID_5519269816680175970" border="0" /&gt;&lt;/a&gt;Sumber :&lt;span style="font-weight: bold;"&gt; &lt;a href="http://www.blogger.com/www.avrfreaks.net"&gt;www.avrfreaks.net&lt;/a&gt;&lt;/span&gt; dan datasheet AVR.&lt;br /&gt;(Panjang bener bacanya... Bahasa inggris jadi agak pusing artiinya... T  T)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Pada post selanjutnya akan saya coba beri contoh menghitung putaran  motor DC menggunakan interupsi timer.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CMIIW   ...^^v...&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-6217572822333240485?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/6217572822333240485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/6217572822333240485'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/09/avr-timer-timer-value-and-compare-match.html' title='AVR Timer : Timer Value and Compare Match'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_dNauCEz-yi0/TJhip-rB2WI/AAAAAAAAAsQ/tFtJD0pCor4/s72-c/Settings+Timer0.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-8145705698379116898</id><published>2010-09-15T21:35:00.000-07:00</published><updated>2011-01-26T20:46:55.437-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Timer / Counter'/><title type='text'>AVR Timer/Counter : Introduction</title><content type='html'>&lt;a href="http://www.payztronics-store.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Kali ini saya mencoba share mengenai Timer/Counter.&lt;br /&gt;Topik ini baru saya pelajari dari datasheet dan internet.&lt;br /&gt;Jadi harap maklum jika masih ada kesalahan pemahaman.&lt;br /&gt;Mohon koreksinya. ^_^v&lt;br /&gt;&lt;br /&gt;Timer/Counter adalah 2 hal yang serupa tapi tak sama.&lt;br /&gt;Jika dimisalkan anda berlari jarak 100 meter dengan waktu tempuh 20 detik sebanyak 150 langkah maka 20 detik adalah timernya, 150 langkah adalah counternya, dan kecepatannya 5 m/s.&lt;br /&gt;&lt;br /&gt;Untuk aplikasi yang umum misalnya seperti mengukur kecepatan motor DC dengan menggunakan encoder yang menggunakan piringan-hitam putih sebagai sensor detektor encoder maka keliling piringan hitam-putih adalah jarak, time sampling adalah timernya dan banyaknya count hitam-putih adalah langkahnya.&lt;br /&gt;Sebelum ke aplikasi sebaiknya pahami dulu dasarnya.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255); font-weight: bold;font-size:130%;" &gt;Dasar Timer&lt;/span&gt;&lt;br /&gt;Semua AVR memiliki fitur Timer/Counter 8 bit, ada pula yang memiliki timer 16 bit. Timer/Counter bisa sebagai Timer jika menggunakan internal clock atau sebagai Counter jika pin external digunakan sebagai sumber clock untuk menghitung (counting). Beberapa AVR juga dapat menggunakan kristal 32,768 KHz sebagai sumber eksternal clock.&lt;br /&gt;&lt;br /&gt;Timer/Counter pada AVR bekerja secara asinkron dengan AVR Core atau dengan kata lain Timer/Counter memiliki sirkuit yang terpisah dengan AVR Core sehingga dapat bekerja secara independen pada Main program, berinteraksi dengan control dan count register, dan berinteraksi dengan interupsi timer. Timer pada AVR dapat digunakan untuk menghasilkan Output pada pinnya seperti pada penggunaan PWM.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/S_t3WQRQGmI/AAAAAAAAAsA/LfswlZiSVvQ/s1600/Timer+AVR.bmp"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 144px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/S_t3WQRQGmI/AAAAAAAAAsA/LfswlZiSVvQ/s200/Timer+AVR.bmp" alt="" id="BLOGGER_PHOTO_ID_5475100996207123042" border="0" /&gt;&lt;/a&gt;Gambar disamping adalah ilustrasi timer 8 bit dan timer 16 bit.&lt;br /&gt;Jika timer dimisalkan anak tangga, timer 8 bit memiliki 256 anak tangga dengan nilai 0-255 (0x00 - 0xFF) dan timer 16 bit memiliki 65536 anak tangga dengan nilai 0-65535 (0x0000 - 0xFFFF).&lt;br /&gt;&lt;br /&gt;Counting timer seperti menaiki anak tangga tersebut satu-persatu dengan waktu yang tetap.&lt;br /&gt;Misalkan anda menaiki 1 anak tangga setiap 1,5 detik maka pada nilai 255 total waktu anda adalah 1,5 x 255 = 382,5 detik, sehingga tampak bahwa timer adalah counter dengan waktu yang periodik.&lt;br /&gt;Jika telah mencapai 255 dan masih naik terus maka akan terjadi OverFlow (melimpah/kelebihan nilai) yang berarti flag overflow (tanda terjadi OV) akan SET yaitu berlogika 1 dan nilai register counting akan mulai dari 0 (reset) atau mulai dari anak tangga 0.&lt;br /&gt;Overflow ini dapat digunakan sebagai interupsi atau fungsi lainnya.&lt;br /&gt;&lt;br /&gt;t pada gambar adalah resolusi waktu dengan persamaan 1/frekuensi sumber clock.&lt;br /&gt;Jika menggunakan sumber clock dengan frekuensi 250 Hz maka resolusi waktu adalah 1/250 Hz = 0.004 detik.&lt;br /&gt;Jika pada aplikasi anda menggunakan timer untuk LED mati 1 detik dan nyala 1 detik sedangkan sumber clock yang anda gunakan adalah 250 Hz yang memiliki resolusi 0.004 detik maka:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;0.004 detik x Count = 1 detik&lt;/li&gt;&lt;li&gt;Count = 1 / 0.004&lt;/li&gt;&lt;li&gt;Count = 250&lt;/li&gt;&lt;/ul&gt;Didapatkan nilai Count = 250 yang artinya nilai counting timer untuk mendapatkan 1 detik adalah dari 0-250, sehingga masih bisa menggunakan timer 8 bit.&lt;br /&gt;Sebaliknya jika sumber clock yang digunakan mencapai 1000 Hz dengan resolusi waktu 1/1000 = 0.001 detik maka :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;0.001 detik x Count = 1 detik&lt;/li&gt;&lt;li&gt;Count = 1  / 0.001&lt;/li&gt;&lt;li&gt;Count = 1000&lt;/li&gt;&lt;/ul&gt;Nilai Count 1000 tidak bisa menggunakan timer 8 bit secara langsung dan ada 2 cara mengatasinya yaitu menggunakan timer 16 bit atau menggunakan timer 8 bit yang diulang 4 kali&lt;br /&gt;(4 x 250 = 1000).&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;Mencari ilmu tidak cukup hanya untuk mengetahui tapi untuk dipahami."&lt;/span&gt;&lt;br /&gt;Semoga  Manfaat    ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-8145705698379116898?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8145705698379116898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8145705698379116898'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/05/avr-timercounter-introduction.html' title='AVR Timer/Counter : Introduction'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_dNauCEz-yi0/S_t3WQRQGmI/AAAAAAAAAsA/LfswlZiSVvQ/s72-c/Timer+AVR.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-159095224208960600</id><published>2010-07-05T20:47:00.000-07:00</published><updated>2011-01-26T20:46:59.539-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dongle Mikrokontroller'/><title type='text'>Tips membuat sendiri "Downloader USB".</title><content type='html'>&lt;a href="http://www.payztronics-store.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Sudah banyak modul / dongle untuk memprogram Mikrokontroller AVR.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Menggunakan port serial, parallel, dan USB, yang termurah dan termudah adalah menggunakan port parallel selain itu port parallel memliliki kecepatan program yang tinggi dibanding dengan port serial maupun USB. Oleh sebab itu untuk memprogram banyak chip mikrokontroller dengan kecepatan tinggi sebaiknya menggunakan port parallel karena menggunakan port USB atau port serial akan memakan waktu lama. Akan tetapi laptop sekarang sudah tidak mendukung dan menyediakan port parallel hanya tersedia pada PC, oleh sebab itu dibutuhkan dongle USB yaitu programmer yang memprogram mikrokontroller menggunakan port USB.&lt;br /&gt;&lt;br /&gt;Judul post &lt;span style="font-weight: bold;"&gt;Tips membuat sendiri "Downloader USB"&lt;/span&gt; di beri tanda petik karena dongle ini tidak benar-benar di buat sendiri, melainkan mencontoh dan meniru dongle USB yang dibuat orang lain.&lt;br /&gt;Akan tetapi mengubah string atau nama pembuat yang akan tampil di Device Manager sehingga tampak seperti buatan sendiri.&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Membuat Hardware&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Berikut informasi singkat membuat hardwarenya.&lt;br /&gt;Sumber link-linknya :&lt;br /&gt;&lt;a href="http://www.fischl.de/usbasp/"&gt;&lt;span style="font-weight: bold;"&gt;www.fischl.de/usbasp&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.scienceprog.com/building-and-installing-usbasp-usb-programmer-of-avr-microcontrollers/"&gt;&lt;span style="font-weight: bold;"&gt;www.scienceprog.com&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://www.fun4diy.com/AVRISP_mkII.htm"&gt;www.fun4diy.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ulrichradig.de/home/index.php/avr/usb-avr-prog"&gt;&lt;span style="font-weight: bold;"&gt;www.ulrichradig.de&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ingat yang tidak disarankan pada rangkaian ini adalah menggunakan Power Supply dari port USB untuk memberikan tegangan ke rangkaian mikrokontrollernya karena bisa merusak port USB tersebut.&lt;br /&gt;Rangkaian skematiknya :&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.scienceprog.com/wp-content/uploads/2007i/usbasp/usb_asp_cir.png"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 378px; height: 234px;" src="http://www.scienceprog.com/wp-content/uploads/2007i/usbasp/usb_asp_cir.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.fischl.de/usbasp/bilder/usbasp_circuit.png"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 376px; height: 323px;" src="http://www.fischl.de/usbasp/bilder/usbasp_circuit.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;"Dongle USB-ku"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Setelah membuat hardwarenya atau membeli USB ISP untuk memprogram AVR, pasang di port USB dan instal drivernya kamudian cek di device manager maka akan muncul nama pembuat Dongle USB tersebut, seperti Kli*** Ro***, K-1**, dll bahkan driver USB-RS232 Converter seperti PL2*** serial port COM juga bisa di ubah data stringnya.&lt;br /&gt;&lt;br /&gt;Tips ini intinya adalah bagaimana mengubah string tersebut menjadi nama yang anda inginkan seperti : USB buatanku, Dongle USBku, Downloader USB AVR Usahaku, dll.&lt;br /&gt;Caranya pada link berikut ;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 102, 0);font-size:130%;" &gt;&lt;a href="http://www.payztronics-store.com/forum/viewtopic.php?f=60&amp;amp;t=14"&gt;&lt;span&gt;www.payztronics-store.com/forum/Dongle USB&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Semoga manfaat ;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-159095224208960600?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/159095224208960600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/159095224208960600'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/08/tips-membuat-sendiri-downloader-usb.html' title='Tips membuat sendiri &quot;Downloader USB&quot;.'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-7465924722272062594</id><published>2010-07-02T10:05:00.000-07:00</published><updated>2011-01-26T20:47:13.702-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><title type='text'>Konversi Angka ASCII menjadi nilai</title><content type='html'>&lt;a href="http://www.payztronics-store.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Interface dengan komputer menjadi hal yang wajib untuk aplikasi berbasis mikrokontroller, tetapi komunikasi yang terjadi khususnya data ASCII harus diolah terlebih dahulu. Pengolahan ASCII angka (string angka) penting jika data tersebut akan dikalkulasi pada proses perhitungan / aritmatika di mikrokontroller agar hasil perhitungannya tidak salah.&lt;br /&gt;Oleh sebab itu dibutuhkan suatu fungsi mengubah data string (angka ASCII) menjadi nilai bertipe integer, float, atau char pada mikrokontroller.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Menerima Data ASCII&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Sumber data ASCII yang datang ke mikrokontroller bisa dari berbagai macam seperti : Komputer, mikrokontroller lain, input keypad, perangkat wireless, dll, yang penting anda paham bahwa data yang dikomunikasikan adalah data ASCII. Oleh sebab itu sebaiknya anda memahami dan mengetahui apa itu data ASCII, jika tidak, akan susah untuk memahami selanjutnya. Searching di google atau di  post-post sebelumnya.&lt;br /&gt;Link tabel ASCII : &lt;a style="font-weight: bold;" href="http://enteos2.area.trieste.it/russo/IntroInfo2001-2002/CorsoRetiGomezel/ASCII-EBIC_files/ascii_table.jpg"&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;ASCII&lt;/span&gt; &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Pada kasus ini, data ASCII diterima dari komputer melalui port serial (COM) yaitu komunikasi secara serial asinkron (USART).&lt;br /&gt;Baca link-link berikut : &lt;a style="font-weight: bold; color: rgb(255, 204, 51);" href="http://payztronics.blogspot.com/search/label/Komunikasi%20Data"&gt;Tutorial komunikasi data&lt;/a&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Cara I : Buat Fungsi sendiri&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Agar mudah saya menggunakan fungsi getchar() seperti pada coding berikut :&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/TJmvnJU-PkI/AAAAAAAAAsY/eETgVaLswMg/s1600/String+to+Integer.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 115px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/TJmvnJU-PkI/AAAAAAAAAsY/eETgVaLswMg/s200/String+to+Integer.JPG" alt="" id="BLOGGER_PHOTO_ID_5519635905372896834" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Misal data yang akan dikirim dari komputer adalah "12345" maka  proses yang terjadi di MCU yaitu:&lt;ol&gt;&lt;li&gt;Menunggu karakter dari  komputer dengan fungsi getchar().&lt;/li&gt;&lt;li&gt;Data diterima akan disimpan di  variabel buf_rx[x] dengan nilai x yang bersesuaian.&lt;/li&gt;&lt;li&gt;Data  diterima adalah buf_rx[0]='1', buf_rx[1]='2', buf_rx[2]='3',buf _rx[3]='4', buf_rx[4]='5'.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Ubah  data ASCII angka menjadi nilai heksadesimal. ASCII '1' = 0x31 heks  oleh  sebab itu agar nilai heksadesimalnya menjadi 0x01, nilai tersebut  harus  dikurangi 0x30 sehingga '1'-0x30 = 0x01. Maka '1'-0x30=0x01,   '2'-0x30=0x02, '3'-0x30=0x03, '4'-0x30=0x04, '5'-0x30=0x05.&lt;/li&gt;&lt;li&gt;Gabungkan  nilai tersebut sehingga di dapat nilai integer yang sebenarnya. Maka 1  x10000 + 2x1000 + 3x100 + 4x10 + 5 = 12345 (dua belas ribu tiga ratus  empat puluh lima).&lt;/li&gt;&lt;li&gt;Ambil data yang telah dikonversi lalu tampilkan data yang diterima di  LCD (Optional).&lt;/li&gt;&lt;li&gt;Selesai deh.&lt;/li&gt;&lt;/ol&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Cara II : Menggunakan Library stdlib.h&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Fungsi strtoint ini memang terbatas yaitu komunikasi harus 5 buah data.  Pada library CoViAVR telah ada fungsi &lt;span style="font-weight: bold;"&gt;atoi  (Array to Integer)&lt;/span&gt; pada library&lt;span style="font-weight: bold;"&gt;  stdlib.h&lt;/span&gt;. dan lebih sederhana tuh ^^.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/TJmxVJ4LLbI/AAAAAAAAAsg/IjuYk9SbBqg/s1600/String+to+Integer+II.JPG"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 200px; height: 49px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/TJmxVJ4LLbI/AAAAAAAAAsg/IjuYk9SbBqg/s200/String+to+Integer+II.JPG" alt="" id="BLOGGER_PHOTO_ID_5519637795306155442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Semoga manfaat ;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-7465924722272062594?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/7465924722272062594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/7465924722272062594'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/07/konversi-angka-ascii-menjadi-nilai.html' title='Konversi Angka ASCII menjadi nilai'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_dNauCEz-yi0/TJmvnJU-PkI/AAAAAAAAAsY/eETgVaLswMg/s72-c/String+to+Integer.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-7075149645064227964</id><published>2010-06-09T09:09:00.000-07:00</published><updated>2011-01-26T20:47:25.424-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASK (tanya jawab)'/><title type='text'>Ask : Mengubah string angka menjadi nilai</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;Asker : &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(153, 153, 255);"&gt;CJDW dan Lufi&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;About :&lt;/span&gt;&lt;br /&gt;Konversi tipe string (karakter angka) ke nilai (integer,float,char)&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Question :&lt;/span&gt;&lt;br /&gt;mas gimana cara membaca suatu nilai (smua tipe data baik integer, float,  sting dll) dalam dunia USART.?? Kan kalau pake getchar kan fungsi yg  cuma menerima sebuah karakter saja.&lt;br /&gt;soalnya aku coba baca nilai 234 misal dari komuter pake USART yg kebaca  '4' pake getchar.. gimana caranya? suwun nggih&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Too PayZ:&lt;/span&gt;&lt;br /&gt;Mikrokontroller AVR ATmega8535 atau uC 8 bit sejenisnya, memiliki buffer komunikasi data UART yaitu register yang bernama UDR. Register UDR ada 2 buah, masing-masing bernilai 8 bit / 1 byte yaitu 1 byte UDR buffer untuk menerima data dan 1 byte UDR buffer untuk mengirim data. Setiap terjadi penerimaan / pengiriman data satu huruf, angka, atau nilai, data ini disimpan di UDR penerima / pengirim. Karena UDR bernilai 1 byte sehingga hanya mampu menerima / mengirim 1 data pada 1 waktu.&lt;br /&gt;&lt;br /&gt;Fungsi getchar() sebenarnya membaca data yang tersimpan pada buffer UDR sehingga hanya menerima 1 data ASCII pada satu waktu, oleh sebab itu dibutuhkan memori yang  berfungsi sebagai buffer tambahan agar data ASCII yang terbaca satu-satu tersebut bisa diolah dan digabungkan menjadi 1 buah nilai.&lt;br /&gt;Sehingga data '1', '2', '3', '4' akan menjadi 1234 (integer).&lt;br /&gt;&lt;br /&gt;Sama seperti pertanyaan pada : &lt;a style="color: rgb(255, 204, 51);" href="http://payztronics.blogspot.com/2010/06/ask-angka-pd-lcd-lebih-dari-1-digit.html"&gt;Angka pd LCD lebih dari 1 digit&lt;/a&gt;&lt;br /&gt;maka akan saya bahas dalam 1 postingan berikut :&lt;br /&gt;&lt;a style="color: rgb(255, 204, 51);" href="http://payztronics.blogspot.com/2010/07/konversi-angka-ascii-menjadi-nilai.html"&gt;&lt;span style="font-weight: bold;"&gt;Konversi Angka ASCII menjadi nilai&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Semoga manfaat ;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-7075149645064227964?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/7075149645064227964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/7075149645064227964'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/06/ask-mengubah-string-angka-menjadi-nilai.html' title='Ask : Mengubah string angka menjadi nilai'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-5563614174577738704</id><published>2010-06-05T09:09:00.000-07:00</published><updated>2011-01-26T20:47:29.891-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASK (tanya jawab)'/><title type='text'>Ask : Angka pd LCD lebih dari 1 digit</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;Asker : &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(153, 153, 255);"&gt;Masyunan&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;About :&lt;/span&gt;&lt;br /&gt;LCD lebih dari 1 digit.&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Question :&lt;/span&gt;&lt;br /&gt;mas mo tanya,tentang cara menulis LCD  dengan keypad lebih dari 1 digit...thx...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Too PayZ:&lt;/span&gt;&lt;br /&gt;Logika menampilkan digit angka dan huruf pada LCD hampir sama tetapi pengolahan di dalam mikronya berbeda. Jika huruf lebih mudah dan hanya mengatur posisi x dan  y, bahkan dengan menggunakan perintah putsf dan menghitung banyaknya huruf (karakter) yang digunakan sudah dapat menampilkan huruf dengan posisi tertentu.&lt;br /&gt;&lt;br /&gt;Untuk angka berbeda dan lebih rumit karena pengolahan terjadi 2 kali :&lt;br /&gt;&lt;/div&gt;&lt;ol style="text-align: justify;"&gt;&lt;li&gt;Pada LCD yaitu pegaturan posisi x dan y, lebih rumit lagi jika bergeser kekiri atau kekanan setiap ada angka / digit baru yang ditampilkan.&lt;/li&gt;&lt;li&gt;Pada Mikrokontroller yaitu mengubah angka yang diberikan (diinputkan) menjadi sebuah nilai untuk pengolahan aritmetika (matematika) yang akan diproses selanjutnya.&lt;/li&gt;&lt;/ol&gt;&lt;div style="text-align: justify;"&gt;Ada juga yang bertanya pada : &lt;a style="color: rgb(255, 204, 51);" href="http://payztronics.blogspot.com/2010/06/ask-mengubah-string-angka-menjadi-nilai.html"&gt;Mengubah string angka menjadi nilai&lt;/a&gt;&lt;br /&gt;"mas gimana cara membaca suatu nilai (smua tipe data baik integer, float,  sting dll) dalam dunia USART.?? Kan kalau pake getchar kan fungsi yg  cuma menerima sebuah karakter saja.&lt;br /&gt;soalnya aku coba baca nilai 234 misal dari komuter pake USART yg kebaca  '4' pake getchar.. gimana caranya? suwun nggih"&lt;br /&gt;&lt;br /&gt;Pertanyaan serupa tapi mirip ;)&lt;br /&gt;Bedanya yang satu dapat input dari keypad kemudian di tampilkan di LCD.&lt;br /&gt;Yang satu lagi dapat input dari komputer kemudian di tampilkan di LCD.&lt;br /&gt;&lt;br /&gt;Yang dapat input dari komputer umumnya berupa string angka '1', '2', '3', '4', '5', dst sedangkan yang dapat input dari keypad bisa berupa string angka atau nilai heksadesimal tergantung programmernya.&lt;br /&gt;&lt;br /&gt;Saran saya, semua data dikonversi menjadi string (data ASCII), meskipun menggunakan keypad. Data pada keypad tetap berupa string karena keypad selain angka juga suatu saat akan menanpilkan huruf.&lt;br /&gt;Jadi anda bisa membuat fungsi scanning keypad seperti pada keypad HP (Handphone).&lt;br /&gt;Ditekan 1x huruf 'A', 2x huruf 'B', 3x huruf 'C', dan 4x string '1', dst.&lt;br /&gt;&lt;br /&gt;Silahkan baca posting ini untuk pertanyaan anda : &lt;a href="http://payztronics.blogspot.com/2010/07/konversi-angka-ascii-menjadi-nilai.html"&gt;&lt;span style="font-weight: bold;"&gt;Konversi Angka ASCII menjadi nilai&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Semoga manfaat ;)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-5563614174577738704?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/5563614174577738704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/5563614174577738704'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/06/ask-angka-pd-lcd-lebih-dari-1-digit.html' title='Ask : Angka pd LCD lebih dari 1 digit'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-8595485944721935440</id><published>2010-06-02T20:49:00.000-07:00</published><updated>2011-01-26T20:47:51.317-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASK (tanya jawab)'/><title type='text'>Ask : Array dalam bahasa C</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;Asker : &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(153, 153, 255);"&gt;Haglan&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;About :&lt;/span&gt;&lt;br /&gt;Array dalam bahasa C.&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Question :&lt;/span&gt;&lt;br /&gt;mw tanay nih arti program ini apa (int global_array2[]={1,2,3};) trus( int global_array2[]={1,2,3};) trus (char global_array4[]="This is a string";) tlng bantuannya&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Too PayZ:&lt;/span&gt;&lt;br /&gt;Mungkin pertanyaan Haglan diatas berkaitan dengan pertanyaan yang ini:&lt;br /&gt;"bos mw tnya nih .... langkah2 merubah pdu ke teks gmna yah ?? secara program gmn yh mhn bantuannya ."&lt;br /&gt;&lt;br /&gt;Saya sudah 3 kali mengerjakan perangkat berbasis SMS.&lt;br /&gt;Perangkat pertama dan kedua menggunakan mode PDU dengan menggunakan bahasa Assembler mikrokontroller AT89S51, sedangkan perangkat ketiga menggunakan Modem SIM300 menggunakan mode TEXT dengan bahasa C AVR mikrokontroller ATmega8535.&lt;br /&gt;Diantara mode TEXT dan mode PDU, mode PDU cukup sulit dan secara Coding lebih susah dipahami serta fleksibilitasnya kurang.&lt;br /&gt;&lt;br /&gt;Saran saya, untuk aplikasi menggunakan SMS sebaiknya menggunakan perangkat yang telah mendukung mode TEXT. Perangkat anda bisa memiliki fleksibilitas tinggi dan selalu bisa di upgrade atau dikembangkan untuk aplikasi yang luas.&lt;br /&gt;&lt;br /&gt;Pertanyaan&lt;span style="color: rgb(204, 0, 0);"&gt; &lt;span style="font-weight: bold;"&gt;int global_array2[]={1,2,3};) trus( int global_array2[]={1,2,3};) trus (char global_array4[]="This is a string";&lt;/span&gt;&lt;/span&gt; salah satunya digunakan klo aplikasi SMS dengan mode PDU.&lt;br /&gt;Pada aplikasi ini variabel global array ini digunakan sebagai RAM untuk menyimpan data yang akan berfungsi sebagai pembanding, yaitu membandingkan data yang akan dibaca pada PDU SMS dengan data yang kita inginkan (yang disimpan pada global_array).&lt;br /&gt;&lt;br /&gt;Saya jelaskan untuk aplikasi secara umum saja ( saya rubah sedikit).&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;A =&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array1[]={1,2,9};&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;B =&gt; signed &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array2[]={-260,1,2,9,500};&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;C =&gt; unsigned char global_array3[]={'1','9','C','$','G'};&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;D =&gt; char global_array4[]="This is a string"&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Contoh A&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;A =&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array1[]={1,2,9};&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Pada contoh A global variabel tipenya adalah int dengan nilai range  0-65535 (secara default &lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;int&lt;/span&gt;  akan diubah menjadi &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;unsigned int&lt;/span&gt; oleh CodeVisionAVR) oleh sebab itu selama nilai berada pada jangkauan 0-65535, tidak akan menghasilkan error pada program (Compiler mungkin tidak mengeluarkan pesan error).&lt;br /&gt;Penulisan Array bisa seperti ini &lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array1[3]={1,2,9};&lt;/span&gt;&lt;/span&gt; itu jika jumlah array diketahui (sedikit) yaitu 3 buah array, tetapi jika jumlah array banyak atau tidak diketahui (atau malas menghitungnya) dapat dituliskan seperti ini &lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array1[]={1,2,9};&lt;/span&gt;&lt;/span&gt; selanjutnya nanti compiler yang urus.&lt;br /&gt;Contoh A seolah-olah dituliskan seperti ini:&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array1[0]=1; &lt;/span&gt;&lt;/span&gt;//array selalu dimulai dari 0 (nol).&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array1[1]=2;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array1[2]=9;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Contoh B&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;B =&gt; signed &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array2[]={-260,1,2,9,500};&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Pada contoh B global variabel tipenya adalah signed int dengan nilai range  -32768 - 32767&lt;br /&gt;(Penjelasan sama dengan contoh A).&lt;br /&gt;Contoh B seolah-olah dituliskan seperti ini:&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array2[0]=-260; &lt;/span&gt;&lt;/span&gt;//array selalu dimulai dari 0 (nol).&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array2[1]=1;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array2[2]=2;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array2[3]=9;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array2[4]=500;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Contoh C&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;C =&gt; unsigned char global_array3[]={'1','9','C','$','G'};&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Pada contoh C global variabel tipenya adalah unsigned char dengan nilai range  0 - 255.&lt;br /&gt;Karakter yang terdapat pada keyboard, text, LCD karakter, dll menggunakan ASCII dengan nilai range 0-255 sehingga tidak mungkin bernilai negatif.&lt;br /&gt;(Penjelasan sama dengan contoh A).&lt;br /&gt;Contoh C seolah-olah dituliskan seperti ini:&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array3[0]='1';&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;// ingat 1 tidak sama dengan '1'&lt;br /&gt;//1 = 0x01 sedangkan '1' = 0x31; heksa desimal&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;//atau 1 = 1 sedangkan '1' = 49; desimal&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array3[1]='9'; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array3[2]='C';&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array3[3]='$';&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array3[4]='G';&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Contoh D&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;D =&gt; char global_array4[]="This is a string"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Pada contoh D global variabel tipenya adalah char dengan nilai range  0 - 255  (secara default &lt;span style="color: rgb(204, 0, 0); font-weight: bold;"&gt;char &lt;/span&gt;akan diubah menjadi &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;unsigned char &lt;/span&gt;oleh CodeVisionAVR).&lt;br /&gt;Karakter yang terdapat pada keyboard, text, LCD karakter, dll menggunakan ASCII dengan nilai range 0-255 sehingga tidak mungkin bernilai negatif.&lt;br /&gt;(Penjelasan sama dengan contoh A).&lt;br /&gt;Contoh D seolah-olah dituliskan seperti ini:&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array4[0]='T';&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array4[1]='h';&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array4[2]='i';&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array4[3]='s';&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array4[4]=' ';&lt;/span&gt;&lt;/span&gt; // karakter spasi'&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array4[5]='i';&lt;/span&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array4[6]='s';&lt;/span&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array4[7]=' ';&lt;/span&gt;&lt;/span&gt; // karakter spasi&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array4[8]='a';&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array4[9]=' ';&lt;/span&gt;&lt;/span&gt; // karakter spasi&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array4[10]='s';&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array4[11]='t';&lt;/span&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array4[12]='r';&lt;/span&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array4[13]='i';&lt;/span&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array4[14]='n';&lt;/span&gt;&lt;/span&gt; &lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;int &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;global_array4[15]='g';&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Selengkapnya baca Help CodeVisionAVR&lt;br /&gt;Semoga manfaat ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-8595485944721935440?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8595485944721935440'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8595485944721935440'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/06/ask-array-dalam-bahasa-c.html' title='Ask : Array dalam bahasa C'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-238297791768106094</id><published>2010-04-19T01:09:00.000-07:00</published><updated>2011-01-26T20:47:57.536-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Too PayZ Project'/><title type='text'>Panel Surya Atap Rumah</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Depan&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/S8wQwsM-A3I/AAAAAAAAArg/zlfWzj4npxo/s1600/Depan.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/S8wQwsM-A3I/AAAAAAAAArg/zlfWzj4npxo/s200/Depan.jpg" alt="" id="BLOGGER_PHOTO_ID_5461758876778890098" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S8wQvQvkKpI/AAAAAAAAArA/cI6eLJBb-S8/s1600/Atas.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px; height: 200px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S8wQvQvkKpI/AAAAAAAAArA/cI6eLJBb-S8/s200/Atas.jpg" alt="" id="BLOGGER_PHOTO_ID_5461758852227934866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Belakang&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S8wQvs9Xm5I/AAAAAAAAArI/kkYwI3RRTG4/s1600/Belakang.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 155px; height: 118px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S8wQvs9Xm5I/AAAAAAAAArI/kkYwI3RRTG4/s200/Belakang.jpg" alt="" id="BLOGGER_PHOTO_ID_5461758859802024850" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S8wQwBRpz2I/AAAAAAAAArQ/qiNXjOnQWyY/s1600/Belakang2.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 155px; height: 118px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S8wQwBRpz2I/AAAAAAAAArQ/qiNXjOnQWyY/s200/Belakang2.jpg" alt="" id="BLOGGER_PHOTO_ID_5461758865255812962" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S8wQwd_stQI/AAAAAAAAArY/VKwN_jPWjHM/s1600/Belakang3.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S8wQwd_stQI/AAAAAAAAArY/VKwN_jPWjHM/s200/Belakang3.jpg" alt="" id="BLOGGER_PHOTO_ID_5461758872965133570" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Mikrokontroller AVR&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/S8wR5PCCqDI/AAAAAAAAAro/9428--nfQsg/s1600/Mikrokontroller.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px; height: 200px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/S8wR5PCCqDI/AAAAAAAAAro/9428--nfQsg/s200/Mikrokontroller.jpg" alt="" id="BLOGGER_PHOTO_ID_5461760123078879282" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Servo X, Y, dan Sensor Cahaya LDR&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S8wR5XOYctI/AAAAAAAAArw/kEtyapAdA9k/s1600/Motor+Servo+Horizontal+Vertikal.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px; height: 200px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S8wR5XOYctI/AAAAAAAAArw/kEtyapAdA9k/s200/Motor+Servo+Horizontal+Vertikal.jpg" alt="" id="BLOGGER_PHOTO_ID_5461760125278122706" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/S8wR5yDcsPI/AAAAAAAAAr4/lB-W7FeV_uA/s1600/Sensor+Cahaya+LDR.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px; height: 200px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/S8wR5yDcsPI/AAAAAAAAAr4/lB-W7FeV_uA/s200/Sensor+Cahaya+LDR.jpg" alt="" id="BLOGGER_PHOTO_ID_5461760132480020722" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-238297791768106094?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/238297791768106094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/238297791768106094'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/04/panel-surya-atap-rumah.html' title='Panel Surya Atap Rumah'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_dNauCEz-yi0/S8wQwsM-A3I/AAAAAAAAArg/zlfWzj4npxo/s72-c/Depan.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-2599994696885792599</id><published>2010-04-17T22:58:00.000-07:00</published><updated>2011-01-26T20:48:02.518-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Too PayZ Project'/><title type='text'>Wireless Medical Ring</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S8vz3YGt-UI/AAAAAAAAAq4/qoanGXojHDM/s1600/Transmitter+Reciever.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S8vz3YGt-UI/AAAAAAAAAq4/qoanGXojHDM/s200/Transmitter+Reciever.jpg" alt="" id="BLOGGER_PHOTO_ID_5461727105805842754" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Server n Client&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/S8vzfNzvebI/AAAAAAAAAqY/B117nHoDDQY/s1600/Slave.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/S8vzfNzvebI/AAAAAAAAAqY/B117nHoDDQY/s200/Slave.jpg" alt="" id="BLOGGER_PHOTO_ID_5461726690725034418" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Server&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/S8vzebDTo4I/AAAAAAAAAqQ/cV1vPdJC0PM/s1600/Master.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/S8vzebDTo4I/AAAAAAAAAqQ/cV1vPdJC0PM/s200/Master.jpg" alt="" id="BLOGGER_PHOTO_ID_5461726677100110722" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Client&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/S8vzeE-dINI/AAAAAAAAAqI/a3NwMuB-uqU/s1600/Interface+Laptop.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/S8vzeE-dINI/AAAAAAAAAqI/a3NwMuB-uqU/s200/Interface+Laptop.jpg" alt="" id="BLOGGER_PHOTO_ID_5461726671174181074" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Interface Laptop&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/S8vz3GGQFCI/AAAAAAAAAqw/dLWaD5he7LI/s1600/Tampilan+di+terminal.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/S8vz3GGQFCI/AAAAAAAAAqw/dLWaD5he7LI/s200/Tampilan+di+terminal.jpg" alt="" id="BLOGGER_PHOTO_ID_5461727100972045346" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Data pada Terminal CoViAVR&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S8vzfuvQCbI/AAAAAAAAAqo/QXRlvsZEvMQ/s1600/Suhu,+Detak,+Call+2.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S8vzfuvQCbI/AAAAAAAAAqo/QXRlvsZEvMQ/s200/Suhu,+Detak,+Call+2.jpg" alt="" id="BLOGGER_PHOTO_ID_5461726699564566962" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/S8vzfQ1ffoI/AAAAAAAAAqg/2v3zV8oW6Js/s1600/Suhu,+Detak,+Call.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/S8vzfQ1ffoI/AAAAAAAAAqg/2v3zV8oW6Js/s200/Suhu,+Detak,+Call.jpg" alt="" id="BLOGGER_PHOTO_ID_5461726691537682050" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Sensor SHT11, HeartBeat, Button Call&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-2599994696885792599?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/2599994696885792599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/2599994696885792599'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/04/wireless-medical-ring.html' title='Wireless Medical Ring'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dNauCEz-yi0/S8vz3YGt-UI/AAAAAAAAAq4/qoanGXojHDM/s72-c/Transmitter+Reciever.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-4677786072364933729</id><published>2010-04-16T14:07:00.000-07:00</published><updated>2012-01-23T07:26:50.456-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='Too PayZ Project'/><title type='text'>Video : Softdrink Seller via SMS</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;span style="color: #ffcc33; font-size: 180%;"&gt;&lt;span style="font-weight: bold;"&gt;Cekibroot.........&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-65e9c3279328c31d" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v16.nonxt3.googlevideo.com/videoplayback?id%3D65e9c3279328c31d%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1333404991%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D2EFD777F5C619D8F1D7BC81A5B4B412F1CF558F7.707BB494307BD564A8541753103C39B54174D2F4%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D65e9c3279328c31d%26offsetms%3D5000%26itag%3Dw160%26sigh%3DtL3U4fyHos5QDF8Z_Z1IimW8Ypo&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v16.nonxt3.googlevideo.com/videoplayback?id%3D65e9c3279328c31d%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1333404991%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D2EFD777F5C619D8F1D7BC81A5B4B412F1CF558F7.707BB494307BD564A8541753103C39B54174D2F4%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D65e9c3279328c31d%26offsetms%3D5000%26itag%3Dw160%26sigh%3DtL3U4fyHos5QDF8Z_Z1IimW8Ypo&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Buat video-nya saja berulang ulang dan ulang.....&lt;br /&gt;Cape sendiri...&lt;br /&gt;;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-4677786072364933729?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/4677786072364933729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/4677786072364933729'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/04/sms-softdrink-seller-via-sms.html' title='Video : Softdrink Seller via SMS'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-8406181676333312817</id><published>2010-04-05T21:28:00.000-07:00</published><updated>2011-02-17T05:51:10.195-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial CoViAVR'/><category scheme='http://www.blogger.com/atom/ns#' term='EEPROM'/><title type='text'>EEPROM : Mengakses EEPROM AVR</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Mikrokontroller AVR telah memiliki EEPROM internal yang dapat diakses langsung dengan mudah seperti halnya mengakses variabel nilai. Dengan fitur EEPROM ini perancang tidak perlu menambahkan eksternal EEPROM dan juga tidak perlu repot-repot membuat fungsi untuk mengakses EEPROM tersebut.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;EEPROM pada CoViAVR&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Mengakses dan mengaktifkan EEPROM pada CoViAVR semudah membuat dan memberikan nilai pada variabel global. Silahkan baca help CoViAVR tentang &lt;span style="font-weight: bold;"&gt;Accessing the EEPROM&lt;/span&gt;.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/S8qNXexA0_I/AAAAAAAAApo/qJ3PAQnHrDU/s1600/Akses+EEPROM+AVR.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 172px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/S8qNXexA0_I/AAAAAAAAApo/qJ3PAQnHrDU/s200/Akses+EEPROM+AVR.bmp" alt="" id="BLOGGER_PHOTO_ID_5461332932675294194" border="0" /&gt;&lt;/a&gt;Penggunaan EEPROM harus menggunakan &lt;span style="font-weight: bold;"&gt;global variabel&lt;/span&gt; dan ditambahkan kata &lt;span style="font-weight: bold; color: rgb(255, 153, 255);"&gt;eeprom &lt;/span&gt;atau &lt;span style="font-weight: bold; color: rgb(255, 153, 255);"&gt;_eeprom&lt;/span&gt;. Pemberian nama dan nilai semudah pemberian nilai pada variabel lainnya.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Indikator digunakan dan terpakainya EEPROM pada AVR yaitu ketika dicompile akan tampak seperti gambar berikut :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/S8qRHky3EvI/AAAAAAAAApw/9ub4H9zWCIY/s1600/EEPROM+used.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 122px; height: 227px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/S8qRHky3EvI/AAAAAAAAApw/9ub4H9zWCIY/s200/EEPROM+used.bmp" alt="" id="BLOGGER_PHOTO_ID_5461337057462260466" border="0" /&gt;&lt;/a&gt;Beberapa catatan mengenai EEPROM pada avr yaitu :&lt;ul&gt;&lt;li&gt;Total EEPROM pada ATmega8535 adalah 512 Byte EEPROM.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;EEPROM AVR menggunakan ukuran data terkecil yaitu 16 bit atau 2 Byte sehingga total EEPROM yang bisa digunakan pada CoViAVR adalah 512 / 2 = 256.&lt;/li&gt;&lt;li&gt;Secara otomatis alamat EEPROM akan dimulai dari 0x0000 dan untuk menentukan alamat EEPROM sesuai keinginan programmer yaitu menggunakan tanda &lt;span style="font-weight: bold;"&gt;@&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;misalnya : &lt;span style="font-weight: bold; color: rgb(255, 153, 255);"&gt;eeprom&lt;/span&gt; unsigned int nilai @0x2C;&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Mengakses EEPROM&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/S8qakFc1-pI/AAAAAAAAAqA/iZogG2UGjuw/s1600/Using+EEPROM.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 167px; height: 106px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/S8qakFc1-pI/AAAAAAAAAqA/iZogG2UGjuw/s200/Using+EEPROM.bmp" alt="" id="BLOGGER_PHOTO_ID_5461347442869271186" border="0" /&gt;&lt;/a&gt;Potongan coding disamping adalah mengakses serial RTC kemudian data jam, menit, detik, tanggal, bulan, dan tahun disimpan di EEPROM AVR. Aplikasi ini digunakan untuk aplikasi &lt;span style="font-weight: bold;"&gt;scheduling controller&lt;/span&gt; atau alat pengendali berdasarkan jadual dan kalender yang ditentukan.&lt;br /&gt;&lt;br /&gt;Ketika chip mikrokontroller AVR di program (didownload) maka saat itu pula seluruh EEPROM diprogram dan diberikan nilai sesuai dengan nilai yang diprogram pada global variabel, dalam hal ini EEPROM jam, menit, detik bernilai 0,  tanggal = 1, bulan = 1, dan tahun = 10 (0x0A);&lt;br /&gt;Hal inilah yang menyebabkan jika anda memprogram kembali chip mikrokontroller maka nilai EEPROM di reset sehingga seolah-olah nilai EEPROM tidak berubah atau tidak tersimpan.&lt;br /&gt;&lt;br /&gt;Silahkan baca posting EEPROM selanjutnya.&lt;br /&gt;Semoga manfaat ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-8406181676333312817?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8406181676333312817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8406181676333312817'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/04/eeprom-mengakses-eeprom-avr.html' title='EEPROM : Mengakses EEPROM AVR'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_dNauCEz-yi0/S8qNXexA0_I/AAAAAAAAApo/qJ3PAQnHrDU/s72-c/Akses+EEPROM+AVR.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-4162026654694011980</id><published>2010-04-03T01:42:00.000-07:00</published><updated>2011-01-26T20:48:28.580-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial CoViAVR'/><title type='text'>Data Type pada CoViAVR</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Pada posting : &lt;a style="font-weight: bold;" href="http://payztronics.blogspot.com/2010/02/matematika-pd-bilangan-pecahan-float.html"&gt;Matematika pd Bilangan Pecahan (float)&lt;/a&gt;&lt;br /&gt;Saya membahas mengenai error pada hasil perhitungan, dan ketika membuka-buka Help CoViAVR tentang &lt;span style="font-weight: bold;"&gt;Data Types&lt;/span&gt; dan &lt;span style="font-weight: bold;"&gt;Type Conversions&lt;/span&gt; terdapat informasi yang menunjukkan penyebab terjadinya error pada pemrosesan 2 buah bilangan yang berbeda tipe.&lt;br /&gt;Kali ini akan saya coba bahas.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Data Types&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/S8WDIAB3VbI/AAAAAAAAApg/lduEt2fwNqc/s1600/Data+Types.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 138px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/S8WDIAB3VbI/AAAAAAAAApg/lduEt2fwNqc/s200/Data+Types.bmp" alt="" id="BLOGGER_PHOTO_ID_5459914296726607282" border="0" /&gt;&lt;/a&gt;Gambar tersebut memberikan informasi mengenai tipe data, penulisan tipe data, range tipe data, dan ukurannya / &lt;span style="font-weight: bold;"&gt;Size (Bits)&lt;/span&gt;.&lt;br /&gt;Jika menggunakan program pada komputer seperti Delphi, Visual C, Visual Studio, Visual Basic, dll, penggunaan tipe data kurang begitu diperhatikan karena komputer memiliki prosessor yang cepat dan RAM yang besar.&lt;br /&gt;&lt;br /&gt;Tetapi untuk mikrokontroller penggunaan tipe data (sangat) penting karena mempengaruhi beberapa hal antara lain : kecepatan eksekusi mikrokontroller, penggunaan RAM / &lt;span style="font-weight: bold;"&gt;Data Stack Size&lt;/span&gt;, Kapasitas memori program, dan hasil pada perhitungan.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Type Data&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Type&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;data &lt;/span&gt;penulisannya harus sesuai agar range nilai yang digunakan sesuai dengan perancangan, penulisan tipe data seperti pada gambar diatas. Jika tipe data &lt;span style="font-weight: bold;"&gt;char &lt;/span&gt;ditulis tanpa menggunakan &lt;span style="font-weight: bold;"&gt;unsigned &lt;/span&gt;(tidak tanda) atau &lt;span style="font-weight: bold;"&gt;signed &lt;/span&gt;(bertanda) maka secara otomatis compiler akan membuatnya menjadi &lt;span style="font-weight: bold;"&gt;unsigned &lt;/span&gt;sesuai dengan konfigurasi &lt;span style="font-weight: bold;"&gt;default&lt;/span&gt;-nya.&lt;br /&gt;&lt;br /&gt;Pada tipe bit, bool, _Bool menyatakan suatu keadaan yang bernilai &lt;span style="font-weight: bold;"&gt;true (1 / high)&lt;/span&gt; atau &lt;span style="font-weight: bold;"&gt;false (0 /low)&lt;/span&gt; tetapi ukuran &lt;span style="font-weight: bold;"&gt;bit &lt;/span&gt;hanya &lt;span style="font-weight: bold;"&gt;1 bit&lt;/span&gt; sedangkan ukuran &lt;span style="font-weight: bold;"&gt;bool &lt;/span&gt;dan &lt;span style="font-weight: bold;"&gt;_Bool&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;1 byte&lt;/span&gt; (&lt;span style="font-weight: bold;"&gt;8 bit&lt;/span&gt;). Oleh sebab itu harus mengetahui kapan menggunakan bit dan kapan menggunakan bool/_Bool.&lt;br /&gt;Contohnya yaitu ketika bit digunakan saat mengakses 1 buah pin mikrokontroller dan bool digunakan ketika menggunakan 1 buah RAM (1 byte) sebagai memori menyimpan nilai &lt;span style="font-weight: bold;"&gt;true &lt;/span&gt;atau&lt;span style="font-weight: bold;"&gt; false&lt;/span&gt; (karena ram / stack pointer minimal 1 byte).&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Size (bits)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Size (bits)&lt;/span&gt; berpengaruh pada beberapa hal yaitu (yang kuketahui) :&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Besarnya memori program, RAM, data stack size, dan EEPROM (jika digunakan). Oleh sebab itu untuk menghemat memori gunakan tipe data yang tepat.&lt;/li&gt;&lt;li&gt;Kecepatan eksekusi mikrokontroller. Berkaitan dengan point 1 semakin besar &lt;span style="font-weight: bold;"&gt;Size&lt;/span&gt;-nya semakin lama waktu eksekusinya.&lt;/li&gt;&lt;li&gt;Kesalahan pada proses aritmatika data atau perpindahan data.&lt;/li&gt;&lt;/ol&gt;Untuk point 3 silahkan lihat pada help CVAVR tentang Type Conversion. Dijelaskan bahwa pada&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt; Project|Configure|C Compiler|Code Generation|Promote char to int&lt;/span&gt; tidak di centang, karena konfigurasi ini di rancang untuk AVR  dengan CPU 16 dan 32 bit, tidak disarankan untuk AVR dengan CPU 8 bit seperti ATmega8535. Jika dicentang maka setiap variabel dengan &lt;span style="font-weight: bold;"&gt;size &lt;/span&gt;8 bit akan dikonversi menjadi 16 bit sehingga berpengaruh pada penggunaan memori dan memperlambat kecepatan CPU AVR.&lt;br /&gt;&lt;br /&gt;Contoh untuk aritmatika :&lt;br /&gt;unsigned char a=30;&lt;br /&gt;unsigned char b=128;&lt;br /&gt;unsigned int c;&lt;br /&gt;&lt;br /&gt;c=a*b;                            // hasilnya salah&lt;br /&gt;c=(unsigned int) a*b;    // hasil tipe unsigned char dikonversi menjadi unsigned int.&lt;br /&gt;&lt;br /&gt;Met Mencoba. ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-4162026654694011980?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/4162026654694011980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/4162026654694011980'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/04/data-type-pada-coviavr.html' title='Data Type pada CoViAVR'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_dNauCEz-yi0/S8WDIAB3VbI/AAAAAAAAApg/lduEt2fwNqc/s72-c/Data+Types.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-899284935069770767</id><published>2010-03-25T20:43:00.000-07:00</published><updated>2011-01-26T20:48:33.339-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Komunikasi Data'/><title type='text'>KAuC : Komunikasi dgn Parallel</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Silahkan baca posting sebelumnya.&lt;br /&gt;&lt;br /&gt;Setelah KAuC dengan UART selanjutnya dengan parallel.&lt;br /&gt;KAuC dengan parallel lebih mudah dan lebih cepat dibandingkan dengan UART tetapi cukup rumit untuk dijelaskan sehingga tampak lebih sulit. Hal ini karena KAuC dgn parallel bisa menggunakan data ASCII, heksadesimal, data 1 byte, 2 byte, 1 bit, 2 bit, 3 bit, 4 bit, 5 bit, 6 bit, 7 bit, 8 bit, dst dan tergantung programmer sehingga bisa banyak cara yang berbeda.&lt;br /&gt;&lt;br /&gt;Beberapa contoh :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;2 Byte (16 pin) : anda ingin KAuC untuk pembacaan suhu sistem mencapai 6500° C (Bah serem..^^) yaitu hingga 13 bit, karena 1 Byte (8 bit) maksimum bernilai 255 sehingga ditambahkan bit lain hingga memakan 13 pin MCU, jika ditambahkan Handshake RD, WR, dan CS maka memakan 16 pin (2 byte).&lt;/li&gt;&lt;li&gt;1 Byte (8 pin) : Seperti pada karakter LCD 16x2.&lt;/li&gt;&lt;li&gt;3 pin : anda ingin MCU Master mengolah arah jalan mobil robot dan MCU Slave menerima data dan menggerakkan motor DC. Master hanya mengirim dan Slave hanya menerima, Data komunikasi sbb : 000 = stop, 010 = Maju Lurus, 001 = belok kanan, 100 = belok kiri, 111 = mundur, dst.&lt;/li&gt;&lt;/ul&gt;Seperti biasa, pastikan Hardware yang dibuat telah benar dan tidak error lagi sehingga hanya fokus masalah Coding saja, Langkah ini adalah langkah awal dan penting untuk memperkecil kesalahan.&lt;br /&gt;Karena mode parallel, pengecekan MCU cukup dengan memprogram &lt;span style="font-weight: bold;"&gt;Running LED&lt;/span&gt; atau &lt;span style="font-weight: bold;"&gt;Led kedap-kedip bergantian&lt;/span&gt; dan untuk cek input menggunakan &lt;span style="font-weight: bold;"&gt;dip switch&lt;/span&gt; atau &lt;span style="font-weight: bold;"&gt;saklar togle&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;"&gt;Jangan lanjut sebelum proses pengecekan Parallel benar-benar berhasil.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Protokol dan Komunikasi Data&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt; ASCII atau Heksadesimal&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Jika menggunakan interface Parallel komunikasi data bisa menggunakan data Heksadesimal ataupun karakter ASCII akan tetapi (relatif) lebih mudah dan lebih cepat menggunakan komunikasi &lt;span style="font-weight: bold;"&gt;bit &lt;/span&gt;dan &lt;span style="font-weight: bold;"&gt;Heksadesimal&lt;/span&gt;.&lt;br /&gt;Menentukan protokol komunikasi data bisa sesuai keinginan anda berdasarkan sistem yang dikendalikan dan juga jangan lupa pada Master dan Slave terdapat kesesuaian protokol-nya. Oleh sebab itu beda kepala bisa berbeda protokol yang diinginkan.&lt;br /&gt;&lt;br /&gt;Berikut protokol dengan contoh kasus pengendalian motor servo oleh Slave dengan data sudut pergerakan setiap servo ditentukan oleh Master.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/S8ONsS-UkqI/AAAAAAAAApI/FJkYcsX_usI/s1600/Master+Slave+Parallel.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 66px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/S8ONsS-UkqI/AAAAAAAAApI/FJkYcsX_usI/s200/Master+Slave+Parallel.bmp" alt="" id="BLOGGER_PHOTO_ID_5459362965450166946" border="0" /&gt;&lt;/a&gt;Dari gambar, Master sebagai &lt;span style="font-weight: bold;"&gt;Main Processor&lt;/span&gt; yaitu "pemikir" yang berfungsi membaca sensor mengolah dan mengatur nilai sudut-sudut pergerakan setiap motor Servo, sedangkan Slave hanya sebagai penggerak motor servo pada tujuan sudut yang telah diberikan oleh Master.&lt;br /&gt;Master hanya pemberi data sedangkan Slave hanya penerima data. Komunikasi data yang digunakan adalah 4 bit dengan 3 pin sebagai alamat motor Servo dan 1 pin untuk &lt;span style="font-weight: bold;"&gt;nibble atas&lt;/span&gt; dan &lt;span style="font-weight: bold;"&gt;nibble bawah&lt;/span&gt;. Pengertian sederhana &lt;span style="font-weight: bold;"&gt;nibble &lt;/span&gt;adalah setengahnya dari &lt;span style="font-weight: bold;"&gt;byte&lt;/span&gt;, jika byte 8 bit maka nibble 4 bit. Bit 0-3 disebut nibble bawah dan bit 4-7 disebut nibble atas.&lt;br /&gt;Beberapa link tentang penjelasan Nibble dalam byte.&lt;br /&gt;&lt;a href="http://memo.tv/bits_bytes_nibbles_binary_and_hex"&gt;http://memo.tv/bits_bytes_nibbles_binary_and_hex&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Nibble"&gt;http://en.wikipedia.org/wiki/Nibble&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Komunikasi Data.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Berdasarkan gambar atau rancangan diatas dan penggunaan pin pada port mikrokontroller maka :&lt;br /&gt;Pin 0-2 = Alamat motor Servo.&lt;br /&gt;Pin 3    = Nible bawah (0) / Nible atas (1)&lt;br /&gt;pin 4-7 = Nilai sudut motor Servo&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S8QYCJ4hbQI/AAAAAAAAApQ/VoC6rOX6Yjc/s1600/KAuC+Servo_Parallel+Master.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 173px; height: 170px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S8QYCJ4hbQI/AAAAAAAAApQ/VoC6rOX6Yjc/s200/KAuC+Servo_Parallel+Master.bmp" alt="" id="BLOGGER_PHOTO_ID_5459515073571679490" border="0" /&gt;&lt;/a&gt;Cara kerja coding Master adalah sebagai berikut :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Kondisi default &lt;span style="font-weight: bold;"&gt;PORT_servo&lt;/span&gt; = &lt;span style="font-weight: bold;"&gt;0x00&lt;/span&gt; = &lt;span style="font-weight: bold;"&gt;0b00000000&lt;/span&gt;, yang berarti tidak ada data dan tidak terjadi komunikasi.&lt;/li&gt;&lt;li&gt;Seluruh data sudut servo berada pada variabel &lt;span style="font-weight: bold;"&gt;master_sudut&lt;/span&gt; yaitu sebanyak 7 servo.&lt;/li&gt;&lt;li&gt;Semua data sudut motor servo, baik yang nilai sudutnya berubah maupun tetap akan diberikan kepada slave melalui perintah perulangan &lt;span style="font-weight: bold;"&gt;for loop&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Data yang pertama dipersiapkan (tapi belum diberikan) adalah alamat motor servo yaitu dimulai dari motor servo 1 (terakhir motor servo 7).&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;PORT_nibble&lt;/span&gt; (PORTC.3) berlogika 1 yang berarti nibble atas dulu yang diberikan, bit 7 - bit 4.&lt;/li&gt;&lt;li&gt;Berikan data nibble atas + alamat dan tunggu 50 ms (bisa diubah sesuai keinginan, semakin cepat semakin baik).&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;PORT_nibble&lt;/span&gt; (PORTC.3) berlogika 0 yang berarti nibble bawah diberikan, bit 3 - bit 0.&lt;/li&gt;&lt;li&gt;Berikan data nibble bawah + alamat dan tunggu 50 ms (bisa diubah sesuai keinginan, semakin cepat semakin baik).&lt;/li&gt;&lt;li&gt;Jika semua data sudut servo sudah diberikan kondisi &lt;span style="font-weight: bold;"&gt;PORT_servo&lt;/span&gt; = &lt;span style="font-weight: bold;"&gt;0x00&lt;/span&gt; = &lt;span style="font-weight: bold;"&gt;0b00000000&lt;/span&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S8QYCmPLceI/AAAAAAAAApY/PhNkA3lLxm0/s1600/KAuC+Servo_Parallel+Slave.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 173px; height: 185px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S8QYCmPLceI/AAAAAAAAApY/PhNkA3lLxm0/s200/KAuC+Servo_Parallel+Slave.bmp" alt="" id="BLOGGER_PHOTO_ID_5459515081182900706" border="0" /&gt;&lt;/a&gt;Cara kerja coding Slave adalah sebagai berikut :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Kondisi default &lt;span style="font-weight: bold;"&gt;PIN_servo&lt;/span&gt; = &lt;span style="font-weight: bold;"&gt;0xff&lt;/span&gt; = &lt;span style="font-weight: bold;"&gt;0b11111111&lt;/span&gt;, yang berarti aktif low.&lt;/li&gt;&lt;li&gt;Jika &lt;span style="font-weight: bold;"&gt;PIN_servo&lt;/span&gt; tidak sama dengan &lt;span style="font-weight: bold;"&gt;0x00&lt;/span&gt; berarti Master memberikan data servo dan terjadi komunikasi.&lt;/li&gt;&lt;li&gt;Data yang bertama diolah adalah alamat servo yang akan diberikan nilai sudut dan disimpan pada variabel &lt;span style="font-weight: bold;"&gt;add_srv&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Deteksi &lt;span style="font-weight: bold;"&gt;PIN_nible&lt;/span&gt; jika &lt;span style="font-weight: bold;"&gt;LOW&lt;/span&gt; (0) maka data yang diterima adalah nibble bawah dan jika &lt;span style="font-weight: bold;"&gt;HIGH&lt;/span&gt; (1) data yang diterima adalah nibble atas, simpan di variable &lt;span style="font-weight: bold;"&gt;nible_high&lt;/span&gt; dan &lt;span style="font-weight: bold;"&gt;nible_low&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Alamat servo sudah diterima nible atas dan nible bawah sudah diterima, selanjutnya menggabungkan setiap data.&lt;/li&gt;&lt;li&gt;Data tersebut olah dan berikan ke setiap motor servo yang ada.&lt;/li&gt;&lt;/ul&gt;Wow...terlihat rumit...&lt;br /&gt;Memang terlihat rumit karena "maksa" 1 port, jika menggunakan 2 PORT (Misal PORTB dan PORTC) dengan PORTB handshake atau alamat kemudian PORTC sebagai data, akan lebih sederhana lagi programnya.&lt;br /&gt;Bayangkan, anda bisa mengendalikan 255 motor servo tanpa mengubah protokol program  untuk komunikasi data.&lt;br /&gt;Jika menggunakan UART semakin banyak motor servo, protokolnya semakin banyak dan panjang serta semakin ribet.&lt;br /&gt;Sebenarnya tetap tergantung codingnya... Xixixixixixiixii... ^^v&lt;br /&gt;&lt;br /&gt;Semoga Manfaat    ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-899284935069770767?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/899284935069770767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/899284935069770767'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/03/kauc-komunikasi-dgn-parallel.html' title='KAuC : Komunikasi dgn Parallel'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_dNauCEz-yi0/S8ONsS-UkqI/AAAAAAAAApI/FJkYcsX_usI/s72-c/Master+Slave+Parallel.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-4556428863186728881</id><published>2010-03-22T23:06:00.000-07:00</published><updated>2011-01-26T20:49:09.636-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Komunikasi Data'/><title type='text'>KAuC : Komunikasi dgn UART</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Silahkan baca posting sebelumnya.&lt;br /&gt;&lt;br /&gt;Sebelum membahas jenis komunikasi antar MCU yang lebih sulit, maka saya bahas yang paling mudah dulu yaitu Komunikasi antar MCU menggunakan UART. Pastikan Hardware yang dibuat telah benar dan tidak error lagi sehingga hanya fokus masalah Coding saja, Langkah ini adalah langkah awal dan penting untuk memperkecil kesalahan.&lt;br /&gt;Berikut saya bahas singkat pengecekan hardware untuk KAuC dengan UART.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Perancangan dan Pengecekan Hardware&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. Buat 2 buah rangkaian MCU (Microcontroller Unit).&lt;/span&gt;&lt;br /&gt;Buat 2 buah rangkaian MCU ATmega8535. MCU pertama dijadikan Master dan MCU kedua dijadikan Slave.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. Buat 1 buah rangkaian konverter TTL-RS232 jika pada MCU belum tersedia.&lt;/span&gt;&lt;br /&gt;Rangkaian Konverter TTL-RS232 ini digunakan hanya untuk pengecekan dengan komputer dan jika anda baru membuat, sebaiknya modular (dapat dipisahkan) dari MCU tetapi beberapa jenis produk yang ada dipasaran telah mencakup konverter TTL-RS232 pada board PCB-nya.&lt;br /&gt;Jika modular, jangan lupa modul TTL-RS232 butuh supply 5 Vdc.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. Buat 2 buah rangkaian Power supply untuk setiap MCU.&lt;/span&gt;&lt;br /&gt;Sebaiknya dibuat 2 Supply sehingga 1 MCU mendapatkan 1 supply. Penggunaan 1 buah Power supply yang di share memang menghemat biaya dan waktu tetapi kadang bisa menyebabkan kurang pahamnya mengenai KAuC. Dengan 2 buah supply maka Master dan Slave dapat dipisahkan cukup jauh sehingga mengetahui konsep KAuC untuk jarak jauh.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4. Cek komunikasi UART MCU Master dan Slave.&lt;/span&gt;&lt;br /&gt;Jadikan MCU pertama sebagai Master dan program Master tersebut untuk terus menerus mengirim kata "MASTER" lihat hasilnya pada komputer dengan menggunakan konverter TTL-RS232. Program juga agar Master dapat menerima data dari komputer lalu menampilkannya misalnya ke LCD atau ditampilkan kembali ke komputer.&lt;br /&gt;&lt;br /&gt;Jadikan MCU kedua sebagai Slave dan program Slave tersebut untuk terus menerus mengirim kata "SLAVE" lihat hasilnya pada komputer dengan menggunakan konverter TTL-RS232. Program juga agar Slave dapat menerima data dari komputer lalu menampilkannya misalnya ke LCD atau ditampilkan kembali ke komputer.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;"&gt;Jangan lanjut sebelum proses tersebut benar-benar berhasil.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 204, 255);font-size:130%;" &gt;Komunikasi Data&lt;/span&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt; ASCII atau Data Heksadesimal&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Jika menggunakan interface UART komunikasi data bisa menggunakan data Heksadesimal ataupun karakter ASCII akan tetapi untuk fleksibilitas yang tinggi sebaiknya menggunakan data karakter ASCII.&lt;br /&gt;Dengan komunikasi data menggunakan karakter ASCII anda dapat memperoleh beberapa keuntungan, antara lain :&lt;ul&gt;&lt;li&gt;Komunikasi dengan karakter ASCII mudah untuk dipahami karena telah dalam bentuk karakter huruf dan angka bukannya data heksadesimal yang perlu di konversi lagi.&lt;/li&gt;&lt;li&gt;Karakter ASCII telah dikenali oleh komputer sehingga dapat langsung ditampilkan menggunakan Hyperterminal sebagai koreksi.&lt;/li&gt;&lt;li&gt;Penggunaan karakter ASCII bisa mempermudah jika dihubungkan dengan software seperti Delphi, VB, C++, Visual C, dll.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Modifikasi maupun pengembangan komunikasi data selanjutnya mudah dilakukan dengan cepat.&lt;/li&gt;&lt;li&gt;Pengguna atau programmer lainnya akan dengan mudah memahami cara penggunaan perangkat / hardware yang anda buat.&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Protokol Komunikasi Data&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Menentukan protokol komunikasi data bisa sesuai keinginan anda berdasarkan sistem yang dikendalikan dan juga jangan lupa pada Master dan Slave terdapat kesesuaian protokol-nya. Oleh sebab itu beda kepala bisa berbeda protokol yang diinginkan.&lt;br /&gt;Berikut protokol dengan contoh kasus pengendalian motor servo oleh Slave dengan data sudut pergerakan setiap servo ditentukan oleh Master.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S5yNGtt_PjI/AAAAAAAAAo4/i3SgAPUxC4o/s1600-h/Master+Slave+UART.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 66px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S5yNGtt_PjI/AAAAAAAAAo4/i3SgAPUxC4o/s200/Master+Slave+UART.bmp" alt="" id="BLOGGER_PHOTO_ID_5448384795702672946" border="0" /&gt;&lt;/a&gt;Dari gambar, Master sebagai &lt;span style="font-weight: bold;"&gt;Main Processor&lt;/span&gt; yaitu "pemikir" yang berfungsi membaca sensor mengolah dan mengatur nilai sudut-sudut pergerakan setiap motor Servo, sedangkan Slave hanya sebagai penggerak motor servo pada tujuan sudut yang telah diberikan oleh Master.&lt;br /&gt;Beberapa protokol bisa dirancang untuk sistem tersebut. Tapi kali ini hanya transfer data Streaming saja yang akan saya bahas.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Transfer data Streaming.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Protokol ini yang paling sederhana serta paling cepat (untuk format ASCII). Cara ini yaitu Master mengirim data sudut pergerakan untuk seluruh motor servo secara sekaligus dalam satu waktu, sehingga Slave hanya sebagai penerima data.&lt;br /&gt;&lt;br /&gt;Motor servo pada Slave diberi nama yang unik dan berbeda-beda. Jika pada Slave tidak diketahui berapa motor servo yang akan dipasang tetapi yang pasti jumlah maksimum motor servo pada Slave adalah sebanyak total pin I/O Slave dikurangi pin Rx dan Tx.&lt;br /&gt;Karena MCU ATmega8535 maka maksimum motor servo adalah 32 pin - 2 pin = 30 pin atau 30 Motor Servo.&lt;br /&gt;&lt;br /&gt;Selanjutnya setiap motor servo diberi alamat berupa huruf yang berbeda, Misal motor servo 1 = 'A', motor servo 2 = 'B', motor servo 3 = 'C', motor servo 4 = 'D', motor servo 5 = 'E' .... , dst (Lihat &lt;a href="http://www.cdrummond.qc.ca/cegep/informat/Professeurs/Alain/images/ASCII1.GIF"&gt;Tabel ASCII&lt;/a&gt;). Dan komunikasi sudutnya berupa angka dengan digit bersesuaian seperti '120', '85', '9', ' 155', dst. Tambahkan karakter akhir data untuk mempermudah misalkan karakter ';'.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/S5yNF9DHQyI/AAAAAAAAAow/lAtCjyeuvb4/s1600-h/KAuC+Servo_UART.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 184px; height: 200px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/S5yNF9DHQyI/AAAAAAAAAow/lAtCjyeuvb4/s200/KAuC+Servo_UART.bmp" alt="" id="BLOGGER_PHOTO_ID_5448384782637941538" border="0" /&gt;&lt;/a&gt;Dari alamat dan komunikasi sudut serta karakter akhir maka format Protokol Streaming yang dikirim Master ke Slave tampak seperti gambar disamping.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Semoga Manfaat    ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-4556428863186728881?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/4556428863186728881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/4556428863186728881'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/03/kauc-komunikasi-dgn-uart.html' title='KAuC : Komunikasi dgn UART'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dNauCEz-yi0/S5yNGtt_PjI/AAAAAAAAAo4/i3SgAPUxC4o/s72-c/Master+Slave+UART.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-8202782692229775021</id><published>2010-03-19T22:45:00.000-07:00</published><updated>2011-01-26T20:49:14.559-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Komunikasi Data'/><title type='text'>KAuC : Syarat-syarat Interface Perangkat</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Silahkan Baca :&lt;br /&gt;&lt;a href="http://payztronics.blogspot.com/2010/03/kauc-komunikasi-antar-mikrokontroller.html"&gt;&lt;span style="font-weight: bold;"&gt;KAuC : Introduction Part I&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://payztronics.blogspot.com/2010/03/kauc-komunikasi-antar-mikrokontroller_10.html"&gt;&lt;span style="font-weight: bold;"&gt;KAuC : Introduction Part II&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Agar komunikasi antar perangkat dapat terjadi maka beberapa persyaratan harus terpenuhi. Jika tidak maka komunikasi data bisa rusak atau komunikasi tidak terjadi bahkan perangkat yang berkomunikasi bisa saling merusak.&lt;br /&gt;Kali ini hanya fokus komunikasi antar mikrokontroller.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Syarat-Syarat KAuC&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Beberapa syarat KAuC dapat terjadi antar lain :&lt;ol&gt;&lt;li&gt;Level tegangan antar MCU yang berkomunikasi harus sama.&lt;/li&gt;&lt;li&gt;Kecepatan transfer data (Baudrate) sama, untuk komunikasi TWI atau SPI maka kecepatan SCK Master tidak boleh cepat dari kecepatan SCK Slave.&lt;/li&gt;&lt;li&gt;Salah satu mengirim saja dan yang lainnya menerima saja, untuk Full Duplex bisa mengirim dan menerima  sekaligus.&lt;/li&gt;&lt;li&gt;Protokol komunikasi data yang bersesuaian antar MCU.&lt;/li&gt;&lt;li&gt;Terdapat Handshake (Jabat Tangan) sebagai indikator komunikasi data, bisa berupa pin atau karakter HandShake.&lt;/li&gt;&lt;li&gt;(Optional) terdapat CRC (Cyclic Redundancy Check) setiap akhir komunikasi data.&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;1. Level tegangan antar MCU yang berkomunikasi.&lt;/span&gt;&lt;br /&gt;Jika 2 buah MCU atau antar perangkat terhubung untuk komunikasi data maka level tegangannya harus sama, apakah menggunakan level TTL(Transistor Transistor Logic), Level RS232, RS485, dll.&lt;br /&gt;&lt;br /&gt;Baca : &lt;a style="font-weight: bold;" href="http://www.allaboutcircuits.com/vol_4/chpt_3/10.html"&gt;www.allaboutcircuits.com&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh3.ggpht.com/_BGvgroHHiOU/SWQToY-FX3I/AAAAAAAADBU/n5TcFx1xD18/s800/Chart_IC_Voltage_Switching_Levels.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 266px; height: 179px;" src="http://lh3.ggpht.com/_BGvgroHHiOU/SWQToY-FX3I/AAAAAAAADBU/n5TcFx1xD18/s800/Chart_IC_Voltage_Switching_Levels.gif" alt="" border="0" /&gt;&lt;/a&gt;Jika level tegangan dan jenis yang digunakan berbeda maka data yang dikomunikasikan bisa berubah (data error) bahkan bisa merusak perangkat yang berkomunikasi.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Data Error, Misal :&lt;br /&gt;MCU Master berkomunikasi dengan level TTL yang memiliki range 0 - 5 Vdc sedangkan Slave dengan level TTL range 0 - 3,3 Vdc, data bisa saja error karena Slave tidak mampu memberikan logika 1 (hingga 5 Vdc) karena level maksimumnya 3,3 Vdc.&lt;br /&gt;Tapi tampak pada gambar bahwa level TTL untuk Vih (V Input High Level) yang mendeteksi logika 1 minimal pada level 2,0 Vdc. (Jadi error-nya mungkin jarang).&lt;br /&gt;&lt;br /&gt;Merusak MCU, Misal :&lt;br /&gt;MCU Master berkomunikasi dengan level TTL yang memiliki range 0 - 5 Vdc sedangkan Slave dengan level RS232 dengan range ±25 Vdc maka Slave dapat merusak Master karena level tegangan mencapai +25 Vdc hingga -25 Vdc.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. Kecepatan Transfer Data.&lt;/span&gt;&lt;br /&gt;Untuk komunikasi data UART tentu saja Baudrate Master dan Slave harus sama jika tidak, data yang dikomunikasikan akan mengalami error. Sedangkan untuk SPI atau TWI maka kecepatan sinyal SCK (Serial Clock) Master maksimal sama (tidak boleh lebih besar) dengan kecepatan Clock MCU Slave. Selain itu komunikasi parallel juga kecepatan Clock Master tidak boleh lebih besar dari kecepatan Clock Slave.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. Salah Satu Mengirim dan Lainnya Menerima.&lt;/span&gt;&lt;br /&gt;Agar komunikasi data tidak membingungkan maka sebaiknya salah satu mengirim dan yang lainnya menerima pada satu waktu, jika diinginkan sebaliknya maka harus ada sinyal atau data HandShake yang memicu pertukaran fungsi yaitu yang semula mengirim jadi penerima dan yang semula penerima jadi pengirim.&lt;br /&gt;&lt;br /&gt;Apabila mendukung fungsi Full Duplex dan dalam hal tertentu mewajibkan komunikasi input output bersamaan maka Mengirim dan Menerima dapat dilakukan bersamaan.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4. Protokol Komunikasi Data.&lt;/span&gt;&lt;br /&gt;Jika anda mengkases perangkat yang tinggal pakai, maka programmer mau tidak mau harus mengikuti protokol yang telah dibuat oleh perancang produk, tetapi untuk KAuC protokol dapat anda rancang sesuka anda selama anda memahami protokol tersebut dan antar Master dan Slave telah terjadi kesepakatan Protokol komunikasi data.&lt;br /&gt;Protokol bisa mencakup panjang data, jenis transfer data, Command-command komunikasi, Operational Code, dll.&lt;br /&gt;Link : &lt;a href="http://www.freescale.com/files/microcontrollers/doc/app_note/AN3315.pdf"&gt;www.freescale.com&lt;/a&gt;, &lt;a href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;amp;nodeId=1824&amp;amp;appnote=en011738"&gt;www.microchip.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5. HandShake (Jabat Tangan)&lt;/span&gt;&lt;br /&gt;HandShake atau Jabat tangan berfungsi sebagai tanda serah terima data dan pergantian fungsi. Handshake bisa berupa pin (data 1 bit) maupun data heksa desimal / ASCII (data 8 bit).&lt;br /&gt;HandShake digunakan sebagai indikator bahwa 1 data telah diberikan atau diterima dan siap melanjutkan proses selanjutnya.&lt;br /&gt;&lt;br /&gt;HandShake Pin CS, RD, dan WR :&lt;br /&gt;Jika Master mengaktifkan pin CS kemudian diikuti WR berarti memberitahu ke Slave bahwa Master mengirim 1 data dan Slave harus menerima 1 data.&lt;br /&gt;Jika Master mengaktifkan pin CS kemudian diikuti RD berarti memberitahu ke Slave bahwa Master Meminta 1 data dan Slave harus mengirim 1 data.&lt;br /&gt;Pin CS diaktifkan saat komunikasi 1 data akan dimulai dan dimatikan saat komunikasi 1 data telah selesai.&lt;br /&gt;&lt;br /&gt;Misal HandShake data 1 Byte ASCII / Heksadesimal :&lt;br /&gt;Data 2 Byte = 1 Byte awal sebagai command dan 1 byte akhir sebagai data.&lt;br /&gt;Jika Master mengirim data heksadesimal 0x57 atau karakter 'W' (Write) maka Slave siap menerima 1 data yang mengikuti karakter 'W' tersebut.&lt;br /&gt;Jika Master mengirim data heksadesimal 0x52 atau karakter 'R' (Read) maka Slave siap memberikan 1 data setelahnya.&lt;br /&gt;Link : &lt;a href="http://www.cdrummond.qc.ca/cegep/informat/Professeurs/Alain/images/ASCII1.GIF"&gt;Tabel ASCII&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;6. Pengecekan Data Error atau CRC&lt;/span&gt;&lt;br /&gt;Ini adalah optional atau pilihan yang berarti bisa digunakan atau tidak, tapi beberapa kondisi wajib digunakan seperti pada transfer data pada VCD, FlashDisk, dll.&lt;br /&gt;Lebih lengkap baca di &lt;a href="http://en.wikipedia.org/wiki/Cyclic_redundancy_check"&gt;&lt;span style="font-weight: bold;"&gt;wikipedia&lt;/span&gt;&lt;/a&gt; atau search di google.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Syarat Interface KAuC selesai.&lt;br /&gt;Semoga Manfaat    ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-8202782692229775021?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8202782692229775021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8202782692229775021'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/03/kauc-syarat-syarat-interface-perangkat.html' title='KAuC : Syarat-syarat Interface Perangkat'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_BGvgroHHiOU/SWQToY-FX3I/AAAAAAAADBU/n5TcFx1xD18/s72-c/Chart_IC_Voltage_Switching_Levels.gif' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-7348566770148976832</id><published>2010-03-17T10:21:00.000-07:00</published><updated>2011-01-26T20:49:18.759-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Komunikasi Data'/><title type='text'>KAuC : Memilih Interface antar MCU</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Silahkan Baca :&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://payztronics.blogspot.com/2010/03/kauc-komunikasi-antar-mikrokontroller.html"&gt;&lt;/a&gt;&lt;a href="http://payztronics.blogspot.com/2010/03/kauc-komunikasi-antar-mikrokontroller.html"&gt;&lt;span style="font-weight: bold;"&gt;KAuC : Introduction Part I&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://payztronics.blogspot.com/2010/03/kauc-komunikasi-antar-mikrokontroller_10.html"&gt;&lt;span style="font-weight: bold;"&gt;KAuC : Introduction Part II&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Menurutku komunikasi data antar MCU, Multi MCU, dan Multi Device, memiliki beberapa perbedaan tetapi kali ini akan saya bahas hanya antar MCU saja.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Memilih Interface KAuC&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Menurut anda jika ingin 2 buah MCU saling berkomunikasi maka jenis interface mana yang anda pilih : Parallel 8 bit atau 4 bit, SPI / TWI, I2C, UART, atau USRT. pilih yang mana?&lt;br /&gt;Jawaban bijak dan klise biasanya, &lt;span style="font-weight: bold;"&gt;"Sesuaikan dengan kebutuhan dan sistemnya ?"&lt;/span&gt; meskipun kurang memberikan jawaban (cape deee...) tetapi memang seperti itu jawabannya.&lt;br /&gt;&lt;br /&gt;Tentukan dahulu kebutuhan sistem anda dengan berbagai pertanyaan seperti berikut :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Mau menggunakan mikrokontroller apa ? Berdasarkan memori, Kecepatan eksekusi, atau banyak Port.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Apakah komunikasi / interface dengan komputer ? atau nantinya bisa interface dgn komputer ?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Membutuhkan transfer data yang sangat cepat, cepat, lambat, sangat lambat, atau tidak tahu ?&lt;/li&gt;&lt;li&gt;Jenis transfer Byte atau Bit, berapa Byte atau bit ?&lt;/li&gt;&lt;li&gt;Komunikasi berupa data Heksadesimal atau berupa data ASCII ?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Apakah Interface dengan Sensor atau IC lain dengan tipe I2C, SPI, 1-Wire, 2-Wire ?&lt;/li&gt;&lt;li&gt;Fleksibilitas hardware kedepannya apakah diperlukan ?&lt;/li&gt;&lt;li&gt;dsb.. (cari n catat yang banyak).&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Dari berbagai pertanyaan dapat dirancang dengan tepat seperti apa hardware yang akan dibuat, jenis interface yang digunakan, dan rancangan kedepannya seperti apa, dan agar mudah dipahami sebaiknya diberikan contoh kasus.&lt;br /&gt;Misalkan sistem rancangan membutuhkan + pembagian PORT-nya:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;PORTA =&gt;&gt; Keypad matriks 4x4&lt;/li&gt;&lt;li&gt;PORTB =&gt;&gt; LCD karakter 16x2&lt;/li&gt;&lt;li&gt;PORTD.0 + D.1 =&gt;&gt; Interface UART dgn komputer.&lt;/li&gt;&lt;li&gt;PORTD.2 = &gt;&gt; Sensor Encoder.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;PORTD.4 =&gt;&gt; Motor DC (1 arah saja) + Driver&lt;br /&gt;&lt;/li&gt;&lt;li&gt;PORTD.5 + D.6 + D.7 =&gt;&gt; IC digital RTC DS1302 dan IC Serial EEPROm AT93C66&lt;/li&gt;&lt;/ul&gt;Nah dari pembagian rancangan Port tersebut maka penjelasannya :&lt;br /&gt;&lt;br /&gt;Pin &lt;span style="font-weight: bold;"&gt;Rx &lt;/span&gt;dan &lt;span style="font-weight: bold;"&gt;Tx &lt;/span&gt;sebenarnya sangat baik untuk komunikasi antar MCU karena sangat mudah tetapi pin ini juga &lt;span style="font-weight: bold;"&gt;WAJIB&lt;/span&gt; digunakan untuk komunikasi dengan komputer secara serial maupun USB (dengan konverter). Dan saat ini merupakan hal umum dan nilai tambah jika hardware-nya dapat berkomunikasi dengan komputer. Oleh sebab itu gunakan pin ini jika terpaksa.&lt;br /&gt;Pilihan "sedikit tepat" dan "kurang bijak" adalah dengan menggunakan mikrokontroller yang memiliki 2 buah pin Rx dan Tx (Rx0, Tx0 dan Rx1, Tx1) seperti pada ATmega128. Untuk beberapa aplikasi sederhana jika anda menggunakan ATmega128 diumpamakan memberikan Mobil ke anak SD yaitu terlalu berlebihan (kalo kaya si serah aja) padahal fungsi yang digunakan hanya sederhana.&lt;br /&gt;&lt;br /&gt;Untuk Mikrokontroller gunakan ATmega8535 (mikrokontroller 8 bit) , mikro ini lebih dari cukup untuk banyak aplikasi. SPI pada ATmega8535 menggunakan Pin MOSI, MISO, SCK dan SS pada PORTB sehingga SPI tidak bisa digunakan.&lt;br /&gt;&lt;br /&gt;Dari pemetaan port terhadap perangkat diatas maka PORTC belum digunakan, sehingga ada beberapa pilihan : Parallel 4 bit (8 bit tidak bisa karena pin handshake dibutuhkan), TWI (ada pin SDA dan SCL), dan I2C.&lt;br /&gt;Karena hanya antar MCU dan bukan multi MCU maka I2C tidak dipilih selain itu I2C sebaiknya digunakan hanya untuk mengakses Chip IC yang memang dikhususkan I2C saja untuk antar MCU agak repot. Tinggal TWI dan Parallel 4 bit.&lt;br /&gt;&lt;br /&gt;Jika memilih antara TWI dan Parallel 4 bit dan untuk komunikasi MCU-MCU maka saya memilih komunikasi parallel 4 bit karena tidak ingin belajar (malas) mengenai TWI lagi.&lt;br /&gt;Tetapi sebenarnya masih ada pilihan lainnya yang biasa saya pakai yaitu dengan SPI (Serial Peripheral Interface) menggunakan Coding sendiri dan Pin yang didefinisikan sendiri yaitu tidak menggunakan MOSI, MISO, SCK dan SS. Memang pusing Codingnya tetapi sangat berguna untuk Komunikasi data antar MCU maupun Multi MCU bahkan beberapa perangkat, Selain itu panjang data yang dikomunikasikan terserah programmer bisa 1 byte, 2 byte, 3 byte, atau lebih.&lt;br /&gt;&lt;br /&gt;Pilihan jatuh pada Interface &lt;span style="font-weight: bold;"&gt;Parallel 4 bit&lt;/span&gt; dan &lt;span style="font-weight: bold;"&gt;SPI user defined&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Setelah mengetahui jenis interface apa yang sesuai dengan perangkat yang dirancang selanjutnya adalah mengetahui apa saja yang dibutuhkan agar sistem dapat berkomunikasi dengan benar dan tepat.&lt;br /&gt;&lt;br /&gt;Lanjut ke post berikutnya..&lt;br /&gt;Semoga Manfaat    ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-7348566770148976832?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/7348566770148976832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/7348566770148976832'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/03/kauc-memilih-interface-antar-mcu.html' title='KAuC : Memilih Interface antar MCU'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-9033468591382006419</id><published>2010-03-15T09:35:00.000-07:00</published><updated>2011-01-26T20:49:23.065-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Komunikasi Data'/><title type='text'>KAuC (Komunikasi Antar Mikrokontroller) : Introduction Part II</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Silahkan Baca :&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://payztronics.blogspot.com/2009/08/komunikasi-usart-avr-mode-sinkron.html"&gt;Komunikasi USART AVR Mode Sinkron.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://payztronics.blogspot.com/2009/08/komunikasi-usart-avr-mode-asinkron.html"&gt;&lt;span style="font-weight: bold;"&gt;Komunikasi USART Mode Asinkron.&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://payztronics.blogspot.com/2009/08/komunikasi-usart-ttl-rs232.html"&gt;&lt;span style="font-weight: bold;"&gt;Komunikasi USART : TTL - RS232&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Serial Sinkron&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Seperti pada USRT (pada AVR), TWI, SPI, I2C.&lt;br /&gt;SPI dan TWI memiliki 3 buah pin untuk berkomunikasi yaitu SCK (Serial Clock), SDI (Serial Data Input), dan SDO (Serial Data Output) .&lt;br /&gt;SDI dan SDO bisa juga disebut MOSI (Master Output Slave Input) dan MISO (Master Input Slave Output).&lt;br /&gt;SPI atau TWI biasanya memiliki pin tambahan seperti CS (Chip Select) atau CE (Chip Enable) atau SS (Slave Select) yang akan berguna untuk mengaktifkan chip yang akan diajak "berkomunikasi".&lt;br /&gt;&lt;br /&gt;I2C memiliki 2 buah pin untuk berkomunikasi yaitu SCK (serial Clock) dan SDA (Serial Data). Berbeda dengan TWI atau SPI, I2C tidak membutuhkan pin ke-3 untuk mengaktifkan chip yang akan diajak "berkomunikasi", Jika banyak perangkat I2C yang terhubung maka setiap chip I2C tersebut memiliki alamat yang berbeda-beda dan unik (unique Address) seperti halnya sidik jari manusia.&lt;br /&gt;Chip yang di "panggil" oleh master-nya yang hanya akan menjawab dan berkomunikasi sedangkan yang lainnya akan berrada pada kondisi &lt;span style="font-weight: bold;"&gt;tri-state (High Impedance)&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Tentang Interface Serial Sinkron :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Menggunakan Wire yang sedikit dibandingkan parallel.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Perancangan PCB sederhana dan mudah.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Kecepatan transfer data tidak secepat interface parallel tetapi lebih cepat dibandingkan UART (Serial Asinkron).&lt;/li&gt;&lt;li&gt;Sangat mudah digunakan untuk komunikasi multi perangkat dibanding UART karena pin CS atau alamat unik.&lt;/li&gt;&lt;li&gt;Komunikasi Full Duplex (mengirim dan menerima data bersamaan).&lt;/li&gt;&lt;li&gt;Coding cukup sulit antar Master dan Slave harus sejalan.&lt;/li&gt;&lt;li&gt;Kecepatan Clock antar Master maupun Slave minimal sama, Clock master tidak boleh lebih cepat dari Clock Slave karena Sinyal SCK dikendalikan oleh Master sehingga Clock Slave bersifat fleksibel sedangkan Clock Master tidak fleksibel.&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Serial Asinkron&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Komunikasi data serial asinkron (UART) merupakan jenis komunikasi yang umum, banyak serta mudah digunakan dibandingkan dengan jenis komunikasi lainnya. Mulai banyak modul yang siap pakai menggunakan jenis komunikasi ini agar user (pengguna) bisa menggunakan modulnya dengan mudah.&lt;br /&gt;UART membutuhkan hanya 2 buah jalur interface Rx (receiver / penerima) dan Tx (Transmitter / pemancar), tanpa memperdulikan Clock Master-Slave karena memilik Baudrate yang standar dan umum, serta &lt;span style="font-weight: bold;"&gt;Fullduplex &lt;/span&gt;(Menerima dan memberikan data secara bersamaan).&lt;br /&gt;Jika digunakan untuk komunikasi banyak perangkat maka setiap perangkat (Slave) diberikan alamat unik sendiri (unique Address) dengan protokol tertentu yang ditentukan secara program oleh programmer.&lt;br /&gt;&lt;br /&gt;Tentang Interface Serial Asinkron :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Menggunakan hanya 2 jalur interface Rx dan Tx.&lt;/li&gt;&lt;li&gt;Menggunakan kecepatan transfer data yang umum dan standard.&lt;/li&gt;&lt;li&gt;Tidak terpengaruh besar kecilnya Clock Master-Slave karena menggunakan baudrate.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Sangat mudah untuk Coding dan komunikasi data.&lt;/li&gt;&lt;li&gt;Sangat baik digunakan untuk komunikasi jarak jauh (dengan konverter).&lt;/li&gt;&lt;li&gt;Full Duplex (mengirim dan menerima data bersamaan).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Karena menggunakan Baudrate maka kecepatan komunikasi data tidak maksimal bahkan relatif lambat dibanding yang lainnya.&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;One Wire Interface&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Komunikasi data dengan interface 1 jalur saja. Sangat sederhana tetapi protokol yang cukup rumit. Memang jenis ini masih belum umum karena cukup rumit pada protokol komunikasi datanya.&lt;br /&gt;&lt;br /&gt;Tentang 1-Wire Interface :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Hanya menggunakan 1 buah jalur untuk komunikasi data sehingga sangat sederhana.&lt;/li&gt;&lt;li&gt;Merupakan &lt;span style="font-style: italic; font-weight: bold;"&gt;bit-oriented&lt;/span&gt; atau berorientasi bit dengan bit LSB yang pertama kali dikirim.&lt;/li&gt;&lt;li&gt;Master dan Slave dapat saling mengirim maupun menerima tetapi dalam satu waktu yang berbeda (Half Duplex).&lt;/li&gt;&lt;li&gt;Kecepatan transfer data yang rendah dibandingkan dengan jenis interface lainnya.&lt;/li&gt;&lt;li&gt;Sekali berkomunikasi maka tidak boleh di-interupsi.&lt;/li&gt;&lt;li&gt;Coding yang rumit dan menggunakan delay time yang akurat dengan error yang minimal.&lt;/li&gt;&lt;li&gt;Protokol Komunikasi yang cukup rumit.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Sekian perkenalan Komunikas antar perangkat.&lt;br /&gt;Semoga Manfaat    ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-9033468591382006419?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/9033468591382006419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/9033468591382006419'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/03/kauc-komunikasi-antar-mikrokontroller_10.html' title='KAuC (Komunikasi Antar Mikrokontroller) : Introduction Part II'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-6067870304227065154</id><published>2010-03-12T07:15:00.000-08:00</published><updated>2011-01-26T20:49:27.474-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Komunikasi Data'/><title type='text'>KAuC (Komunikasi Antar Mikrokontroller) : Introduction Part I</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Silahkan Baca :&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://payztronics.blogspot.com/2009/08/komunikasi-usart-avr-mode-sinkron.html"&gt;Komunikasi USART AVR Mode Sinkron.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://payztronics.blogspot.com/2009/08/komunikasi-usart-avr-mode-asinkron.html"&gt;&lt;span style="font-weight: bold;"&gt;Komunikasi USART Mode Asinkron.&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://payztronics.blogspot.com/2009/08/komunikasi-usart-ttl-rs232.html"&gt;&lt;span style="font-weight: bold;"&gt;Komunikasi USART : TTL - RS232&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;KAuC (Komunikasi Antar Mikrokontroller =&gt; saya singkat biar nantinya mudah) merupakan salah satu hal wajib yang harus diketahui perancang hardware dan software. Tanpa mengetahui hal ini perancang akan kesulitan untuk membuat perangkat kompleks yang modular / terpisah-pisah.&lt;br /&gt;Sebenarnya KAuC tidak hanya berlaku untuk komunikasi sesama MCU (Microcontroller Unit) tetapi bisa juga antar MCU-Komputer, MCU-MCu yang berbeda tipe (misal AVR dan PIC), MCU-IC Digital, MCU-Barcode, dll.&lt;br /&gt;&lt;br /&gt;Sebelum jauh pada perancangan komunikasi data maka sebaiknya diketahui dulu konsep KAuC atau komunikasi antar perangkat sehingga bisa dirancang komunikasi seperti apapun yang diinginkan. Oleh sebab itu saya mencoba untuk membagi-bagi KAuC menjadi beberapa bagian.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Introduction&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Komunikasi data ada 2 cara yaitu komunikasi data secara parallel dan komunikasi data secara serial. Komunikasi data secara parallel yaitu Komunikasi banyak data (64 bit, 32 bit, 16 bit, 8 bit, 4 bit) yang dilakukan secara langsung dalam waktu bersamaan melalui banyak jalur (kabel, PCB, fiber optical, dll). Komunikasi data secara serial yaitu komunikasi 1 buah data (1 bit) pada satu waktu.&lt;br /&gt;Tidak banyak yang bisa dibahas untuk komunikasi data secara parallel sedangkan komunikasi secara serial telah mengalami berbagai perkembangan dan telah banyak jenisnya.&lt;br /&gt;&lt;br /&gt;KAuC atau komunikasi antar perangkat dapat sudah banyak jenis-nya seperti : Komunikasi parallel, UART (Universal Asynchronous Receiver Transmitter), USRT (Universal Synchronous Reciever Transmitter), I2C (Inter-Integrated Circuit), USB, TWI (Two Wire Interface), 1 Wire Interface, SPI (Serial Peripheral Interface), dll..&lt;br /&gt;(apa lagi yak..?).&lt;br /&gt;&lt;br /&gt;Untuk RS232 dan RS485 hanyalah level tegangan saja yaitu konversi level tegangan TTL (0 Vdc - 5Vdc) menjadi level RS232 (±25 Vdc) maupun RS485 (Differensial ±25 Vdc) dan bukannya jenis komunikasi.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Interface Parallel&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Paralel 32 bit, 16 bit, 8 bit, ataupun 4 bit, baik digunakan jika membutuhkan kecepatan transfer data yang tinggi seperti pada &lt;span style="font-weight: bold;"&gt;motherboard komputer&lt;/span&gt; karena membutuhkan kecepatan tinggi. Contoh lain seperti pada &lt;span style="font-weight: bold;"&gt;LCD karakter&lt;/span&gt; yang dapat diprogram untuk komunikasi paralel 8 bit maupun 4 bit.&lt;br /&gt;&lt;br /&gt;Tentang Interface parallel :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Kecepatan transfer data dengan kecepatan maksimum.&lt;/li&gt;&lt;li&gt;Coding mudah dan sederhana.&lt;/li&gt;&lt;li&gt;Menggunakan jalur (wire) yang tidak sedikit (banyak).&lt;/li&gt;&lt;li&gt;Selain pin data dibutuhkan pin tambahan sebagai Handshake seperti : pin CS (Chip Select, RD (Read), WR (Write), ACK (&lt;i&gt;acknowledgment )&lt;/i&gt;, dll.&lt;/li&gt;&lt;li&gt;Perancangan PCB menjadi rumit dan lebih besar.&lt;/li&gt;&lt;li&gt;Tidak efektif digunakan untuk komunikasi jarak jauh karena bisa mengalami penurunan level tegangan sehingga merusak data dan menggunakan kabel yang (sangat) banyak.&lt;/li&gt;&lt;/ul&gt;Lanjut ke :&lt;br /&gt;&lt;a href="http://payztronics.blogspot.com/2010/03/kauc-komunikasi-antar-mikrokontroller_10.html"&gt;&lt;span style="font-weight: bold;"&gt;KAuC (Komunikasi Antar Mikrokontroller) : Introduction Part II&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-6067870304227065154?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/6067870304227065154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/6067870304227065154'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/03/kauc-komunikasi-antar-mikrokontroller.html' title='KAuC (Komunikasi Antar Mikrokontroller) : Introduction Part I'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-1720119537192534056</id><published>2010-03-10T19:21:00.000-08:00</published><updated>2011-01-26T20:49:32.318-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASK (tanya jawab)'/><title type='text'>Ask : Komunikasi Antar Mikro</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;Asker : &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(153, 153, 255);"&gt;Bandar Djakarta&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;System :&lt;/span&gt;&lt;br /&gt;Komunikasi antar Mikro (Master Slave)&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Question :&lt;/span&gt;&lt;br /&gt;mas, tlg ajarin komunikasi antar 2 mikro dong..... apakah bisa secara serial?? ataukah bisa dalam bentuk i2c??&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Too PayZ :&lt;/span&gt;&lt;br /&gt;Komunikasi antar mikro tidak begitu sulit bahkan anda sebagai perancangnya dapat menentukan level, jenis, protokol, dan apapun cara komunikasi agar perangkat anda berjalan sesuai keinginan. Bahkan untuk keperluan komersil misalkan ingin merancang produk yang siap pakai, bisa saja anda merancang komunikasi yang cukup rumit sehingga perangkat anda sulit untuk di Copy atau dibajak. Sebaliknya bisa juga anda merancang perangkat dengan interface dan protokol komunikasi sederhana sehingga konsumen sangat mudah memakai produk anda dan sangat user friendly. Nilai tambah bukan.&lt;br /&gt;&lt;br /&gt;Untuk Posting komunikasi antar Mikrokontroller silahkan lihat posting bulan &lt;span style="font-weight: bold;"&gt;April&lt;/span&gt; atau positng dengan label &lt;span style="font-weight: bold;"&gt;Komunikasi Data&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Met Mencoba ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-1720119537192534056?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/1720119537192534056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/1720119537192534056'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/03/ask-komunikasi-antar-mikro.html' title='Ask : Komunikasi Antar Mikro'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-3696816560420094161</id><published>2010-03-08T11:55:00.000-08:00</published><updated>2011-01-26T20:49:38.521-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASK (tanya jawab)'/><title type='text'>Ask : Tulisan Berjalan pd LCD 16x2</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;Asker : &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(153, 153, 255);"&gt;Rizki&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;System :&lt;/span&gt;&lt;br /&gt;Tulisan berjalan pada LCD karakter 16x2&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Question :&lt;/span&gt;&lt;br /&gt;mas, aku mau coba Buat tulisan bergerak pada LCD, dengan arduino di mikrokontroler avr atmega32, bagai mana contoh programnya?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Too PayZ :&lt;/span&gt;&lt;br /&gt;Dulu sudah ada yang bertanya ini tapi tidak kujawab n sekarang mudah-mudahan bisa menjawab.&lt;br /&gt;Btw ini LCD-nya &lt;span style="font-weight: bold;"&gt;LCD karater&lt;/span&gt; yang umum dipasaran kan? seperti LCD 16x2, 20x2, 20x4. Bukan LCD grafik ataupun LCD lainnya.&lt;br /&gt;&lt;br /&gt;Menggunakan CoViAVR ada fungsi LCD yang sebagai berikut&lt;br /&gt;&lt;blockquote style="font-weight: bold;"&gt;lcd_gotoxy(x,y);&lt;/blockquote&gt;Fungsi tersebut adalah untuk mengatur posisi karakter awal yang akan ditampilkan pada kolom X dan baris Y.&lt;br /&gt;Jika ingin menggeser ke kiri tinggal X-nya dikurangi dan jika ingin menggeser ke kanan X-nya ditambah.&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;......&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;for (x=15;     x&gt;=0;     x--)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;    {&lt;br /&gt; lcd_clear();&lt;br /&gt;lcd_gotoxy(x,0);&lt;br /&gt;lcd_putchar('T');      &lt;br /&gt;delay_ms(500);&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;// menggeser dari kanan ke kiri dengan delay 0.5 detik&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;for (x=0;     x&lt;=15;     x++)     {    lcd_clear(); lcd_gotoxy(x,0); lcd_putchar('T'); delay_ms(500); } // menggeser dari kiri ke kanan dengan delay 0.5 detik&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;.......&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Met Mencoba ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-3696816560420094161?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/3696816560420094161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/3696816560420094161'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/03/ask-tulisan-berjalan-pd-lcd-16x2.html' title='Ask : Tulisan Berjalan pd LCD 16x2'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-2721080005062967621</id><published>2010-02-27T23:21:00.000-08:00</published><updated>2011-01-26T20:49:44.914-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sensor-sensor'/><category scheme='http://www.blogger.com/atom/ns#' term='Catatan Payz'/><title type='text'>Error Pembacaan Jarak sensor PING</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Sudah cukup lama si sekitar 2.5 tahun yang lalu..&lt;br /&gt;Ketika saya sedang memprogram mobil robot peraba / pengikut dinding menggunakan metode Fuzzy.&lt;br /&gt;Plan berikut adalah tugas akhir saya yaitu :&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"Proyeksi posisi dinding menggunakan metode Fuzzy dgn Mobil Robot"&lt;/span&gt;&lt;br /&gt;intinya :&lt;br /&gt;Sebuah mobil robot dan perangkat komunikasi wireless dgn komputer yang akan berjalan pada ruangan labirin kemudian "memetakan" posisi dinding (apakah posisi dinding dikiri atau dikanan atau dikedua sisi mobil robot) sehingga pada komputer akan digambarkan secara &lt;span style="font-weight: bold;"&gt;Realtime&lt;/span&gt; bentuk ruangan yang dilalui mobil robot tersebut.&lt;br /&gt;&lt;br /&gt;Dulu saya tidak mengenal wireless seperti Zigbee, RFM12B, RLP434 + TLP434, dsb sehingga wireless seadanya saja dan komunikasi berupa karakter singkat dengan jarak maksimum 8 meter. Wallhasil kurang maksimal.&lt;br /&gt;&lt;br /&gt;Kali ini hanya fokus pada permasalahan pembacaan sensor PING-nya.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Catatan PayZ :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Mobil robot menggunakan 3 buah sensor PING yang berada pada posisi depan semua. 1 buah sensor tegak lurus menghadap ke depan berfungsi agar mobil robot tidak menabrak dinding didepannya, 1 buah sensor menghadap depan kiri dengan sudut 45° dan 1 buah sensor lg menghadap depan kanan dengan sudut 45°.&lt;br /&gt;Posisi sensor ping pada mobil robot seperti berikut.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/S5dSgjCOypI/AAAAAAAAAoY/eZrWc7TK8BE/s1600-h/PayZ+Note+PING.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 136px; height: 132px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/S5dSgjCOypI/AAAAAAAAAoY/eZrWc7TK8BE/s200/PayZ+Note+PING.bmp" alt="" id="BLOGGER_PHOTO_ID_5446912993441794706" border="0" /&gt;&lt;/a&gt;Setelah sudah di program semua...lalu Test Drive..&lt;br /&gt;Set point jarak yang diinginkan antara sensor PING dengan dinding adalah 24 cm - 26 cm, dan karena sensor PING miring 45° terhadap dinding sehingga jaraknya bisa mendekati 18cm - 22 cm. Anehnya mengapa kadang-kadang bisa lebih dekat dari 13 cm bahkan kurang.&lt;br /&gt;Bingung..bingung..bingung...&lt;br /&gt;&lt;br /&gt;Awalnya kupikir porgram Fuzzy-nya salah sehingga &lt;span style="font-weight: bold;"&gt;Crisp &lt;/span&gt;output Fuzzy-nya salah. Dan untuk mengurangi kesalahan, mobil robot di program, koneksi komputer via port COM dengan kabel (Ban tidak menapak), dan proses Fuzzy-nya ditampilkan di komputer pada HyperTerminal atau CoViAVR.&lt;br /&gt;&lt;br /&gt;Simulasi dinding menggunakan telapak tangan yang didekatkan dengan sensor PING dan hasil yang ditampilkan di komputer semuanya benar dari Set Point, Jarak Aktual, Error, DError, ufError (derajat keanggotaan error 1 hingga 5), ufdError (derajat keanggotaan delta error 1 hingga 5), output Fuzzy Rule, Num, Denum, dan Crisp sudah benar semua.&lt;br /&gt;Lalu apa.. apaaaa... (lebay).&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/S5dSgML82jI/AAAAAAAAAoQ/0pi2HRsA-lk/s1600-h/PayZ+Note+Fuzzy.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 260px; height: 217px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/S5dSgML82jI/AAAAAAAAAoQ/0pi2HRsA-lk/s200/PayZ+Note+Fuzzy.bmp" alt="" id="BLOGGER_PHOTO_ID_5446912987308546610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lama...lama...lama... istirahat.. lama.. lama.. lama..&lt;br /&gt;Suatu saat, Uji coba lagi ah tapi kali ini simulasi tidak menggunakan &lt;span style="font-weight: bold;"&gt;tangan &lt;/span&gt;tetapi menggunakan &lt;span style="font-weight: bold;"&gt;Styrofoam &lt;/span&gt;sebagai simulasi dinding (labirinnya memang menggunakan Styrofoam sebagai dinding).&lt;br /&gt;Styrofoam saya gerakkan pelan-pelan terhadap sensor PING dan hal mengejutkan ternyata tampak (alah) yaitu ketika pembacaan sensor PING sebagai berikut :&lt;br /&gt;23 cm&lt;br /&gt;24 cm&lt;br /&gt;25 cm&lt;br /&gt;26 cm&lt;br /&gt;300 cm&lt;br /&gt;300 cm&lt;br /&gt;26 cm&lt;br /&gt;25 cm&lt;br /&gt;&lt;br /&gt;Mengapa setelah 26 bukannnya 27 melainkan 300 dan memang dalam program saya batasi nilai maksimum adalah 300 (dan ini kesalahan harusnya batasi 30 saja). Nilai error 300 inilah yang menyebabkan Mobil robot &lt;span style="font-weight: bold;"&gt;bergerak cepat&lt;/span&gt; mendekati dinding karena mobil robot &lt;span style="font-weight: bold;"&gt;"pikir dia sangat jauh dari dinding"&lt;/span&gt; sehingga terkadang mobil robot &lt;span style="font-weight: bold;"&gt;terlalu dekat dengan dinding&lt;/span&gt;.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/S5dWwyl6BlI/AAAAAAAAAog/9RJbgdIKtnI/s1600-h/PayZ+Note+error+PING.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 182px; height: 200px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/S5dWwyl6BlI/AAAAAAAAAog/9RJbgdIKtnI/s200/PayZ+Note+error+PING.bmp" alt="" id="BLOGGER_PHOTO_ID_5446917670542378578" border="0" /&gt;&lt;/a&gt;Setelah dianalisa lalu diketahui bahwa pada sudut-sudut tertentu yaitu sudut pancaran ultrasonik terhadap dinding Styrofoam, kadang sinyal ultrasonik yang dipancarkan oleh pemancar tidak diterima oleh penerima karena Styrofoam / dinding memantulkan suara ultrasonik tersebut ke arah lain yang tidak mengenai sensor penerima.&lt;br /&gt;Solusinya yaitu  dengan menambahkan sensor PING untuk pembacaan yang lebih baik atau dengan mengatur secara manual posisi sudut sensor PING terhadap dinding sehingga didapatkan pembacaan jarak yang lebih baik..&lt;br /&gt;&lt;br /&gt;Saya lebih suka cara kedua.. hemat...&lt;br /&gt;&lt;br /&gt;Problem Solved.... (",)v&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-2721080005062967621?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/2721080005062967621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/2721080005062967621'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/02/error-pembacaan-jarak-sensor-ping.html' title='Error Pembacaan Jarak sensor PING'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_dNauCEz-yi0/S5dSgjCOypI/AAAAAAAAAoY/eZrWc7TK8BE/s72-c/PayZ+Note+PING.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-3392568207879247019</id><published>2010-02-26T02:55:00.000-08:00</published><updated>2011-01-26T20:49:58.317-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='Sensor-sensor'/><category scheme='http://www.blogger.com/atom/ns#' term='Catatan Payz'/><title type='text'>Sensor Suhu Termocouple</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Suatu saat ada yang minta tolong untuk diprogramkan (dan sedikit hardware) untuk &lt;span style="font-weight: bold;"&gt;Perangkat Pembakar Sampah&lt;/span&gt; menggunakan metode &lt;span style="font-weight: bold;"&gt;Kontrol Fuzzy &lt;/span&gt;dan &lt;span style="font-weight: bold;"&gt;Kontrol PI &lt;/span&gt;karena memang 1 alat ini dikerjakan oleh 2 orang dengan metode yang berbeda (biar boleh dijadikan TA).&lt;br /&gt;&lt;br /&gt;Sedikit kesulitan pada coding adalah "Bagaimana menggabungkan 2 buah metode dalam satu program" sehingga si pengguna dapat memilih metode FUZZY atau metode Kontrol PI cukup dengan menekan tombol berdasarkan menu yang ditampilkan di layar LCD 16x2 dan tidak perlu mendownload program ke dalam MCU lagi.&lt;br /&gt;&lt;br /&gt;Metode Fuzzy dengan 5 kelas derajat keanggotaan dan 25 buah Rule di tambah dengan metode kontrol PI menggunakan Mikrokontroller ATmega8535 menghabiskan total memori hingga 85%.&lt;br /&gt;&lt;br /&gt;Kali ini tidak saya bahas lengkap tetapi fokus ke karakteristik driver + sensor termocouple.&lt;br /&gt;Harga sensornya relatif murah yaitu Rp 20.000,- dan berikut gambar sensor Termocouple yang digunakan :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.auberins.com/images/TC-K6a.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 162px; height: 173px;" src="http://www.auberins.com/images/TC-K6a.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.ctheaters.com/eng/proimages/06b.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 171px; height: 171px;" src="http://www.ctheaters.com/eng/proimages/06b.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://img.diytrade.com/cdimg/448573/2499243/0/1154103374/Thermocouple_Extension_Wire.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 356px; height: 158px;" src="http://img.diytrade.com/cdimg/448573/2499243/0/1154103374/Thermocouple_Extension_Wire.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Catatan PayZ :&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Driver sensor termocouple menggunakan IC AD595 buatan Analog Device. Ketika sedang uji coba driver + sensor termocouple, agar suhu cepat mencapai 100° hingga 150° Celcius saya menggunakan Solder.&lt;br /&gt;Sudah cukup lama solder menempel pada sensor termocouple tetapi suhu yang baru di capai maksimum 80° C dan kemudian suhu turun kembali hingga 65° C.&lt;br /&gt;&lt;br /&gt;Aneh..aneh... kenapa bisa begitu.&lt;br /&gt;Awalnya kupikir sensor termocouplenya rusak karena si perancang hardware dulunya memotong dan mengupas kabelnya sehingga tidak diketahui &lt;span style="font-weight: bold; color: rgb(51, 102, 255);"&gt;terminal biru&lt;/span&gt; dan &lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;terminal merah&lt;/span&gt; selain itu kondisi kabel termocouple yang sudah tertekuk-tekuk yang menurutku bisa memungkinkan kabel didalamnya putus (patah).&lt;br /&gt;&lt;br /&gt;Mengurangi kesalahan, terminal termocouple yang terhubung pada IC AD595 saya bolak balik tetapi datanya tetap error. Kemudian di cek menggunakan multimeter antar terminal tetapi tetap terhubung yang artinya kabel tidak putus.&lt;br /&gt;&lt;br /&gt;Akhirnya biar tidak pusing, diputuskan beli sensor baru (toh murah n skalian buat jaga-jaga).&lt;br /&gt;Saya tambah bingung, datanya memang lebih baik dari sebelumnya tetapi suhunya tidak lebih dari 90° padahal Solder sudah sangat panas.&lt;br /&gt;&lt;br /&gt;Oiya saya ingat, biasanya jika sedang menyolder komponen LED, entah mengapa LED-nya bisa menyala sendiri meskipun redup padahal supply-nya tidak terhubung. Berarti LED tersebut memperoleh tegangan dan arus dari Solder tersebut.&lt;br /&gt;Dari sinilah berarti IC AD595 memperoleh tegangan dan arus dari Solder sehingga mengacaukan pembacaan sensor termocouple.&lt;br /&gt;&lt;br /&gt;Kemudian saya coba lagi menggunakan lilin yang lumayan besar agar apinya besar) dan...&lt;br /&gt;Wallaa......&lt;br /&gt;Suhu mencapai 110° C dan naikknya bertahap serta tidak mengalami penurunan kembali...&lt;br /&gt;&lt;br /&gt;Problem Solved.... (",)v&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-3392568207879247019?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/3392568207879247019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/3392568207879247019'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/02/sensor-suhu-termocouple.html' title='Sensor Suhu Termocouple'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-8091684399294218832</id><published>2010-02-25T01:27:00.000-08:00</published><updated>2011-01-26T20:50:02.935-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Motor Servo'/><title type='text'>Servo Part III : Antara Torsi dan Kecepatan</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Baca dulu :&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://payztronics.blogspot.com/2010/02/servo-kontrol-motor-servo-part-i.html"&gt;Servo Part I : Kontrol Motor Servo&lt;/a&gt;&lt;br /&gt;&lt;a href="http://payztronics.blogspot.com/2010/02/servo-kontrol-motor-servo-part-ii.html"&gt;&lt;span style="font-weight: bold;"&gt;Servo Part II : Timing (Waktu) dan Sudut Servo&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;3. Torsi VS Speed (Kecepatan)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Seperti diketahui sebelumnya bahwa motor servo posisi akan bergerak pada posisi sudut tertentu berdasarkan lebar sinyal kontrol yang diberikan pada &lt;span style="font-weight: bold;"&gt;pin sinyal&lt;/span&gt;. Dan Beberapa motor servo memiliki torsi yang cukup besar dengan kecepatan yang relatif cepat (bahkan sangat cepat).&lt;br /&gt;Beberapa motor servo justru menimbulkan masalah ketika digunakan untuk menggerakkan beban berat, memiliki pergerakan yang relatif cepat akan tetapi menggunakan gearbox plastik.&lt;br /&gt;&lt;br /&gt;Misalkan :&lt;br /&gt;Spesifikasi motor Servo memiliki torsi yang mampu mengangkat beban 4 Kg, kecepatan 60° / 0.18 Sec dan menggunakan gearbox plastik.&lt;br /&gt;Motor servo tersebut bisa mengalami kerusakan yang &lt;span style="font-weight: bold;"&gt;umumnya gearbox plastik yang aus&lt;/span&gt; karena terjadi sentakan yang kuat pada gearbox tersebut karena kecepatan perubahan sudut yang relatif tinggi dan menggangkat beban mendekati batas maksimum motor servo tersebut.&lt;br /&gt;&lt;br /&gt;Cara mengatasinya ada 2 cara yaitu :&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Cara mekanis yaitu dengan menggunakan Motor servo yang menggunakan gearbox metal yang pastinya lebih mahal atau menggunakan gearbox tambahan untuk mengurangi kerusakan (..dan lain-lain..) yang sangat tidak praktis serta memperbesar rangkaian.&lt;/li&gt;&lt;li&gt;Mengurangi kecepatan perubahan motor servo melalui Coding, dan tentu saja cara ini menjadi pilihan peraktis dan mudah.&lt;/li&gt;&lt;/ol&gt;Saya hanya membahas cara ke-2 saja..&lt;br /&gt;Ide dasar memperlambat pergerakan motor servo yaitu dengan menambah sudut motor servo secara perlahan-lahan dan memberikan waktu delay antar perubahan sudut terserbut.&lt;br /&gt;&lt;br /&gt;Misalkan perubahan sudut dari 0° ke sudut 180° maka sebenarnya yang terjadi adalah sudut berubah setiap saat dari&lt;br /&gt;0° (delay_ms(10)), 1° (delay_ms(10)), 2° (delay_ms(10))... ,179° (delay_ms(10)), 180°.&lt;br /&gt;&lt;br /&gt;Atau bisa saja biar lebih cepat dari&lt;br /&gt;0° (delay_ms(30)), 10° (delay_ms(30)), 20° (delay_ms(30)), 30° (delay_ms(30)),... , 180°.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Coding + Video.....&lt;br /&gt;Otw..&lt;br /&gt;;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-8091684399294218832?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8091684399294218832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8091684399294218832'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/02/servo-part-iii-antara-torsi-dan.html' title='Servo Part III : Antara Torsi dan Kecepatan'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-1875881490965135373</id><published>2010-02-22T15:27:00.001-08:00</published><updated>2011-01-26T20:50:08.300-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Motor Servo'/><title type='text'>Servo Part II : Timing (Waktu) dan Sudut Servo</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Baca dulu :&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://payztronics.blogspot.com/2010/02/servo-kontrol-motor-servo-part-i.html"&gt;Servo Part I : Kontrol Motor Servo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;2. Menentukan Perbandingan Waktu dgn Sudut&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Beberapa servo yang presisi (yang mahal), menggunakan komponen-komponen dan sensor potensiometer yang linier dan akurat selain itu disertai datasheet lengkap  yang sangat membantu untuk memprogram motor servo tersebut.&lt;br /&gt;Tetapi beberapa servo tidak disertai datasheet dan programmer tidak mengetahui diagram timing untuk penggunaan servo tersebut, sehingga menggunakan cara masing-masing untuk memprogram servo tersebut.&lt;br /&gt;&lt;br /&gt;Spesifikasi motor servo yang akan saya bahas adalah motor servo 180°, akan tetapi kenyataannya motor servo memiliki sudut putar lebih dari 180° (Servo yang saya pakai) dan ini merupakan keuntungan.&lt;br /&gt;&lt;br /&gt;Langkah-langkah menentukan sudut Motor Servo:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Siapkan penggaris busur (pengaris sudut).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Ambil nilai waktu awal terkecil dan jadikan sebagai &lt;span style="font-weight: bold;"&gt;sudut 0°&lt;/span&gt;, Saya ambil &lt;span style="font-weight: bold;"&gt;500 μS&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;blockquote&gt;Nilai 500 μS didapat dengan cara dicoba langsung untuk menggerakkan servo. Berikan nilai 500 μS dan lihat posisi servo, lalu program untuk 480 μS atau 450 μS, jika servo bergerak pada nilai tersebut berarti nilai 500 μS bisa dijadikan patokan 0° tetapi jika tidak bergerak (servo mentok sejak awal) tambah nilainya menjadi 550 μS atau 600 μS. Saya anggap pada nilai 500 μS menjadi patokan 0°.&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;Program motor servo dengan waktu yang variasi sehingga &lt;span style="font-weight: bold;"&gt;ditemukan sudut 180°&lt;/span&gt; dari sudut awal 0° (500 μS). Coba nilai 2000 μS, 2500 μS, dst. Pada servo yang saya gunakan, sudut 180° pada waktu &lt;span style="font-weight: bold;"&gt;1980 μS&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Sehingga di dapat &lt;span style="font-weight: bold;"&gt;500  μS = 0°&lt;/span&gt; dan &lt;span style="font-weight: bold;"&gt;1980 μS = 180°&lt;/span&gt; maka &lt;span style="font-weight: bold;"&gt;(1980 - 500)  / 180 = 8,2222 &lt;/span&gt;  &lt;span style="font-weight: bold;"&gt;μS&lt;/span&gt;. Artinya bertambah sudut &lt;span style="font-weight: bold;"&gt;1°&lt;/span&gt; = bertambah waktu &lt;span style="font-weight: bold;"&gt;8,2222  μS&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Misal : sudut tujuan = &lt;span style="font-weight: bold;"&gt;35°&lt;/span&gt; berarti waktu yang dibutuhkan &lt;span style="font-weight: bold;"&gt;Servo ON = 500   μS + (35 x 8.2222   μS) = 787.777    μS&lt;/span&gt; lalu Servo OFF.&lt;/li&gt;&lt;li&gt;Coba coding untuk variasi sudut-sudut tertentu dan catat linearitasnya. Jika telah sesuai dan linear maka waktu untuk menentukan sudut servo telah ditemukan, sebaliknya jika tidak linear (toleransi error terlalu besar) maka silahkan coba-coba lagi.&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/S4Y08hZflEI/AAAAAAAAAoA/DDlhXkwN4ts/s1600-h/Servo+Coba+Timing.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 52px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/S4Y08hZflEI/AAAAAAAAAoA/DDlhXkwN4ts/s200/Servo+Coba+Timing.bmp" alt="" id="BLOGGER_PHOTO_ID_5442095414085915714" border="0" /&gt;&lt;/a&gt;Gambar disamping adalah hasil dari percobaan tersebut.&lt;br /&gt;Dan hasil dari menentukan perbandingan waktu dengan sudut motor Servo.&lt;br /&gt;&lt;br /&gt;Setelah dicoba timing diganti-ganti, saya simpulkan beberapa hal (silahkan coba dulu dan simpulkan sendiri  ^_^ ).&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Umumnya timing motor servo adalah 20 mS (sebaiknya lihat datasheet motor servo tersebut) ini adalah waktu periode total saat servo ON dan servo OFF.&lt;/li&gt;&lt;li&gt;Jika motor servo tidak diberikan sinyal kontrol secara terus-menerus maka motor servo akan kehilangan torsinya.&lt;/li&gt;&lt;li&gt;Jika periode motor servo 20 mS maka sebelum mencapai waktu 20 mS, sebaiknya jangan memberikan sinyal kontrol ke motor servo dan menunggu agar motor servo "siap" menerima sinyal selanjutnya.&lt;/li&gt;&lt;li&gt;Dan jika periode motor servo 20 mS maka untuk menjaga torsi motor servo dan meminimalkan waktu eksekusi program sebaiknya total delay saat servo On, servo Off, lalu servo ON adalah 20 mS. Misal spesifikasi periode motor servo 20 mS kemudian total delay periode motor servo 25 mS maka 5 mS tersebut motor servo tidak memiliki torsi.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Dari point 4 dan 5 jika ragu-ragu sedangkan sistem tidak membutuhkan kecepatan eksekusi yang tinggi maka lebih baik menambah sedikit periode sinyal kontrol dibandingkan menguranginya.&lt;/li&gt;&lt;/ol&gt;....&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/S4ZAxu60iuI/AAAAAAAAAoI/_ZVDC1t0W0Y/s1600-h/Servo+Sudut+OK.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 176px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/S4ZAxu60iuI/AAAAAAAAAoI/_ZVDC1t0W0Y/s200/Servo+Sudut+OK.bmp" alt="" id="BLOGGER_PHOTO_ID_5442108422876334818" border="0" /&gt;&lt;/a&gt;To Be Continue Part III....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-1875881490965135373?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/1875881490965135373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/1875881490965135373'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/02/servo-kontrol-motor-servo-part-ii.html' title='Servo Part II : Timing (Waktu) dan Sudut Servo'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_dNauCEz-yi0/S4Y08hZflEI/AAAAAAAAAoA/DDlhXkwN4ts/s72-c/Servo+Coba+Timing.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-6167090611057121793</id><published>2010-02-21T14:44:00.000-08:00</published><updated>2011-01-26T20:50:13.031-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Motor Servo'/><title type='text'>Servo Part I : Kontrol Motor Servo</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Seperti yang saya jelaskan sebelumnya bahwa di tutorial internet yang anda dapatkan dari googling mengenai cara mengendalikan motor servo, akan tampak bahwa terdapat perbedaan diagram pewaktuan untuk mengendalikan motor servo. Seperti gambar berikut.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.pc-control.co.uk/images/servo3.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 164px; height: 135px;" src="http://www.pc-control.co.uk/images/servo3.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/S4Gz-lyzW4I/AAAAAAAAAng/WGXbzN3EbRs/s1600-h/Servo+Timing.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 176px; height: 135px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/S4Gz-lyzW4I/AAAAAAAAAng/WGXbzN3EbRs/s200/Servo+Timing.bmp" alt="" id="BLOGGER_PHOTO_ID_5440827712718723970" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Jika anda merancang alat yang membutuhkan pengaturan sudut yang presisi maka harus mencari nilai waktu pengendalian motor servo yang tepat dan ini agak sulit, sehingga saya hanya akan memaparkan cara praktis mencari nilai waktu pada motor servo.&lt;br /&gt;&lt;br /&gt;Langkah-langkah merancang kendali Motor Servo&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;1. Membaca Spesifikasi Motor Servo&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Sederhana tapi penting (bangeet...).&lt;br /&gt;Biasa teman-teman langsung melakukan Coding untuk mencari nilai waktu motor servo, cara mengendalikan, dan langsung mengimplementasikan ke sistem (padahal saya juga begitu ...v^^'...). Misalkan data spesifikasi motor servo seperti ini :&lt;br /&gt;- Supply Voltage: 4.8- 6.0V&lt;br /&gt;- Standard servo motor&lt;br /&gt;- Kecepatan: 0,18sec/60° @6V&lt;br /&gt;- Torsi: 4kg/cm @6V&lt;br /&gt;- Dimensi: 39.5x20x39.6mm&lt;br /&gt;- Berat: 41 gram&lt;br /&gt;- Sudut 180°&lt;br /&gt;&lt;br /&gt;Untuk coding cukup lihat &lt;span style="font-weight: bold;"&gt;Kecepatan &lt;/span&gt;dan &lt;span style="font-weight: bold;"&gt;Sudut &lt;/span&gt;motor servonya. dari informasi tersebut yaitu kecepatan 0.18 sec/60° dan sudut 180°. Informasi yang bisa diolah yaitu.&lt;ul&gt;&lt;li&gt;Sudut maksimum motor servo 180°.&lt;/li&gt;&lt;li&gt;Kecepatan : 0,18sec/60°.&lt;/li&gt;&lt;li&gt;waktu 0°-180° =&gt;&gt;  0.18 sec * 3 = 0.54 sec = 540 miliSecond.&lt;/li&gt;&lt;li&gt;Asumsi lebar pulsa sinyal kontrol maksimum 20 ms.&lt;/li&gt;&lt;li&gt;Looping kontrol = 540 mS / 20 ms = 27 kali looping.&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S4HAsQlH4hI/AAAAAAAAAno/rx0vdvszm8E/s1600-h/Servo+Coding1.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 57px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S4HAsQlH4hI/AAAAAAAAAno/rx0vdvszm8E/s200/Servo+Coding1.bmp" alt="" id="BLOGGER_PHOTO_ID_5440841691437720082" border="0" /&gt;&lt;/a&gt;Keempat data diatas berguna untuk Coding seperti contoh disamping.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Yang paling berguna dari informasi diatas yaitu menemukan nilai looping, dengan menemukan nilai looping yang tepat maka motor servo akan mencapai sudut tersebut dengan segera, tepat, dan dengan waktu yang mininum.&lt;br /&gt;Misalkan anda coding untuk menuju sudut 180° dari posisi 0° ,jika Looping terlalu cepat motor servo akan berhenti sebelum mencapai sudut 180°. Dan jika looping terlalu lama maka akan menambah waktu tundaan untuk eksekusi program keseluruhan.&lt;br /&gt;&lt;br /&gt;Tentu saja ada cara yang lebih tepat dibanding cara diatas yaitu dengan menghitung nilai looping untuk setiap sudut dan nilai ini berupa program tertanam di MCU. Seperti berikut (berdasarkan spesifikasi diatas)  :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Kecepatan = 0,18sec/60°  atau 180 mS / 60°, sehingga 1° = 3 mS&lt;/li&gt;&lt;li&gt;Asumsi lebar pulsa sinyal kontrol maksimum 20 ms.&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/S4HK8PvFcAI/AAAAAAAAAn4/IdCTcHrXbX0/s1600-h/Servo+Coding2.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 118px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/S4HK8PvFcAI/AAAAAAAAAn4/IdCTcHrXbX0/s200/Servo+Coding2.bmp" alt="" id="BLOGGER_PHOTO_ID_5440852961205252098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;.......To Be Continue di part II&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-6167090611057121793?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/6167090611057121793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/6167090611057121793'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/02/servo-kontrol-motor-servo-part-i.html' title='Servo Part I : Kontrol Motor Servo'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_dNauCEz-yi0/S4Gz-lyzW4I/AAAAAAAAAng/WGXbzN3EbRs/s72-c/Servo+Timing.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-8009144566329067298</id><published>2010-02-21T14:01:00.000-08:00</published><updated>2011-01-26T20:50:26.807-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Driver Motor'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='Motor Servo'/><title type='text'>Servo : Introduction Motor Servo</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://stat.ks.kidsklik.com/files/2009/11/motor-servo-robotics.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 179px; height: 166px;" src="http://stat.ks.kidsklik.com/files/2009/11/motor-servo-robotics.jpg" alt="" border="0" /&gt;&lt;/a&gt;Banyak pengertian motor servo dan kalo bingung tinggal tanya om google atu mbak wiki. Pada umumnya Motor servo adalah motor DC yang memiliki &lt;span style="font-style: italic;"&gt;feed back loop&lt;/span&gt; yaitu perangkat (motor DC) otomatis yang menggunakan umpan balik sensor untuk memperbaiki mekanisme posisi-nya. Sensor umpan balik yang digunakan pada motor servo umumnya berupa potensiometer.&lt;br /&gt;&lt;br /&gt;Suatu saat saya ditanya&lt;br /&gt;T: "Mas, di TA saya pada sistem ini, motor servo itu close loop atau open loop..?"&lt;br /&gt;J : "Kalo dari sistem / plan alatmu berarti open loop (tidak ada umpan balik) tapi kalau dilihat dari hanya motor servonya saja berarti close loop."&lt;br /&gt;T: "Lho gimana maksudnya tuh..?"&lt;br /&gt;J: "Motor servo kan ada sensor potensiometernya sebagai umpan balik pengaturan posisi sudut motor servonya, makanya kalo dilihat dari segi motor servo berarti close loop."&lt;br /&gt;J: "Tapi motor servo posisinya tepat 50°, 90°, atau 180° sistemmu kan tidak tahu, karena tahunya hanya memberikan sinyal kontrol tanpa perlu tahu sudutnya sudah benar atau tidak dan jika servonya rusak dan sudutnya terjadi error sistemmu tidak tahu dan dianggap tidak ada error makanya dilihat dari alat (sistem)-mu open loop."&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.electricmotors.machinedesign.com/guiEdits/Content/bdeee4a/IMAGES/MOTORS_FIG9.GIF"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 161px; height: 147px;" src="http://www.electricmotors.machinedesign.com/guiEdits/Content/bdeee4a/IMAGES/MOTORS_FIG9.GIF" alt="" border="0" /&gt;&lt;/a&gt;Gambar disamping adalah diagram blok pada motor servo.&lt;br /&gt;&lt;br /&gt;Beberapa link tentang motor servo :&lt;br /&gt;&lt;a href="http://www.brookshiresoftware.com/rd_how_servos_work.htm"&gt;www.brookshiresoftware.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.pc-control.co.uk/servo_control.htm"&gt;www.pc-control.co.uk&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Intro Kontrol Motor Servo&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.pc-control.co.uk/images/servo3.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 164px; height: 135px;" src="http://www.pc-control.co.uk/images/servo3.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/S4Gz-lyzW4I/AAAAAAAAAng/WGXbzN3EbRs/s1600-h/Servo+Timing.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 176px; height: 135px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/S4Gz-lyzW4I/AAAAAAAAAng/WGXbzN3EbRs/s200/Servo+Timing.bmp" alt="" id="BLOGGER_PHOTO_ID_5440827712718723970" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Pengendalian motor servo menggunakan pewaktuan atau frekuensi.&lt;br /&gt;Jika anda googling akan tampak seperti diatas yaitu banyaknya literatur yang memiliki diagram pewaktuan motor servo yang berbeda-beda. Padahal setiap tipe motor servo yang berbeda memiliki keakurasian dan pewaktuan yang berbeda.&lt;br /&gt;Oleh sebab itu pengendalian motor servo yang akan saya utarakan adalah pengendalian motor servo dengan pewaktuan anda sendiri yaitu anda yang mendefinisikan waktunya.&lt;br /&gt;Penyebutan sudut motor servo juga berbeda-beda tergantung sistem yang akan dikendalikan. Ada yang menyebut 0° - 180° ada juga yang menyebut -90°, 0°, +90° derajat.&lt;br /&gt;&lt;br /&gt;Mengendalikan motor servo ada 3 cara (yang kutemukan) :&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Menggunakan delay atau tundaan.&lt;/li&gt;&lt;li&gt;Menggunakan Timer / Counter.&lt;/li&gt;&lt;li&gt;Menggunakan PWM.&lt;/li&gt;&lt;/ol&gt;Tetapi akan saya bahas hanya menggunakan delay / tundaan saja pada post selanjutnya.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-8009144566329067298?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8009144566329067298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8009144566329067298'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/02/servo-introduction-motor-servo.html' title='Servo : Introduction Motor Servo'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_dNauCEz-yi0/S4Gz-lyzW4I/AAAAAAAAAng/WGXbzN3EbRs/s72-c/Servo+Timing.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-2610006583710782194</id><published>2010-02-10T15:23:00.000-08:00</published><updated>2011-01-26T20:50:31.107-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Too PayZ Project'/><title type='text'>DVM : Rangkaian Skematik</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Time : Januari - Februari 2010.&lt;br /&gt;Project : Digital Voltmeter.&lt;br /&gt;&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://payz-download.blogspot.com/"&gt;Download Project Voltmeter Digital&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Berikut gambar rangkaian skematik DVM-nya&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S3-mA1hj-SI/AAAAAAAAAm8/56QGXjvhcXs/s1600-h/Voltmeter+Link.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 134px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S3-mA1hj-SI/AAAAAAAAAm8/56QGXjvhcXs/s200/Voltmeter+Link.bmp" alt="" id="BLOGGER_PHOTO_ID_5440249408184908066" border="0" /&gt;&lt;/a&gt;Rangkaian pada gambar adalah prototype voltmeter untuk memperoleh hasil yang maksimal dengan cara sederhana sehingga rangkaian terkesan rumit dan terdapat komponen tambahan. Seperti yang dijelaskan berikut ini.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;&lt;span style="color: rgb(51, 204, 255);"&gt;Op&lt;/span&gt; &lt;span style="color: rgb(51, 204, 255);"&gt;Amp LF351&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Pada rangkaian saya membuat 4 buah rangkaian Op Amp menggunakan IC LF351, alasannya yaitu agar input tegangan yang berkisar pada satuan miliVolt atau bernilai kecil dapat terukur.&lt;br /&gt;Saya menggunakan beberapa Op Amp dan dengan cara coba-coba (maap cara praktis ...v^^'...) agar didapat penguatan yang berbeda untuk memperoleh hasil yang tepat atau terbaik. Selain itu agar nilai penguatan dapat dipilih-pilih sesuai keinginan menggunakan DIP switch (bisa juga menggunakan switch tipe lain ex : rotari switch).&lt;br /&gt;Lebih tepatnya saya sedang ujicoba dengan Op Amp, dan ternyata baru tahu kalo ada tipe IC yang bagus untuk skala miliVolt dan biasa di pakai di strain gauge.&lt;br /&gt;Sebenarnya bisa juga menggunakan Variabel Resistor seperti cermet tapi karena ingin mencoba dengan nilai resistor tetap.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;UART TTL-UART RS232 / UART TTL- USB Interface&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Seperti yang saya jelaskan sebelumnya, pada rangkaian juga saya menyediakan rangkaian konverter TTL-RS232 menggunakan IC MAX232 dan juga konverter UART -USB menggunakan IC FT232RL, karena ingin mencoba interface dengan USB.&lt;br /&gt;(sampai sekarang belum di tes USB-nya masih menggunakan port COM =&gt; agak sibuk kk...^^...)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Port DB9F PCB&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Perhatikan pada DB9F PCB yang berarti menggunakan konektor DB9 female yang rangkaian pada umumnya menggunakan DB9M PCB (male), alasan menggunakan Female adalah agar dapat dikoneksikan secara langsung dengan konverter RS232-USB menggunakan kabel konverter yang tersedia dipasaran, seperti gambar berikut.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/S3_CUI4h1II/AAAAAAAAAnE/eUDc1IlWtO0/s1600-h/USB+port.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 110px; height: 147px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/S3_CUI4h1II/AAAAAAAAAnE/eUDc1IlWtO0/s200/USB+port.JPG" alt="" id="BLOGGER_PHOTO_ID_5440280526124602498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Karena menggunakan DB9 Female jika anda menggunakan kabel serial sendiri maka perhatikan koneksi RX dan TX  yang terhubung ke port COM komputer.&lt;br /&gt;&lt;br /&gt;Awalnya saya juga salah memasang kabel serial yang saya buat sendiri.&lt;br /&gt;Koneksi kabel antara lain RX, TX, dan GND, jika menggunakan DB9M PCB maka RX dan TX posisinya disilang sebaliknya untuk DB9F tidak disilang RX dan TX-nya.&lt;br /&gt;&lt;br /&gt;Sebaiknya langsung coba saja dikomputer dengan program Hyperterminal, jika tidak ada tampilan coba di balik kabel RX dan TX-nya yang penting GND-nya sudah benar.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 204, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Power Supply&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Modul Voltmeter Digital ini memiliki fungsi Stand Alone yang akan disupply menggunakan baterai 9 Volt DC sehingga agar baterai lebih tahan lama dan awet digunakan Power Supply dengan LM78L05. Regulator LM78L05 memiliki arus maksimum 100 mA sehingga saya paralel 2 buah dan keluaran arus bisa mencapai 200 mA.&lt;br /&gt;Jika menggunakan LM78L05, memang arusnya mencapai 1,5 Ampere tetapi juga butuh konsumsi arus dan tegangan yang cukup besar dan baterai bisa lebih cepat habis.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S3_ITXYRdrI/AAAAAAAAAnM/tKdjQfc0WAI/s1600-h/Volt+Simple.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 138px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S3_ITXYRdrI/AAAAAAAAAnM/tKdjQfc0WAI/s200/Volt+Simple.JPG" alt="" id="BLOGGER_PHOTO_ID_5440287109905741490" border="0" /&gt;&lt;/a&gt;Setelah menimbang memilih dan menyederhanakan berikut rangkaian sederhananya&lt;br /&gt;&lt;br /&gt;Demikian, kurang lebih maap..&lt;br /&gt;Semoga membantu... ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-2610006583710782194?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/2610006583710782194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/2610006583710782194'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/02/dvm-rangkaian-skematik.html' title='DVM : Rangkaian Skematik'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dNauCEz-yi0/S3-mA1hj-SI/AAAAAAAAAm8/56QGXjvhcXs/s72-c/Voltmeter+Link.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-4254019523583967140</id><published>2010-02-08T13:58:00.000-08:00</published><updated>2011-01-26T20:50:36.843-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Too PayZ Project'/><title type='text'>DVM : Introduction to My Voltmeter Digital</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Time : Januari - Februari 2010.&lt;br /&gt;Project : Digital Voltmeter.&lt;br /&gt;&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://payz-download.blogspot.com/"&gt;Download Project Voltmeter Digital&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S3W_UPCkdxI/AAAAAAAAAm0/YHT_kP9TCeQ/s1600-h/Voltmeter+Digital.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 146px; height: 149px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S3W_UPCkdxI/AAAAAAAAAm0/YHT_kP9TCeQ/s200/Voltmeter+Digital.bmp" alt="" id="BLOGGER_PHOTO_ID_5437462479475341074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Spesifikasi Voltmeter Digital :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Dimensi 11 x 8.5 x 3&lt;/li&gt;&lt;li&gt;Supply 9Vdc - 12Vdc (adaptor terpisah)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Mikrokontroller ATmega8535 Xtall 11.059200 MHz&lt;br /&gt;&lt;/li&gt;&lt;li&gt;ADC 10 bit frekuensi 86.400 KHz&lt;/li&gt;&lt;li&gt;Input 4 buah Push button NO (Normally Open)&lt;/li&gt;&lt;li&gt;Interface Serial 9600,8N1&lt;/li&gt;&lt;li&gt;USB interface dengan IC FT232RL&lt;/li&gt;&lt;/ul&gt;Fungsi dan fitur :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Mengukur Voltmeter secara Real Time.&lt;/li&gt;&lt;li&gt;Mengukur arus secara perhitungan.&lt;/li&gt;&lt;li&gt;Memiliki 3 Mode kerja Stand Alone, Komputer Interface, dan MCU Memory.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Mengirim data tegangan terukur ke komputer dan ditampikan pada grafik.&lt;/li&gt;&lt;li&gt;Mengukur secara Stand Alone dan memiliki mode AutoSave setiap 500mS, yaitu setiap 500mS (porgrammable) secara otomatis menyimpan data di EEPROM MCU hingga 256 data pengukuran tetapi bisa juga tanpa menggunakan AutoSave (optional).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Membaca Memory hasil pengukuran (offline) dan memberikannya ke komputer agar dapat ditampilkan berupa grafik, Excel, Teks, dsb.&lt;/li&gt;&lt;li&gt;Terdapat fungsi HELP setiap penggunaan alat sehingga mempermudah bagi pemula untuk menggunakan alat ini.&lt;/li&gt;&lt;/ul&gt;Masalah :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Tegangan yang terukur adalah tegangan AC dan sangat besar hingga 4kVolt = 4000 Volt.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Ketika probe pengukuran diambangkan, nilai tegangan terukur harus menunjukkan 0 Volt.&lt;/li&gt;&lt;li&gt;Sampling data cukup banyak (lebih dari 256 data) sehingga untuk menggunakan EEPROM internal ATmega8535 tidaklah cukup dan harus menggunakan tambahan EEPROM.&lt;/li&gt;&lt;li&gt;Komputer monitoring harus menyala terus menerus dan berkomunikasi dengan MCU.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Saya diminta bantuan untuk membuat Voltmeter digital yang dapat mengukur tegangan yang terkoneksi secara langsung dengan komputer dengan tampilan berupa grafik, gambar, dan data teks yang dapat diolah (pada Excel, word, maupun notepad). Tampilan yang diinginkan berupa karakter LCD 16x2 dengan input hanya berupa push button. User tidak menginginkan menggunakan keypad karena dapat memperbesar dan memperumit rangkaian (menurutnya tidak perlu dan saya setuju).&lt;br /&gt;&lt;br /&gt;Rancangan saya siapkan RS232 converter dgn IC MAX232 untuk komunikasi secara serial port COM dan interface USB dengan IC FT232RL. Salah satu alasannya yaitu karena agar dapat digunakan pada Laptop maupun mada CPU biasa menggunakan port COM, dan alasan lain (alasan sebenarnya) yaitu karena saya ingin mencoba ICFT232RL untuk USB interface agar rancangan berikutnya saya akan membuat interface USB saja biar lebih sederhana msekipun IC-nya mahal Rp 50.000 dibanding MAX232 Rp 8000.&lt;br /&gt;&lt;br /&gt;Tombol yang disediakan berupa 4 buah Push Button yang dapat membingungkan user, sehingga dibuat fungsi Help disetiap step-step yang akan menuntun user pada fungsi step tersebut dan fungsi Push Button pada step tersebut.&lt;br /&gt;&lt;br /&gt;Ada 3 mode penggunaan alat yaitu Stand Alone, Komputer (master), dan Memory.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Stand Alone yaitu Voltmeter digital dapat mengukur secara langsung dan user dapat menyimpan hasil pengukuran di internal EEPROM MCU sebanyak 256 data pengukuran.&lt;/li&gt;&lt;li&gt;Komputer (master) yaitu MCU dapat mengukur tegangan secara langsung dan ketika ada perintah dari komputer maka MCU mengirim data ke komputer untuk diolah dan ditampilkan berupa grafik maupun teks. Waktu pengambilan data (Time Sampling) bisa ditentukan dari program komputer dengan range sampling dari 50 milisecond hingga 24 Jam.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Memory yaitu mode untuk membaca data dimemory internal MCU untuk diberikan ke komputer dan diproses lebih lanjut.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Nah itu dulu perkenalannya...&lt;br /&gt;Selanjutnya akan saya coba bahas sedikit demi sedikit di post selanjutnya.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-4254019523583967140?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/4254019523583967140'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/4254019523583967140'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/02/dvm-introduction-to-my-voltmeter.html' title='DVM : Introduction to My Voltmeter Digital'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dNauCEz-yi0/S3W_UPCkdxI/AAAAAAAAAm0/YHT_kP9TCeQ/s72-c/Voltmeter+Digital.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-7007618180368326814</id><published>2010-01-30T12:45:00.000-08:00</published><updated>2011-01-26T20:50:41.567-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><title type='text'>Matematika pd Bilangan Pecahan (float)</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Baca dulu : &lt;a href="http://payztronics.blogspot.com/2010/01/menampilkan-bilangan-float-pecahan.html"&gt;&lt;span style="font-weight: bold;"&gt;Menampilkan Bilangan Float (pecahan)&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Setelah bisa menampilkan bilangan pecahan seperti link diatas sekarang mencoba rumus matematika dan menampilkannya pada LCD ataupun komputer.&lt;br /&gt;&lt;br /&gt;Suatu saat saya sedang bingung dan bertanya-tanya,&lt;br /&gt;"Rumusnya sudah benar, tapi kok tampilannya salah ya ?"&lt;br /&gt;"jangan-jangan di mikronya juga proses perkaliannya juga salah nih.."&lt;br /&gt;Coret-coret... baca datasheet... lihat tutorial diinternet... atur konfigurasi di CoViAVR... coba Coding lagi... tampilkan di LCD... tampilkan di komputer... lha salah lagi.... Apanya niiih..???&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S3W_UPCkdxI/AAAAAAAAAm0/YHT_kP9TCeQ/s1600-h/Voltmeter+Digital.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 146px; height: 149px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S3W_UPCkdxI/AAAAAAAAAm0/YHT_kP9TCeQ/s200/Voltmeter+Digital.bmp" alt="" id="BLOGGER_PHOTO_ID_5437462479475341074" border="0" /&gt;&lt;/a&gt;Waktu itu buat Voltmeter Digital, proses yang diinginkan adalah membaca data ADC, menampilkan dalam miliVolt dan Volt pada LCD karakter 16x2, kemudian mengirimkan data ADC ke komputer secara serial.&lt;br /&gt;ADC mode 10 bit jadi menggunakan bilangan &lt;span style="font-weight: bold;"&gt;unsigned integer&lt;/span&gt; dengan range &lt;span style="font-weight: bold;"&gt;0-1023&lt;/span&gt; dan frekuensi sampling yang paling rendah agar pembacaan ADC menjadi lebih akurat.&lt;br /&gt;&lt;br /&gt;Potongan program :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/S3Sm6i6eZII/AAAAAAAAAmU/EosC4WZoqcs/s1600-h/Convert+Volt.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 130px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/S3Sm6i6eZII/AAAAAAAAAmU/EosC4WZoqcs/s200/Convert+Volt.bmp" alt="" id="BLOGGER_PHOTO_ID_5437154174877721730" border="0" /&gt;&lt;/a&gt;Setelah diprogram ke chip dan dijalankan, tampilannya aneh.&lt;br /&gt;Pada milivolt tampilan sesuai pengukuran dan perhitungan tetapi pada tampilan volt, hanya maksimal 2.00 Volt dan tidak bisa lebih padahal milivolt 4995.10 milivolt seharusnya 4.995 Volt.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S3W_TimOZlI/AAAAAAAAAms/eQkC1KqOq6c/s1600-h/5+Volt+Salah.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 70px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S3W_TimOZlI/AAAAAAAAAms/eQkC1KqOq6c/s200/5+Volt+Salah.bmp" alt="" id="BLOGGER_PHOTO_ID_5437462467545294418" border="0" /&gt;&lt;/a&gt;Kok bisa begitu ya....???&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/S3W5nqxTPuI/AAAAAAAAAmc/Ghz7NoYPKuk/s1600-h/Convert+Volt+True.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 112px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/S3W5nqxTPuI/AAAAAAAAAmc/Ghz7NoYPKuk/s200/Convert+Volt+True.bmp" alt="" id="BLOGGER_PHOTO_ID_5437456216266850018" border="0" /&gt;&lt;/a&gt;Setelah mengutak-atik sedikit, ternyata ini kesalahan sama yg dulu pernah kuperbuat tapi lupa dan memang agak sulit dideteksi. Perhatikan pada coding tambahan yang ditandai seperti gambar berikut.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/S3W_TBPdHHI/AAAAAAAAAmk/EOG_5KrzwOo/s1600-h/5+Volt+Benar.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 62px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/S3W_TBPdHHI/AAAAAAAAAmk/EOG_5KrzwOo/s200/5+Volt+Benar.bmp" alt="" id="BLOGGER_PHOTO_ID_5437462458591419506" border="0" /&gt;&lt;/a&gt;Hasil setelah diperbaiki...&lt;br /&gt;Agak aneh, kok pembulatannya ke bawah bukannya ke atas...&lt;br /&gt;Terserah Compiler dah.. Ikut aja..&lt;br /&gt;Lha tinggal pakai doank..&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Saran &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;untuk persamaan matematika &lt;/span&gt;&lt;/span&gt;:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Pada persamaan, gunakan tanda kurung agar proses perhitungan tidak salah meskipun pada bahasa C telah ada urutan prioritas operator. misal : &lt;span style="font-weight: bold;"&gt;hasil = ((a+b)*c) / (d+e) ;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Jika menggunakan persamaan matematika (apalagi panjang persamaannya) usahakan dengan proses matematika sesederhana mungkin. Misal : &lt;span style="font-weight: bold;"&gt;hasil = dataadc * (1000 + 263) / 100;&lt;/span&gt;  lebih baik ditulis &lt;span style="font-weight: bold;"&gt;hasil = dataadc * 12,63;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Untuk persamaan yang cukup atau sangat panjang, sebaiknya persamaan tersebut dipecah-pecah dan hasil dari setiap persamaan digabungkan kembali&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Untuk menghindari kesalahan yang lebih besar &lt;/span&gt;&lt;span&gt;/ mengecek benar tidaknya hasil persamaan, maka sebaiknya setiap hasil (yg penting saja) ditampilkan pada komputer atau LCD sebagai umpan balik ke programmer.&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Perhatikan penggunaan bilangan misal persamaan &lt;span style="font-weight: bold;"&gt;Y = A + B &lt;/span&gt;maka &lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ol&gt;&lt;li&gt;Jika &lt;span style="font-weight: bold;"&gt;Y&lt;/span&gt; ada kemungkinan bernilai &lt;span style="font-weight: bold;"&gt;negatif &lt;/span&gt;maka gunakan &lt;span style="font-weight: bold;"&gt;signed int &lt;/span&gt;(-32768 hingga +32767)&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;atau&lt;span style="font-weight: bold;"&gt; signed char&lt;/span&gt; (-128 hingga + 127) untuk &lt;span style="font-weight: bold;"&gt;Y, A, &lt;/span&gt;dan &lt;span style="font-weight: bold;"&gt;B&lt;/span&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Jika &lt;span style="font-weight: bold;"&gt;Y &lt;/span&gt;bilangan bulat &lt;span style="font-weight: bold;"&gt;unsigned char&lt;/span&gt; dgn range &lt;span style="font-weight: bold;"&gt;0-255&lt;/span&gt; maka &lt;span style="font-weight: bold;"&gt;A&lt;/span&gt; dan &lt;span style="font-weight: bold;"&gt;B&lt;/span&gt; har&lt;span style=""&gt;us unsigned char juga jika &lt;span style="font-weight: bold;"&gt;pecahan &lt;/span&gt;maka harus &lt;span style="font-weight: bold;"&gt;dibulatkan &lt;/span&gt;dan dipindahkan ke variabel unsigned char. Jika unsigned int (&lt;span style="font-weight: bold;"&gt;2 Byte)&lt;/span&gt; maka harus dipindahkan ke variabel unigned char (&lt;span style="font-weight: bold;"&gt;1 Byte&lt;/span&gt;).&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Jika &lt;span style="font-weight: bold;"&gt;Y &lt;/span&gt;bilangan bulat &lt;span style="font-weight: bold;"&gt;unsigned int &lt;/span&gt;dgn range &lt;span style="font-weight: bold;"&gt;0-65535&lt;/span&gt; maka &lt;span style="font-weight: bold;"&gt;A&lt;/span&gt; dan &lt;span style="font-weight: bold;"&gt;B&lt;/span&gt; har&lt;span style=""&gt;us unsigned int juga, jika pecahan maka harus dibulatkan dan dipindahkan ke variabel unsigned int, sedangkan unsigned char tidak masalah.&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Jika &lt;span style="font-weight: bold;"&gt;Y &lt;/span&gt;bilangan bulat &lt;span style="font-weight: bold;"&gt;float&lt;/span&gt; maka &lt;span style="font-weight: bold;"&gt;A&lt;/span&gt; dan &lt;span style="font-weight: bold;"&gt;B&lt;/span&gt; sebaiknya dipindahkan ke &lt;span style="font-weight: bold;"&gt;variable float &lt;/span&gt;agar perhitungan tidak terjadi error.&lt;/li&gt;&lt;/ol&gt;Mungkin ini saja yang bisa saya tambahkan, kurang lebih mohon maaf karena masih belajar..&lt;br /&gt;Met mencoba ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-7007618180368326814?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/7007618180368326814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/7007618180368326814'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/02/matematika-pd-bilangan-pecahan-float.html' title='Matematika pd Bilangan Pecahan (float)'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dNauCEz-yi0/S3W_UPCkdxI/AAAAAAAAAm0/YHT_kP9TCeQ/s72-c/Voltmeter+Digital.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-8163969507220941587</id><published>2010-01-30T12:30:00.000-08:00</published><updated>2011-01-26T20:50:46.712-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial CoViAVR'/><title type='text'>Menampilkan Bilangan Float (Pecahan)</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Habis Coding n mumpung ingat... (kemarin)&lt;br /&gt;Okelah kalo lanjut...&lt;br /&gt;&lt;br /&gt;Beberapa coding di internet mungkin telah anda baca mengenai cara menampilkan bilangan &lt;span style="font-weight: bold;"&gt;float &lt;/span&gt;(pecahan) seperti pada beberapa tutorial tentang cara mengakses sensor ultrasonik PING dan menampilkan bilangan pecahan hasil pembacaan jarak pada LCD / komputer.&lt;br /&gt;&lt;br /&gt;Dan ketika saya sedang memprogram project Voltmeter digital. Saya sedikit bingung menampilkan bilangan &lt;span style="font-weight: bold;"&gt;float &lt;/span&gt;(pecahan).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Cara I : Menggunakan Sprintf&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Saya coba menggunakan perintah &lt;span style="font-weight: bold;"&gt;sprint&lt;/span&gt;, cukup akurat untuk menampilkan pecahan hingga 6 angka dibelakang koma langkah-langkahnya yaitu :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/S3Q0L7n4xcI/AAAAAAAAAl8/EdHT10kzQgI/s1600-h/Float+Sprintf.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 139px; height: 200px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/S3Q0L7n4xcI/AAAAAAAAAl8/EdHT10kzQgI/s200/Float+Sprintf.bmp" alt="" id="BLOGGER_PHOTO_ID_5437028029731227074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Pada project sudah di buat, klik &lt;span style="font-weight: bold;"&gt;Project&lt;/span&gt;-&lt;span style="font-weight: bold;"&gt;Configure&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Pada tab &lt;span style="font-weight: bold;"&gt;(s)printf Features&lt;/span&gt; pilih &lt;span style="font-weight: bold;"&gt;float,width,precision&lt;/span&gt; hal ini menyebabkan perintah sprintf dapat menampilkan bilangan float (pecahan) dan mendukung lebih banyak jenis bilangan antara lain '+'. '-', '0' dan ' ' flag dan menggunakan sprintf menjadi lebih banyak fungsi seperti : 'c', 's', 'p', 'i', 'd', 'u', 'e', 'E', 'f', 'x', 'X', '%' (silahkan lihat help-nya). &lt;/li&gt;&lt;li&gt;Atur nilai Data Stack Size menjadi lebih besar karena proses konversi nilai float agar dapat ditampilkan membutuhkan memori yang lebih besar.&lt;/li&gt;&lt;/ol&gt;Jika langkah diatas tidak dilakukan dan anda ingin menampilkan bilangan float (pecahan), tidak akan ada pesan ERROR ataupun WARNING yang terlihat tetapi program anda tidak akan berjalan. Pada LCD ataupun komunikasi serial tidak akan menampilkan apa-apa.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/S3Q9KG8q4mI/AAAAAAAAAmE/MlFfRjAO2fo/s1600-h/Display+Sprintf.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 164px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/S3Q9KG8q4mI/AAAAAAAAAmE/MlFfRjAO2fo/s200/Display+Sprintf.bmp" alt="" id="BLOGGER_PHOTO_ID_5437037894016098914" border="0" /&gt;&lt;/a&gt;Setelah pengaturan selesai jalankan Coding berikut dan test pada serial atau LCD.&lt;br /&gt;Mengapa tampilannya &lt;span style="font-weight: bold;"&gt;0.123457&lt;/span&gt; yang seharusnya &lt;span style="font-weight: bold;"&gt;0.123456789&lt;/span&gt; hal ini karena dibatasi oleh kompilernya sebanyak 6 digit dibelakang koma.&lt;br /&gt;&lt;br /&gt;Pada digit terakhir merupakan pembulatan yaitu &lt;span style="font-weight: bold;"&gt;0.123456789&lt;/span&gt; dibulatkan menjadi &lt;span style="font-weight: bold;"&gt;0.123457&lt;/span&gt;.&lt;br /&gt;Coba anda ganti dengan &lt;span style="font-weight: bold;"&gt;0.123456123&lt;/span&gt; maka akan ditampilkan &lt;span style="font-weight: bold;"&gt;0.123456&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Cara II : Dengan FTOA (Float to Array)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Cara ini lebih sederhana dengan &lt;span style="font-weight: bold;"&gt;Data Stack Size&lt;/span&gt; yang kecil (128) dan tidak perlu pengaturan apapun. Anda cukup memanggil library &lt;span style="font-weight: bold;"&gt;&lt;stdlib.h&gt;&lt;/stdlib.h&gt;&lt;/span&gt;.&lt;br /&gt;Sebelum mencoba kembalikan konfigurasi &lt;span style="font-weight: bold;"&gt;Data Stack Size &lt;/span&gt;dan&lt;span style="font-weight: bold;"&gt; (s)printf Feature&lt;/span&gt; seperti semula dan coba coding berikut ini :&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/S3RAvfiHCZI/AAAAAAAAAmM/FKxmsR-oI4Q/s1600-h/Display+ftoa.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 170px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/S3RAvfiHCZI/AAAAAAAAAmM/FKxmsR-oI4Q/s200/Display+ftoa.bmp" alt="" id="BLOGGER_PHOTO_ID_5437041834805627282" border="0" /&gt;&lt;/a&gt;fungsi &lt;span style="font-weight: bold;"&gt;ftoa &lt;/span&gt;ternyata menampilkan hal yang sama seperti sprintf dan hasilnya pun sama.&lt;br /&gt;&lt;br /&gt;Cara ini lebih sederhana karena anda tidak perlu menambah &lt;span style="font-weight: bold;"&gt;Data Stack Size &lt;/span&gt;dan melakukan pengaturan lainnya.&lt;br /&gt;&lt;br /&gt;Silahkan coba juga &lt;span style="font-weight: bold;"&gt;itoa&lt;/span&gt; dan fungsi lain pada library &lt;span style="font-weight: bold;"&gt;stdlib&lt;/span&gt;.&lt;br /&gt;Baca Help CoViAVR.&lt;br /&gt;&lt;br /&gt;Jangan lupa membaca tentang :&lt;br /&gt;&lt;a style="font-weight: bold;" href="http://payztronics.blogspot.com/2010/02/matematika-pd-bilangan-pecahan-float.html"&gt;Matematika pd Bilangan Pecahan (float)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Met mencoba ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-8163969507220941587?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8163969507220941587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8163969507220941587'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/01/menampilkan-bilangan-float-pecahan.html' title='Menampilkan Bilangan Float (Pecahan)'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_dNauCEz-yi0/S3Q0L7n4xcI/AAAAAAAAAl8/EdHT10kzQgI/s72-c/Float+Sprintf.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-6995221164113337932</id><published>2010-01-30T11:59:00.000-08:00</published><updated>2011-01-26T20:50:52.851-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Hardware'/><title type='text'>AVR : Pin RESET AVR</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Setiap mikrokontroller memiliki pin reset, mikrokontroller MCS51 maupun AVR juga memiliki pin reset. Jika pada MCS51 pin reset aktif HIGH, maka pada AVR pin reset aktif LOW. Saya akan mencoba membahas pin reset pada AVR, karena setelah membaca tentang "Hardware Design Consideration", ternyata pin reset pun harus dirancang sebaik mungkin.&lt;br /&gt;&lt;br /&gt;Pin RESET pada AVR aktif low yang maksudnya reset mikrokontroller akan terjadi jika pin RESET diberi logika 0. RESET memiliki 2 fungsi atau tujuan antara lain :&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Membuat semua pin dalam kondisi tri-state (High Impedance) kecuali pin XTAL, menginisialisasi register I/O, dan meng-set counter program kembali ke NOL.&lt;/li&gt;&lt;li&gt;Memasuki mode program (beberapa IC lain juga menggunakan pin PEN untuk memasuki mode program). Selain itu memungkinkan untuk menggunakan mode memprogram chip paralel/tegangan tinggi dengan memberikan pin RESET tegangan 11,5 Vdc - 12 Vdc (lihat datasheet chip).&lt;/li&gt;&lt;/ol&gt;Pin Reset AVR memiliki resistor pull-up internal agar mikro tidak reset sendiri tetapi resistor pull-up internal ini tidak cukup jika lingkungan memiliki ganguan-ganguan dan mikro dapat reset yang terjadi secara sporadis. Resistor pull-up eksternal dapat digunakan untuk menjaga agar pin RESET tidak berlogika 0 secara tidak disengaja. Besarnya nilai resistor ini secara teori bisa bernilai berapa saja tetapi untuk aplikasinya gunakan nilai resistor yang tepat agar pin RESET dapat diubah logikanya menjadi LOW sehingga dapat diprogram. Nilai pada umumnya dan yang direkomendasikan adalah 10Kohm dan untuk keperluan &lt;span style="font-weight: bold;"&gt;debugWIRE &lt;/span&gt;tidak boleh lebih kecil dari 10Kohm.&lt;br /&gt;&lt;br /&gt;Untuk melindungi pin RESET dari noise, kapasitor dapat ditambahkan yang terhubung dengan pin Reset dan Ground. Kapasitor tidak begitu dianjurkan penggunaannya karena AVR telah memiliki &lt;span style="font-weight: bold;"&gt;low-pass filter&lt;/span&gt; internal untuk mengurangi efek bounching pada pin Reset, tetapi penggunaan kapasitor eksternal lebih kepada proteksi tambahan pada pin reset.&lt;br /&gt;Penggunaan kapasitor eksternal tidak diperbolehkan apabila menggunakan &lt;span style="font-weight: bold;"&gt;debugWIRE&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Beberapa mikrokontroller dapat ditambahkan eksternal rangkaian &lt;span style="font-weight: bold;"&gt;Brown-out&lt;/span&gt; (drop tegangan / penurunan tegangan) tetapi AVR memiliki rangkaian &lt;span style="font-weight: bold;"&gt;Brown-out&lt;/span&gt; internal sehingga lebih aman dan merupakan solusi sederhana untuk mengontrol kondisi pin RESET.&lt;br /&gt;&lt;br /&gt;Jika tidak menggunakan mode memprogram tegangan tinggi, disarankan dioda pelindung ESD (Electrostatic Discharge) antara pin RESET dengan VCC karena tidak terdapat pelindung internal untuk mode memprogram tegangan tinggi. Dioda Zener dapat digunakan untuk membatasi tegangan pada pin Reset terhadap Ground. Dioda Zener ini sangat disarankan apabila mikrokontroller digunakan pada lingkungan yang memiliki noise tinggi.&lt;br /&gt;&lt;br /&gt;Komponen-komponen ini (Resistor pull-up eksternal, kapasitor eksternal, dan Dioda Zener) letakkan sedekat mungkin dengan pin Reset Mikrokontroller AVR.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S2SaxucLmhI/AAAAAAAAAlM/93aqkIvcLrI/s1600-h/Pin+Reset+AVR.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 145px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S2SaxucLmhI/AAAAAAAAAlM/93aqkIvcLrI/s200/Pin+Reset+AVR.bmp" alt="" id="BLOGGER_PHOTO_ID_5432637229586160146" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Semoga bermanfaat ;).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-6995221164113337932?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/6995221164113337932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/6995221164113337932'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/01/avr-pin-reset-avr.html' title='AVR : Pin RESET AVR'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dNauCEz-yi0/S2SaxucLmhI/AAAAAAAAAlM/93aqkIvcLrI/s72-c/Pin+Reset+AVR.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-6994579754114183980</id><published>2010-01-30T11:44:00.001-08:00</published><updated>2011-01-26T20:50:58.179-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Hardware'/><title type='text'>AVR : Clock dgn Crystal dan Resonator Keramik</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Mikrokontroller bisa menggunakan sumber clock yang berbeda baik internal clock (beberapa mikrokontroller) maupun eksternal clock. Ada beberapa pilihan sumber clock eksternal yang dapat menjadi pilihan antara lain : Sumber Clock lain (IC 555, dll), RC Oscillator, Crystal dan Resonator Keramik. Penggunaan Crystal maupun Resonator Keramik untuk beberapa perancangan hardware menyebabkan masalah. Oleh sebab itu saya mencoba membahas penggunaan Crystal dan Resonator keramik sebagai sumber clock.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S2T373NSGxI/AAAAAAAAAlk/SiIJyBb-KDE/s1600-h/Oscillator.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 194px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S2T373NSGxI/AAAAAAAAAlk/SiIJyBb-KDE/s200/Oscillator.bmp" alt="" id="BLOGGER_PHOTO_ID_5432739658319665938" border="0" /&gt;&lt;/a&gt;Pada AVR sumber clock dipilih dengan mengatur fuses-nya. Kebanyakan programmer ISP maupun paralel dapat memprogram fuse ini untuk mengatur sumber clock. Program fuse tidak terhapus apabila memori program AVR dihapus oleh sebab itu fuse diprogram jika hanya konfigurasi fuse harus diprogram. Memprogram fuse setiap saat memori program dihapus dan diprogram kembali tidak begitu penting atau memprogram fuse cukup 1 kali saja.&lt;br /&gt;&lt;br /&gt;Tidak semua mikrokontroller AVR mampu berjalan untuk berbagai sumber clock eksternal oleh sebab itu selalu baca datasheet dengan seksama karena penggunaan sumber clock yang berbeda dengan kemampuan dan spesifikasi mikrokontroller menyebabkan mikro tersebut tidak berfungsi. Dan juga konfigurasi fuse tidak di clear (diubah logikanya dari 1 menjadi 0) ketika memori program dihapus (mikrokontroller diprogram), hal ini bisa menjadi masalah jika konfigurasi fuse salah.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Crystal dan Resonator Keramik&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Tipe tipikal Crystal yang digunakan untuk AVR adalah Crystal &lt;a style="font-weight: bold;" href="http://en.wikipedia.org/wiki/Crystal_oscillator"&gt;AT-cut parallel resonant&lt;/a&gt;. Resonantor keramik mirip dengan AT-cut parallel resonator tetapi lebih murah dan kualitas rendah versi Crystal. Resonator keramik memiliki &lt;a href="http://en.wikipedia.org/wiki/Q_factor"&gt;&lt;span style="font-weight: bold;"&gt;Q-Value&lt;/span&gt;&lt;/a&gt; yang rendah yang memiliki kekurangan dan kelebihan.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/S2S_VAB8-nI/AAAAAAAAAlU/6FOxNDIHCq0/s1600-h/Crystal+vs+Resonator+Keramik.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 81px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/S2S_VAB8-nI/AAAAAAAAAlU/6FOxNDIHCq0/s200/Crystal+vs+Resonator+Keramik.bmp" alt="" id="BLOGGER_PHOTO_ID_5432677418022009458" border="0" /&gt;&lt;/a&gt;Resonator keramik memiliki Q-value yang rendah sehingga dapat diatur ke frekuensi yang dikehendaki, tetapi sensitif terhadap perubahan suhu dan perubahan beban yang dapat menyebabkan perubahan frekuensi yang tidak dikehendaki. Kelebihan resonator keramik yaitu memiliki waktu start-up yang lebih cepat dibanding Crystal.&lt;br /&gt;Untuk Crystal, noise dapat dikurangi dengan menghubungkan body crystal ke ground digital sistem.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/S2TAkm69tPI/AAAAAAAAAlc/Njkheq-syDk/s1600-h/Basic+Resonator.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 98px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/S2TAkm69tPI/AAAAAAAAAlc/Njkheq-syDk/s200/Basic+Resonator.bmp" alt="" id="BLOGGER_PHOTO_ID_5432678785671345394" border="0" /&gt;&lt;/a&gt;Parallel Resonator membutuhkan tambahan komponen reaktif seperti kapasitor.&lt;br /&gt;Ada 2 rangkaian dasar parallel resonator seperti gambar disamping. Gambar A jika sumber clock yang digunakan lebih dari 400kHz sedangkan gambar B jika sumber clock digunakan untuk low frekuensi (32,768 kHz) seperti pada RTC (Real Time Clock). Pada low frekuensi umumnya telah terdapat kapasitor internal sehingga tidak perlu kapasitor eksternal dan hanya dibutuhkan sumber clock saja.&lt;br /&gt;&lt;br /&gt;Jika lebih dari 400kHz kapasitor eksternal dengan nilai yang tepat harus dipasangkan agar parallel resonator bekerja dengan stabil. Apabila nilai kapasitor terlalu besar maka oscillator akan mengalami masalah saat akan mulai berosilasi.&lt;br /&gt;&lt;br /&gt;Jika menggunakan konfigurasi "ext. crystal oscillator", Crystal dengan nilai lebih dari 400kHz dapat digunakan dan nilai kapasitor yang dianjurkan antara 22pF - 33pF.&lt;br /&gt;Jika menggunakan konfigurasi "ext. low frequency crystal", yang menggunakan Crystal 32,768 kHz maka internal kapasitor pada XTAL1 dan XTAL2 dapat diaktfikan dengan memprogram fuse CKOPT. Kapasitor internal biasanya bernilai 20pF tetapi dapat bervariasi.&lt;br /&gt;&lt;br /&gt;Frekuensi resonator tergantung pada nilai kapasitor yang digunakan, frekuensi akan bertambah jika nilai kapasitifnya berkurang sebaliknya frekuensi akan berkurang jika nilai kapasitifnya bertambah. Kristal memiliki Q-faktor yang lebih tinggi daripada resonator keramik sehingga memiliki frekuensi yang lebih stabil terhadap perubahan nilai kapasitif. Kristal 32,768 memiliki Q-factor yang tinggi dan frekuensi yang sangat stabil dan sangat tepat sehingga digunakan sering untuk fungsi pewaktuan.&lt;br /&gt;&lt;br /&gt;Oscillator bisa terpengaruh secara crusial terhadap lingkungan yang terdapat noise. Jika noise tersebut kuat maka oscillator akan "lock up" dan berhenti berosilasi. Untuk membuat oscillator tidak begitu sensitif terhadap noise dapat dengan menambah nilai salah satu kapasitor pada XTAL1. Hal ini tidak berpengaruh pada total nilai beban kapasitif tetapi dapat mempengaruhi frekuensi resonansi dan mengubah nilai &lt;span style="font-weight: bold;"&gt;duty cycle&lt;/span&gt; menjadi tidak seimbang. Nilai kapasitor yang berbeda (unbalanced) tidak digunakan apabila menggunakan kecepatan AVR mendekati batas kecepatan maksimumnya.&lt;br /&gt;&lt;br /&gt;Beberapa kesimpulan :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Mikrokontroller AVR bisa menggunakan clock internal (datasheet) ataupun clock eksternal.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Crystal lebih baik dan lebih stabil dibanding Resonator Keramik.&lt;/li&gt;&lt;li&gt;Gunakan kapasitor dan nilai yang tepat yaitu 22pF-33pF jika frekuensi &gt;=400kHz.&lt;/li&gt;&lt;li&gt;Kapasitor oscillator harus bernilai sama antar Xtal1 dan Xtal2&lt;/li&gt;&lt;li&gt;Oscillator dan komponen kapasitif tidak boleh jeuh dari pin Mikrokontroller.&lt;/li&gt;&lt;li&gt;Body Crystal harus di groundkan untuk kestabilan sistem terhadap noise.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-6994579754114183980?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/6994579754114183980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/6994579754114183980'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/01/avr-clock-dgn-crystal-dan-resonator.html' title='AVR : Clock dgn Crystal dan Resonator Keramik'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dNauCEz-yi0/S2T373NSGxI/AAAAAAAAAlk/SiIJyBb-KDE/s72-c/Oscillator.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-1383617458316697107</id><published>2010-01-29T10:59:00.001-08:00</published><updated>2011-01-26T20:51:02.422-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Wireless'/><title type='text'>RFM12BP : Sejenak Coding RFM12B</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;div style="text-align: left;"&gt;File Sumber :&lt;a style="font-weight: bold;" href="http://zenburn.net/%7Egoroux/rfm12b/rfm12b_and_avr-%20quick_start.pdf"&gt;Tutorial memprogram RFM12B&lt;/a&gt; (bisa juga RFM12BP).&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Agar modul Tranciever RFM12B/P bisa berfungsi maka mikrokontroller harus diprogram agar dapat berkomunikasi dengan modul RFM12B/P namun sebelum memprogram ada beberapa hal yang harus diketahui terlebih dahulu.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;MCU dan modul RFM12B/P berkomunikasi secara &lt;a href="http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus"&gt;SPI (Serial Peripheral Interface)&lt;/a&gt; 16 bit.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Agar memprogram mudah dan komunikasi SPI sinkron maka xtal MCU memiliki kristal dengan nilai tidak lebih dari 10MHz (sangat disarankan kristal = 10MHz).&lt;/li&gt;&lt;li&gt;Salah satu modul RFM12B/P sebagai penerima saja dan salah satu modul RFM12B/P sebagai pemancar saja.&lt;/li&gt;&lt;li&gt;Frekuensi modul pemancar dan modul penerima harus sama, dan untuk awal coding sebaiknya menggunakan frekuensi tengahnya saja seperti 434MHz, 868MHz, atau 915MHz.&lt;/li&gt;&lt;li&gt;Kecepatan transfer data atau Baud Rate antara pemancar dan penerima harus sama.&lt;/li&gt;&lt;li&gt;Untuk modul RFM12B/P Reciever (penerima) setiap selesai menerima data harus dilakukan FIFO Reset untuk mengosongkan buffer memori FIFO agar reciever aktif dan dapat menerima data berikutnya.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Untuk kristal MCU, jika MCU menggunakan kristal lebih besar dari 10MHz maka komunikasi bisa error karena modul RFM12B/P tidak dapat mengikuti kecepatan MCU (modul RFM12B/P menggunakan kristal 10MHz). Hal ini bisa diatasi dengan memberikan delay pada coding MCU agar MCU tidak terlalu cepat, tetapi hal ini justru memperlambat komunikasi MCU dengan RFM12B/P karena delay tersebut harus tepat nilainya (biasanya justru lebih lambat jika dibanding menggunakan xtall 10MHz).&lt;br /&gt;&lt;br /&gt;Untuk Codingnya mau jelasin tetapi lebih lengkap disini &lt;a style="font-weight: bold;" href="http://zenburn.net/%7Egoroux/rfm12b/rfm12b_and_avr-%20quick_start.pdf"&gt;Tutorial memprogram RFM12B&lt;/a&gt;. Coding tersebut pada transmitter memancarkan karakter berupa angka '0' hingga 'F' dan pada reciever menampilkan data diterima pada komputer secara serial (COM).&lt;br /&gt;&lt;br /&gt;PREAMBLE berfungsi sebagai sinyal &lt;span style="font-weight: bold;"&gt;wake up&lt;/span&gt; yaitu sinyal 10101010 yang dikirimkan sebelum data sebenarnya dikirimkan, fungsinya sebagai sinyal yang memberitahu pada penerima agar "bangun" (wake up) dan bersiap menerima data sebenarnya yaitu data setelah data sinkronisasi diberikan (SYNC).&lt;br /&gt;&lt;br /&gt;Selamat mencoba ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-1383617458316697107?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/1383617458316697107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/1383617458316697107'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/01/rfm12bp-sejenak-coding-rfm12b.html' title='RFM12BP : Sejenak Coding RFM12B'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-2449029256611872179</id><published>2010-01-29T10:58:00.000-08:00</published><updated>2011-01-26T20:51:14.546-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wireless'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Hardware'/><title type='text'>RFM12BP : Interface dgn AVR</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;div style="text-align: left;"&gt;Silahkan baca + download :&lt;br /&gt;&lt;/div&gt; &lt;ol style="font-weight: bold; text-align: left;"&gt;&lt;li&gt;&lt;a href="http://www.hoperf.cn/upfile/RFM12BP.PDF"&gt;Data Sheet RFM12BP.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.strobotics.com.au/tags/rfm12bp/"&gt;Blog membahas RFM12B.&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://zenburn.net/%7Egoroux/rfm12b/rfm12b_and_avr-%20quick_start.pdf"&gt;Tutorial memprogram RFM12B&lt;/a&gt; (bisa juga RFM12BP).&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.technofun.org/RFM12/Tx%20Rx_1.05.bas"&gt;Coding RFM12B dalam Bascom.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.technofun.org/blog/"&gt;Aplikasi konfigurasi RFM12B.&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;Berdasarkan datasheet RFM12B/BP, tegangan supply yang dibutuhkan antara 2,2Vdc - 3,8Vdc dan untuk RFM12BP dibutuhkan tegangan ekstra 12Vdc untuk supply amplifier 500mW. Oleh sebab itu tegangan pada setiap pin RFM12B/BP tidak lebih dari 4Vdc (lebih lengkap baca datasheet hal 3).&lt;br /&gt;&lt;br /&gt;Mikrokontroller dengan level tegangan TTL setiap pin bernilai 0Vdc - 5Vdc, sehingga dibutuhkan pengadaptasi tegangan agar Mikrokontroller dan RFM12B/BP dapat berkomunikasi. Beberapa literatur mengatakan bahwa RFM12B/BP memiliki toleransi dan dapat berkomunikasi dengan mikrokontroller secara langsung meskipun level tegangannya berbeda, silahkan anda coba ;) .&lt;br /&gt;Atau anda bisa menggunakan mikrokontroller Low Power seperti ATmega8L jika ingin dihubungkan secara langsung.&lt;br /&gt;&lt;br /&gt;Dari blog : &lt;a href="http://blog.strobotics.com.au/2008/06/23/rfm12b-bit-rates-and-throughput/"&gt;http://blog.strobotics.com&lt;/a&gt; ada 3 konfigurasi dasar yang bisa digunakan untuk mengakses RFM12B/BP antara lain :&lt;ul&gt;&lt;li&gt;Konfigurasi minimal.&lt;/li&gt;&lt;li&gt;Non-Interrupt Based FIFO Usage.&lt;/li&gt;&lt;li&gt;Speed Optimised FIFO Usage.&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/S2cFhpA9V7I/AAAAAAAAAls/diNiCx4rtnE/s1600-h/RFM12B+Minimal.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 190px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/S2cFhpA9V7I/AAAAAAAAAls/diNiCx4rtnE/s200/RFM12B+Minimal.bmp" alt="" id="BLOGGER_PHOTO_ID_5433317550949488562" border="0" /&gt;&lt;/a&gt;Diantara ketiga konfigurasi tersebut saya menggunakan konfigurasi minimal seperti gambar disamping.&lt;br /&gt;Hanya membutuhkan 4 buah jalur komunikasi, sangat sederhana dan mudah.&lt;br /&gt;&lt;br /&gt;Sedikit berbeda dengan gambar, setiap pin RFM12B/BP dengan MCU tidak terhubung secara langsung tetapi setiap jalur terdapat &lt;span style="font-weight: bold;"&gt;resistor 4K7 ohm&lt;/span&gt; sebagai penurun tegangan dari 5 Vdc menjadi kira-kira 3,3Vdc (silahkan ukur dengan Voltmeter) agar RFM12B/BP aman (karena berdasarkan datasheet hal 3, maksimal Vin = 4,5 Vdc).&lt;br /&gt;&lt;br /&gt;Penjelasan beberapa pin-pin RFM12B/BP berdasarkan &lt;a href="http://blog.strobotics.com.au/2008/06/17/rfm12-tutorial-part2/"&gt;&lt;span style="font-weight: bold;"&gt;link ini&lt;/span&gt;&lt;/a&gt; :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;VDD (required) - Sumber tegangan RFM12B/BP antara 2,2Vdc - 3,8Vdc bukan &lt;span style="font-weight: bold;"&gt;5Vdc&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;SDI (required) - Serial Data Input, sebagai Input jika MCU ingin memberikan &lt;span style="font-weight: bold;"&gt;command &lt;/span&gt;atau data yang akan dikirimkan melalui RFM12B/BP.&lt;/li&gt;&lt;li&gt;SDO (required) - Serial Data Output, sebagai Output jika RFM12B/BP akan memberikan data ke MCU.&lt;/li&gt;&lt;li&gt;SCK (required) - Serial Clock pin sinyal sinkronisasi pada komunikasi data yang diberikan oleh MCU ke RFM12B/BP.&lt;/li&gt;&lt;li&gt;nSEL (required) - Chip Select (rendah aktif). Pin ini harus diberi logika 0 jika RFM12B/BP ingin diakses.&lt;/li&gt;&lt;li&gt;FSK/DATA/nFFS (optional) - jika tidak digunakan harus diberikan resistor pullup.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S2cOIuVoQyI/AAAAAAAAAl0/mcm4nhbBNIk/s1600-h/RFM12BP+supply.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 151px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S2cOIuVoQyI/AAAAAAAAAl0/mcm4nhbBNIk/s200/RFM12BP+supply.bmp" alt="" id="BLOGGER_PHOTO_ID_5433327018486285090" border="0" /&gt;&lt;/a&gt;Sumber tegangan RFM12B/BP atau pin VDD dapat dibuat menggunakan regulator 3,3 Volt menggunakan IC 78L33, TLV2217-33, LM3940, Zener 3Volt, dsb. Saya menggunakan Zener 3Volt yang pasang seperti gambar disamping. Jangan lupa selalu mengukur tegangan agar tidak merusak RFM12B/BP ataupun MCU.&lt;br /&gt;&lt;br /&gt;Saya menggunakan RFM12BP dan saat pertama kali Coding, antena RFM12BP tidak saya pasang tetapi agar komunikasi terjadi, pemancar dan penerima tidak boleh lebih dari 2 meter, terhalang sesuatu, atau didaerah banyak sinyal (noise).&lt;br /&gt;Dan juga saya merancang dengan PCB matriks (PCB lubang IC) belum menggunakan PCB yang bagus tetapi komunikasi lancar dan tidak terjadi error data sedikitpun. Sehingga anda dapat menguji coba juga dengan PCB matriks sebelum menggunakan PCB mahal.&lt;br /&gt;&lt;br /&gt;Pada perancangan Hardware RFM12B/BP, lakukan hal berikut :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Tempatkan RFM12B/BP sedekat mungkin dengan MCU agar komunikasi SPI tidak mengalami drop tegangan (data error).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Program MCU agar pin SDI, SCK, SDO, dan nSEL berlogika 1 semua, pada RFM12B/BP ukur tegangan pada setiap pin tersebut dan tidak boleh lebih dari 4,5 Vdc.&lt;/li&gt;&lt;li&gt;Jika anda merancang PCB selalu siapkan LED indikator yang menunjukkan RFM12B/BP mengirim atau menerima data.&lt;/li&gt;&lt;/ul&gt;Selamat mencoba ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-2449029256611872179?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/2449029256611872179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/2449029256611872179'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/01/rfm12bp-interface-dgn-avr.html' title='RFM12BP : Interface dgn AVR'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_dNauCEz-yi0/S2cFhpA9V7I/AAAAAAAAAls/diNiCx4rtnE/s72-c/RFM12B+Minimal.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-1584981907452877000</id><published>2010-01-29T10:15:00.000-08:00</published><updated>2011-01-26T20:51:18.545-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wireless'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Hardware'/><title type='text'>RFM12BP : Pengenalan RFM12B</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;div style="text-align: left;"&gt;Silahkan baca + download :&lt;br /&gt;&lt;/div&gt; &lt;ol style="font-weight: bold; text-align: left;"&gt;&lt;li&gt;&lt;a href="http://www.hoperf.cn/upfile/RFM12BP.PDF"&gt;Data Sheet RFM12BP.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.strobotics.com.au/tags/rfm12bp/"&gt;Blog membahas RFM12B.&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://zenburn.net/%7Egoroux/rfm12b/rfm12b_and_avr-%20quick_start.pdf"&gt;Tutorial memprogram RFM12B&lt;/a&gt; (bisa juga RFM12BP).&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.technofun.org/RFM12/Tx%20Rx_1.05.bas"&gt;Coding RFM12B dalam Bascom.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.technofun.org/blog/"&gt;Aplikasi konfigurasi RFM12B.&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt; &lt;div style="text-align: left;"&gt;Link-link internet yang saya berikan diatas adalah semua referensi yang saya gunakan (kecuali 4, 5 tapi yang paling membantu no 3).&lt;br /&gt;&lt;/div&gt; &lt;p style="text-align: left;"&gt;Aplikasi nirkabel (wireless) merupakan salah satu hal yang wajib dikuasai saat ini, akan tetapi harga modul wireless yang tinggi menyebabkan kurangnya minat untuk menggunakannya sehingga kembali pada komunikasi yang mengacu pada wiring (pengkabelan).&lt;/p&gt;  &lt;p style="text-align: left;"&gt;Modul tranciever RFM12B atau RFM12BP merupakan salah satu solusi untuk pengembangan aplikasi wireless dengan sistem embedded seperti mikrokontroller karena arganya yang terjangkau, fitur-fitur yang menarik, dan kelebihan-kelebihan yang dimilikinya. RFM12B dan RFM12BP merupakan modul yang sebenarnya sama tetapi RFM12BP memiliki rangkaian tambahan amplifier dengan output mencapai 500mW.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/S2Mth-mO2SI/AAAAAAAAAk8/t0AK6bGSaCg/s1600-h/RFM12B+dan+RFM12BPA.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 83px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/S2Mth-mO2SI/AAAAAAAAAk8/t0AK6bGSaCg/s200/RFM12B+dan+RFM12BPA.bmp" alt="" id="BLOGGER_PHOTO_ID_5432235637301238050" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p style="text-align: left; font-weight: bold;"&gt;&lt;span style="font-size:180%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: left; font-weight: bold;"&gt;&lt;span style="font-size:180%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: left; font-weight: bold;"&gt;&lt;span style="font-size:180%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: left; font-weight: bold;"&gt;&lt;span style="font-size:180%;"&gt;Pengenalan RFM12BP&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: left;"&gt;Modul RFM12BP memiliki 4 buah frekuensi yang tesedia di pasaran yaitu 315MHz, 434MHz, 868MHz, dan 915MHz (frekuensi 315MHz sudah jarang tersedia). Untuk membedakan frekuensi setiap modul cukup dengan melihat pada PCB modul, yaitu posisi &lt;span style="font-weight: bold;"&gt;strip &lt;/span&gt;yang ditandai seperti ditunjukkan gambar dibawah ini.&lt;/p&gt;&lt;p style="text-align: left;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/S2MtiYJTQNI/AAAAAAAAAlE/L9NdexgSR1w/s1600-h/Frekuensi+RFM12B.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 140px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/S2MtiYJTQNI/AAAAAAAAAlE/L9NdexgSR1w/s200/Frekuensi+RFM12B.bmp" alt="" id="BLOGGER_PHOTO_ID_5432235644159213778" border="0" /&gt;&lt;/a&gt;Nilai frekuensi yang ditunjukkan tersebut adalah frekuensi tengahnya sedangkan frekuensi transmisi data akan anda definisikan sendiri secara program sesuai keinginan anda tetapi mengacu pada frekuensi tengah tersebut. Inilah salah satu kelebihan dari RFM12B yaitu pengaturan frekuensi transimi data secara program.&lt;/p&gt;&lt;p style="text-align: left;"&gt;Perhatikan datasheet RFM12BP halaman 4 dengan penggunaan kristal 10MHz :&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;frekuensi 433 MHz band 2,5kHz step dgn min=430,24 MHz dan max = 439,75MHz.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;frekuensi 868 MHz band 5kHz step dgn min=860,48 MHz dan max = 879,51MHz.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;frekuensi 915 MHz band 7,5kHz step dgn min=900,72 MHz dan max = 929,27MHz.&lt;/li&gt;&lt;/ul&gt;Saya agak bingung karena pada datasheet frekuensinya tertulis 433MHz tetapi pada modulnya 434MHz tetapi karena saya menggunakan 915MHz jadi tidak begitu dipermasalahkan.&lt;br /&gt;&lt;br /&gt;Jika anda menggunakan modul RFM12BP dgn 915MHz band bukan berarti komunikasinya harus dengan frekuensi itu tetapi bisa pada range minimum hingga maksimum.&lt;br /&gt;&lt;br /&gt;Misalkan anda merancang mengontrol perangkat TV, Lampu, Radio, Garasi, Pintu, Jendela, dsb, dengan menggunakan 1 remote kontrol tidak dengan unique address protokol (pengalamatan perangkat yang berbeda) tetapi menggunakan metode perbedaan frekuensi sehingga didapatkan TV=903MHz, Lampu=910MHz, Radio=916MHz, Garasi=919MHz, Pintu=920MHz, Jendela=924MHz, dst.&lt;br /&gt;Apabila metode unique address digabung dengan perbedaan frekuensi bisa anda bayangkan seberapa banyak perangkat yang anda kendalikan hanya dengan sebuah remote kontrol.&lt;br /&gt;&lt;br /&gt;&lt;p style="text-align: left;"&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-1584981907452877000?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/1584981907452877000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/1584981907452877000'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2010/01/rfm12bp-pengenalan.html' title='RFM12BP : Pengenalan RFM12B'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_dNauCEz-yi0/S2Mth-mO2SI/AAAAAAAAAk8/t0AK6bGSaCg/s72-c/RFM12B+dan+RFM12BPA.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-3961408857128943446</id><published>2009-12-20T08:28:00.000-08:00</published><updated>2011-01-26T20:51:26.459-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><title type='text'>HELP Pada Aplikasi Mikrokontroller</title><content type='html'>.&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Baca :&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;a href="http://payztronics.blogspot.com/2009/07/keypad-matriks-4x4-dan-lcd-16x2.html"&gt;Keypad Matriks 4x4 dan LCD 16x2&lt;/a&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Jika anda kesulitan memahami suatu sistem (Hardware) yang berbasis mikrokontroller mengenai cara penggunaan alat, pengoperasian alat, input apa yang harus diberikan, tombol apa saja yang ditekan, dst maka anda akan mencari &lt;span style="font-weight: bold;"&gt;Manual Book&lt;/span&gt; atau buku petunjuknya kemudian membaca secara perlahan.&lt;br /&gt;Bagaimana jika buku itu hilang atau rusak atau halaman tertentu hilang (dan hal ini bisa terjadi bahkan sering) alat tersebut sulit dipahami dan bisa saja jadi tidak berguna karena takut rusak dan sebagainya.&lt;br /&gt;&lt;br /&gt;Membuat &lt;span style="font-weight: bold;"&gt;Help &lt;/span&gt;pada aplikasi mikrokontroller bisa dilakukan dan tentu saja tidak bisa dibandingkan dengan Help pada komputer yang lengkap dan mudah, tapi Help yang dibuat pada aplikasi mikrokontroller dapat dibuat sehingga mudah dipahami meski digunakan oleh orang awam sekalipun.&lt;br /&gt;&lt;br /&gt;Sebelumnya, ada 2 cara (yang saya ketahui) pembuatan HELP agar cara penggunaan alat yang dibuat dapat dipergunakan oleh orang lain, yaitu :&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;1. Sequensial (berurutan)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Dengan cara ini maka penggunaan alat haruslah berdasarkan urutan tertentu, yaitu langkah 1 harus dilakukan sebelum langkah 2 dijalankan, langkah 2 harus dilakukan sebelum ke langkah 3, dst. Sehingga langkah 2 &lt;span style="font-weight: bold;"&gt;tidak mungkin&lt;/span&gt; terjadi jika langkah 1 belum dilakukan, dst.&lt;br /&gt;Cara ini sangat efektif untuk kasus tertentu dan kadang cara ini &lt;span style="font-weight: bold;"&gt;HARUS&lt;/span&gt; untuk sistem tertentu.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;2. Branching (Percabangan)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Cara ini lebih fleksibel dibanding cara 1, yaitu langkah berapapun bisa dilakukan tergantung keinginan User (pengguna). Karena fleksibilitasnya maka sangat efektif untuk suatu sistem kontroller yang berfungsi untuk mengendalikan banyak sistem lainnya&lt;br /&gt;&lt;br /&gt;Hal yang menarik jika menguasai cara menggunakan atau menggabungkan coding &lt;span style="font-weight: bold;"&gt;Sequensial &lt;/span&gt;dan &lt;span style="font-weight: bold;"&gt;Branching&lt;/span&gt; adalah anda bisa merancang sistem yang multi fungsi hanya dengan menggunakan 4 buah Push Button saja sebagai inputannya tanpa memerlukan keypad matrix.&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;Silahkan berkreasi.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Saya akan membahas tips menambahkan Nama Pembuat, Judul alat, Help, Link Web Site, dst yang bisa diimplementasikan pada mikrokontroller menggunakan gabungan cara ke-1 dan cara ke-2 pada Coding berikut.&lt;br /&gt;&lt;br /&gt;Coding ini akan saya bagi menjadi 3 bagian yaitu:&lt;br /&gt;* Main Coding : Coding utama sistem (Cabang Utama).&lt;br /&gt;* State Coding: Coding kondisi pergantian menu help.&lt;br /&gt;* System Coding : Coding tampilan menu Help setiap sistem.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;Main Coding&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S1N4qUIxIMI/AAAAAAAAAj8/MBinURXWxGU/s1600-h/Help-Main+Coding.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 141px; height: 200px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S1N4qUIxIMI/AAAAAAAAAj8/MBinURXWxGU/s200/Help-Main+Coding.bmp" alt="" id="BLOGGER_PHOTO_ID_5427814644266901698" border="0" /&gt;&lt;/a&gt;Program utama terdiri dari Inisalisasi mikrokontroller, tampilan pembuka, dan pernyataan &lt;span style="font-weight: bold;"&gt;switch-case&lt;/span&gt;. Tampak sederhana bukan, dan mudah dipahami. Dengan membuat banyak fungsi dan tinggal memanggil fungsi tersebut maka program anda akan menjadi lebih sederhana, mudah dipahami, mudah dikoreksi, mudah dikembangkan, dan lebih terstruktur.&lt;br /&gt;&lt;br /&gt;Program ini adalah coding yang akan selalu digunakan baik sebelum memasuki Help suatu sistem maupun sesudah keluar dari Help suatu sistem sehingga disebut sebagai cabang utama. Pada Coding diatas sistem yang ditampilkan Help-nya antara lain : About, Main Help, Help  LED, Help UART, Help motor Stepper, Help motor DC, dan Help Buzzer. Setiap sistem menggunakan &lt;span style="font-weight: bold;"&gt;case &lt;/span&gt;tersendiri yang saya beri nama : ABOUT_help, MAIN_help, LED_help, UART_help, STEPPER_help, MTRDC_help, dan BUZZER_help.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;State Coding&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/S1N4qthtJOI/AAAAAAAAAkE/c-JZPcEGJ5w/s1600-h/Help-State+Coding.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 162px; height: 200px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/S1N4qthtJOI/AAAAAAAAAkE/c-JZPcEGJ5w/s200/Help-State+Coding.bmp" alt="" id="BLOGGER_PHOTO_ID_5427814651082384610" border="0" /&gt;&lt;/a&gt;Program ini terdiri dari : Scanning Keypad matrix 4x4 dan perubahan nilai memori help_mode yang menunjukkan State (kondisi) apa yang sedang diaktifkan. Karena menggunakan keypad matrix 4x4 maka bisa hingga 16 kemungkinan mode yang dapat dipergunakan (tentu saja bisa hingga 999 atau lebih).&lt;br /&gt;&lt;br /&gt;Untuk percabangan atau pergantian state dan merupakan inti dari Posting Help pada aplikasi mikrokontroller terletak pada State Coding karena pada bagian inilah yang mengatur pergantian kondisi atau mode HELP pada sistem keseluruhan. Oleh sebab itu jika anda memahami pada State Coding ini akan sangat memungkinkan untuk dikembangkan untuk fungsi lain dan tidak hanya sebagai HELP saja.&lt;br /&gt;&lt;br /&gt;Perhatikan pada fungsi SCAN_help(), fungsi ini selain sebagai scanning keypad juga sebagai delay atau tundaan. Diantara pergantian tampilan LCD harus ada delay tertentu agar tampilan LCD dapat terlihat oleh user akan tetapi harus ada pula scanning keypad terus-menerus untuk pergantian mode (state).&lt;br /&gt;Jika menggunakan fungsi delay_ms(1500) akan kesulitan karena&lt;br /&gt;&lt;ul&gt;&lt;li&gt;keypad tidak akan bisa di scan selama 1500 ms.&lt;/li&gt;&lt;li&gt;mencari waktu (timing) yang tepat untuk penekanan keypad akan sulit bagi pengguna.&lt;/li&gt;&lt;/ul&gt;Oleh sebab itu scanning keypad terus menerus selama 30 kali dan delay antar scanning adalah 50 ms sehingga total delay yang disebabkan scanning keypad adalah 30x50 = 1500 ms.&lt;br /&gt;&lt;br /&gt;Scanning keypad menggunakan looping 30 kali dan delay 50ms sehingga 1500 ms tetapi fungsi &lt;span style="font-weight: bold;"&gt;break&lt;/span&gt; akan menyebabkan keluar dari scannig keypad ketika user menekan keypad meskipun belum mencapai 1500 ms, hal inilah yang menyebabkan perubahan tampilah HELP dan perubahan mode (state) bisa kapan saja dan bersifat fleksibel tanpa perlu menunggu suatu event harus selesai.&lt;br /&gt;&lt;br /&gt;Oiya saya hampir lupa, Biasanya cara lain yang digunakan untuk mendeteksi penekanan keypad yaitu menggunakan &lt;span style="font-weight: bold;"&gt;interupsi&lt;/span&gt; tetapi disini saya menggunakan cara &lt;span style="font-weight: bold;"&gt;scanning&lt;/span&gt; keypad sehingga keypad memang harus di scan terus menerus dan pada kasus ini tidaklah masalah. Silahkan mencoba dengan cara interupsi.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;System Coding&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S1N4rIduyOI/AAAAAAAAAkM/Z8hETwcOC78/s1600-h/Help-System+Coding.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 83px; height: 200px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S1N4rIduyOI/AAAAAAAAAkM/Z8hETwcOC78/s200/Help-System+Coding.bmp" alt="" id="BLOGGER_PHOTO_ID_5427814658313472226" border="0" /&gt;&lt;/a&gt;Bagian ini adalah menampilkan Help-help setiap mode (state) yang diaktifkan. Tentu saja bisa digantikan dengan yang lain misalkan anda ingin menampilkan Help-nya sekaligus menjalankan sistem tersebut.&lt;br /&gt;&lt;br /&gt;Bagian tersulit adalah "dimana dan kapan harus memanggil fungsi SCAN_help()" untuk setiap sistem karena setiap sistem berbeda-beda. Pemanggilan fungsi SCAN_help() haruslah tepat agar tidak terjadi kesalahan, oleh sebab itu pahami karakteristik sistem anda, kapan sistem "istirahat dan waktunya SCAN_help()".&lt;br /&gt;&lt;br /&gt;Fungsi &lt;span style="font-weight: bold;"&gt;SEQUEN_help()&lt;/span&gt; belum saya cantumkan pada Main Coding maupun State Coding, Silahkan anda coba sisipkan beberapa coding sehingga &lt;img src="file:///C:/DOCUME%7E1/Elka-2/LOCALS%7E1/Temp/moz-screenshot.jpg" alt="" /&gt;&lt;span style="font-weight: bold;"&gt;SEQUEN_help() &lt;/span&gt;jadi berfungsi dan bandingkan...&lt;br /&gt;&lt;br /&gt;Help ini memang belum rumit masih yang sederhana saja, tapi meskipun rumit asal dipahami konsepnya maka &lt;span style="font-weight: bold;"&gt;Help&lt;/span&gt;-nya bisa dibuat.&lt;br /&gt;Cara saya menguji Coding ini yaitu orang baru (awam elektro/anak teknik arsitek) saya minta menyalakan alatnya dan mengoperasikannya tanpa saya bantu &lt;span style="font-weight: bold;"&gt;and it's work&lt;/span&gt;, dia bilang "Wah gampang dipahami nih." (untung IQ yang nyobain ga jongkok Xixixixixi......).&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;met mencoba ;)&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-3961408857128943446?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/3961408857128943446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/3961408857128943446'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2009/10/help-pada-aplikasi-mikrokontroller.html' title='HELP Pada Aplikasi Mikrokontroller'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dNauCEz-yi0/S1N4qUIxIMI/AAAAAAAAAj8/MBinURXWxGU/s72-c/Help-Main+Coding.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-5790978832555049859</id><published>2009-12-19T15:00:00.001-08:00</published><updated>2011-01-26T20:51:33.998-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='IC Digital'/><title type='text'>IC Digital Project : Up/Down Counter</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;DataSheet &lt;a style="font-weight: bold;" href="http://www.datasheetcatalog.org/datasheet/philips/74HCT192.pdf"&gt;IC 74HC192&lt;/a&gt;, &lt;a style="font-weight: bold;" href="http://www.datasheetcatalog.org/datasheet/philips/74HC_HCT193_CNV_2.pdf"&gt;IC 74HC193&lt;/a&gt;, dan &lt;a style="font-weight: bold;" href="http://www.datasheetcatalog.org/datasheets/70/375646_DS.pdf"&gt;IC 74LS47&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Perancangan alat ini, bisa menggunakan Mikrokontroller maupun IC digital.&lt;br /&gt;Kali ini akan saya bahas Up Down Counter dgn menggunakan IC digital 74HC192 tampilan berupa Seven Segmen menggunakan IC 74LS47.&lt;br /&gt;&lt;br /&gt;Coba bandingkan pada data sheet antara 74HC192 dgn 74HC193, yang saya buat dulu menggunakan IC 74HC193. Simulasi tampilan Seven segmen dengan data BCD silahkan lihat &lt;a style="font-weight: bold;" href="http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/10-gates/20-sevensegment/sevensegment.html"&gt;dilink ini&lt;/a&gt; (tampilan 0-9 sesuai dengan IC 74LS47).&lt;br /&gt;&lt;br /&gt;Sebelum memulai sebaiknya baca dulu posting berikut:&lt;br /&gt;* &lt;a href="http://payztronics.blogspot.com/2009/08/display-7-segmen-dan-16-segmen.html"&gt;&lt;span style="font-weight: bold;"&gt;Display : 7-Segmen dan 16-Segmen&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://payztronics.blogspot.com/2009/12/ic-digital-74ls47-bcd-to-7-segmen.html"&gt;&lt;span style="font-weight: bold;"&gt;IC Digital : 74LS47 BCD to 7-Segmen&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://payztronics.blogspot.com/2009/12/ic-digital-74hc192-updown-counter.html"&gt;&lt;span style="font-weight: bold;"&gt;IC Digital : 74HC192 Up/Down Counter&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/Sy1o-syrZyI/AAAAAAAAAjs/ldcNi6QPENo/s1600-h/Single+7-Segmen.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px; height: 125px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/Sy1o-syrZyI/AAAAAAAAAjs/ldcNi6QPENo/s200/Single+7-Segmen.bmp" alt="" id="BLOGGER_PHOTO_ID_5417101353181472546" border="0" /&gt;&lt;/a&gt;7-Segmen yang digunakan adalah Single 7-Segmen Common Anode:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/Sy4S2MxckUI/AAAAAAAAAj0/dQubB6goEYw/s1600-h/Up+Down+Counter+Schematic.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 118px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/Sy4S2MxckUI/AAAAAAAAAj0/dQubB6goEYw/s200/Up+Down+Counter+Schematic.bmp" alt="" id="BLOGGER_PHOTO_ID_5417288124124139842" border="0" /&gt;&lt;/a&gt;Schematic untuk Up/Down Counter :&lt;br /&gt;&lt;br /&gt;Met Mencoba ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-5790978832555049859?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/5790978832555049859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/5790978832555049859'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2009/12/ic-digital-project-updown-counter_19.html' title='IC Digital Project : Up/Down Counter'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_dNauCEz-yi0/Sy1o-syrZyI/AAAAAAAAAjs/ldcNi6QPENo/s72-c/Single+7-Segmen.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-8743361280770412084</id><published>2009-12-19T13:17:00.001-08:00</published><updated>2011-01-26T20:51:39.138-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IC Digital'/><title type='text'>IC Digital : 74HC192 Up/Down Counter</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;DataSheet &lt;a style="font-weight: bold;" href="http://www.datasheetcatalog.org/datasheet/philips/74HCT192.pdf"&gt;IC 74HC192&lt;/a&gt; dan &lt;a style="font-weight: bold;" href="http://www.datasheetcatalog.org/datasheet/philips/74HC_HCT193_CNV_2.pdf"&gt;IC 74HC193&lt;/a&gt;&lt;a href="http://www.datasheetcatalog.org/datasheet/philips/74HC_HCT193_CNV_2.pdf"&gt;.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Dengan menggunakan IC digital, dapat dirancang alat Up/Down Counter.&lt;br /&gt;Up Down Counter yaitu Counter (pencacah) yang bisa menghitung naik (Count Up) dan menghitung turun (Count Down) aplikasinya antara lain :&lt;br /&gt;- Jam Digital&lt;br /&gt;- Stopwatch&lt;br /&gt;- RPM counter&lt;br /&gt;- Tachometer&lt;br /&gt;- Product counter&lt;br /&gt;- dll&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/Sy1W7ku_PVI/AAAAAAAAAjc/_lOkdbOWLXI/s1600-h/74HC193+Config%2BTruth+Table.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 190px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/Sy1W7ku_PVI/AAAAAAAAAjc/_lOkdbOWLXI/s200/74HC193+Config%2BTruth+Table.bmp" alt="" id="BLOGGER_PHOTO_ID_5417081508269604178" border="0" /&gt;&lt;/a&gt;Konfigurasi Pin IC 74HC192 sebagai berikut :&lt;br /&gt;Pin Input :&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CPd, CPu, MR, &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;^PL, &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;D0-D3.&lt;/span&gt;&lt;br /&gt;Pin Output:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q0-Q3, ^TCu, ^TCd.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;CPd (Count Down Clock Input)&lt;/span&gt; dan &lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;CPu (Count Up Clock Input) &lt;/span&gt;berfungsi sebagai input clock yg akan memicu (trigger) penghitungan Down atau Up, pemicuan akan terjadi jika pada pin ini terjadi perubahan logika &lt;span style="font-weight: bold;"&gt;LOW-to-HIGH&lt;/span&gt; atau &lt;span style="font-weight: bold;"&gt;PGT (Positif Going Transition)&lt;/span&gt;, &lt;a href="http://misterlandonsclassroom.savannah-haven.com/Unit_4_Clocked_Flip_Flops.ppt"&gt;Baca Flip-Flop Lecture&lt;/a&gt;.  Penggunaan &lt;span style="font-weight: bold;"&gt;CPd &lt;/span&gt;dan &lt;span style="font-weight: bold;"&gt;CPu &lt;/span&gt;tidak boleh bersamaan, jika &lt;span style="font-weight: bold;"&gt;CPd &lt;/span&gt;diberikan Clock maka &lt;span style="font-weight: bold;"&gt;CPu &lt;/span&gt;harus HIGH dan sebaliknya jika &lt;span style="font-weight: bold;"&gt;CPu &lt;/span&gt;diberikan Clock maka &lt;span style="font-weight: bold;"&gt;CPd &lt;/span&gt;harus HIGH. Pemberian Clock pada &lt;span style="font-weight: bold;"&gt;CPu &lt;/span&gt;dan &lt;span style="font-weight: bold;"&gt;CPd&lt;/span&gt; secara bersamaan menyebabkan kesalahan pada outputnya.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;MR (Master Reset)&lt;/span&gt; Logika 1 pada pin &lt;span style="font-weight: bold;"&gt;MR &lt;/span&gt;dan input lainnya &lt;span style="font-weight: bold;"&gt;don't care&lt;/span&gt; kecuali input &lt;span style="font-weight: bold;"&gt;CPd &lt;/span&gt;menyebabkan output &lt;span style="font-weight: bold;"&gt;Q0-Q3&lt;/span&gt; logika 0, dan &lt;span style="font-weight: bold;"&gt;^TCu&lt;/span&gt; logika 1. Output &lt;span style="font-weight: bold;"&gt;^TCd&lt;/span&gt; memiliki logika yang sama dengan input &lt;span style="font-weight: bold;"&gt;CPd&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;^PL (Paralel Load)&lt;/span&gt; berfungsi untuk memberikan nilai pada output &lt;span style="font-weight: bold;"&gt;Q0-Q3&lt;/span&gt; dari input &lt;span style="font-weight: bold;"&gt;D0-D3&lt;/span&gt; secara paralel, nilai ini dapat di set sebagai nilai awal sebelum di Counting Up/Down. Saat mode Count Down (&lt;span style="font-weight: bold;"&gt;CPu &lt;/span&gt;HIGH)  jika &lt;span style="font-weight: bold;"&gt;^PL&lt;/span&gt; logika 0 &lt;span style="font-weight: bold;"&gt;&lt;/span&gt;maka &lt;span style="font-weight: bold;"&gt;^TCd&lt;/span&gt; akan berlogika 0 saat input &lt;span style="font-weight: bold;"&gt;D0-D3&lt;/span&gt; logika 0&lt;span style="font-weight: bold;"&gt;&lt;/span&gt; dan &lt;span style="font-weight: bold;"&gt;CPd &lt;/span&gt;logika 0. Saat mode Count Up (&lt;span style="font-weight: bold;"&gt;CPd &lt;/span&gt;HIGH)  jika &lt;span style="font-weight: bold;"&gt;^PL&lt;/span&gt; logika 0 &lt;span style="font-weight: bold;"&gt;&lt;/span&gt;maka &lt;span style="font-weight: bold;"&gt;^TCu&lt;/span&gt; akan berlogika 0 saat input &lt;span style="font-weight: bold;"&gt;D0 &lt;/span&gt;dan&lt;span style="font-weight: bold;"&gt; D3&lt;/span&gt; logika 1&lt;span style="font-weight: bold;"&gt;&lt;/span&gt; dan &lt;span style="font-weight: bold;"&gt;CPu &lt;/span&gt;logika 0.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;D0-D3&lt;/span&gt; berfungsi sebagai data input paralel.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;Q0-Q3&lt;/span&gt; Flip flop output.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;^TCd (Borrow)&lt;/span&gt; dan &lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;^TCu (Carry)&lt;/span&gt; berfungsi sebagai output indikator yang menunjukkan bahwa counting telah mencapai 0 (&lt;span style="font-weight: bold;"&gt;^TCd&lt;/span&gt;) atau telah mencapai 9 (&lt;span style="font-weight: bold;"&gt;^TCu&lt;/span&gt;). Terminal ini bisa digunakan sebagai pemicu pin &lt;span style="font-weight: bold;"&gt;MR &lt;/span&gt;atau &lt;span style="font-weight: bold;"&gt;^PL&lt;/span&gt; untuk mereset counting atau digunakan oleh Flip-flop lainnya sebagai sumber Clock.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Asynchronous / asinkron pada input &lt;span style="font-weight: bold;"&gt;MR&lt;/span&gt; dan&lt;span style="font-weight: bold;"&gt; ^PL&lt;/span&gt; maksudnya adalah jika logika input &lt;span style="font-weight: bold;"&gt;MR&lt;/span&gt; ataupun &lt;span style="font-weight: bold;"&gt;^PL&lt;/span&gt; berubah maka akan langsung mempengaruhi logika pin output tanpa menunggu sinyal Clock (sinyal peng-sinkron) dari Input &lt;span style="font-weight: bold;"&gt;CPd&lt;/span&gt; maupun &lt;span style="font-weight: bold;"&gt;CPu&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Contoh mode Parallel Load input :&lt;br /&gt;Misal anda merancang alat Count Down dan nilai awal adalah 9 (BCD = 1001) maka :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Berikan nilai konstan/tetap yaitu D3 = 1, D2 = 0, D1 = 0, D0 = 1.&lt;/li&gt;&lt;li&gt;Saat &lt;span style="font-weight: bold;"&gt;^PL&lt;/span&gt; berlogika 0 dan &lt;span style="font-weight: bold;"&gt;MR&lt;/span&gt; logika 1 maka Q0-Q3 = D0-D3.&lt;/li&gt;&lt;li&gt;Lalu &lt;span style="font-weight: bold;"&gt;^PL&lt;/span&gt; berlogika 1 dan &lt;span style="font-weight: bold;"&gt;MR&lt;/span&gt; logika 1 kemudian berikan sinyal Clock pada CPd.&lt;/li&gt;&lt;li&gt;maka akan Count Down 9, 8, 7, 6, 5, 4, 3, 2, 1, 0.&lt;/li&gt;&lt;li&gt;Saat nilai 0 (BCD = 0000), terminal &lt;span style="font-weight: bold;"&gt;^TCd&lt;/span&gt; berlogika 0.&lt;/li&gt;&lt;/ul&gt;Met Mencoba ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-8743361280770412084?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8743361280770412084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/8743361280770412084'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2009/12/ic-digital-74hc192-updown-counter.html' title='IC Digital : 74HC192 Up/Down Counter'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_dNauCEz-yi0/Sy1W7ku_PVI/AAAAAAAAAjc/_lOkdbOWLXI/s72-c/74HC193+Config%2BTruth+Table.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-7179139083228371414</id><published>2009-12-19T12:01:00.000-08:00</published><updated>2011-01-26T20:52:13.202-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IC Digital'/><title type='text'>IC Digital : 74LS47 BCD to 7-Segmen Decoder</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;DataSheet &lt;a style="font-weight: bold;" href="http://www.datasheetcatalog.org/datasheets/70/375646_DS.pdf"&gt;IC 74LS47&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;IC ini berfungsi untuk mengubah data BCD sehingga dapat ditampilkan ke 7-Segmen dan 7-Segmen yang digunakan untuk IC 74LS47 adalah &lt;span style="font-weight: bold;"&gt;7-Segmen Common Anoda&lt;/span&gt;. BCD adalah data digital terdiri dari 4 digit dan nilai desimalnya antara 0-9 sedangkan nilai di atas 9 digunakan sebagai &lt;span style="font-weight: bold;"&gt;tanda&lt;/span&gt; atau&lt;span style="font-weight: bold;"&gt; indikator lainnya&lt;/span&gt;.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_dNauCEz-yi0/Sy1EVC4KGdI/AAAAAAAAAjU/dEUBwiU6EX4/s1600-h/Tabel+BCD.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 99px;" src="http://2.bp.blogspot.com/_dNauCEz-yi0/Sy1EVC4KGdI/AAAAAAAAAjU/dEUBwiU6EX4/s200/Tabel+BCD.bmp" alt="" id="BLOGGER_PHOTO_ID_5417061055136930258" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Konfigurasi Pin IC 74LS47 sebagai berikut :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/Sy00sn_FWPI/AAAAAAAAAjE/cHLBiSZzVuE/s1600-h/74LS47+pin+Config.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 191px; height: 200px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/Sy00sn_FWPI/AAAAAAAAAjE/cHLBiSZzVuE/s200/74LS47+pin+Config.bmp" alt="" id="BLOGGER_PHOTO_ID_5417043868049037554" border="0" /&gt;&lt;/a&gt;Pin input yaitu :&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A0-A3, ^RBI, ^BI, ^LT.&lt;/span&gt;&lt;br /&gt;Pin Output :&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;^a-^g, ^RBO.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Pin yang membingunkan adalah pin ^BI/^RBO karena pada 1 pin tertulis &lt;span style="font-weight: bold;"&gt;Blank Input&lt;/span&gt; dan &lt;span style="font-weight: bold;"&gt;Riple Blank Output&lt;/span&gt;, dan agar tidak bingung harus di lihat juga tabel kebenaran penggunaan pin setiap IC.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/Sy01t6aCS8I/AAAAAAAAAjM/svEONI4rPR4/s1600-h/74Ls47+Tabel+Kebenaran.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 240px; height: 171px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/Sy01t6aCS8I/AAAAAAAAAjM/svEONI4rPR4/s200/74Ls47+Tabel+Kebenaran.bmp" alt="" id="BLOGGER_PHOTO_ID_5417044989685418946" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;A0-A3&lt;/span&gt; input data BCD terdiri dari 4 digit.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;^a-^g&lt;/span&gt; adalah output ke 7-Segmen yang merupakan &lt;span style="font-weight: bold;"&gt;open kolektor&lt;/span&gt; sehingga memiliki arus cukup besar (24 mA) dan merupakan rendah aktif yaitu &lt;span style="font-weight: bold;"&gt;ON &lt;/span&gt;jika &lt;span style="font-weight: bold;"&gt;berlogika 0&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;^LT (Lamp Test) &lt;/span&gt;berfungsi untuk mengecek lampu/LED setiap segmen (segmen a-g), jika pin &lt;span style="font-weight: bold;"&gt;^LT&lt;/span&gt; berlogika 0&lt;span style="font-weight: bold;"&gt;, ^BI&lt;/span&gt; berlogika 1, dan input lainnya &lt;span style="font-weight: bold;"&gt;don't care&lt;/span&gt; maka output&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;^a-^g &lt;/span&gt; berlogika 0 yaitu lampu segmen akan &lt;span style="font-weight: bold;"&gt;ON&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;^RBI (Riple Blank Input)&lt;/span&gt;, Jika input &lt;span style="font-weight: bold;"&gt;^RBI&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;A0-A3&lt;/span&gt; , dan &lt;span style="font-weight: bold;"&gt;^LT&lt;/span&gt; berlogika 0 maka output &lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;^a-^g &lt;/span&gt;  &lt;span style="font-weight: bold;"&gt;&lt;/span&gt;berlogika 1 yang berarti segmen &lt;span style="font-weight: bold;"&gt;OFF&lt;/span&gt;. Ketika menggunakan mode ini pin &lt;span style="font-weight: bold;"&gt;^BI/^RBO&lt;/span&gt; digunakan sebagai indikator (output) yaitu pin &lt;span style="font-weight: bold;"&gt;^RBO&lt;/span&gt; akan memiliki logika yang sama dengan &lt;span style="font-weight: bold;"&gt;^RBI&lt;/span&gt;. Jika input &lt;span style="font-weight: bold;"&gt;^RBI&lt;/span&gt; logika 0 maka output &lt;span style="font-weight: bold;"&gt;^RBO&lt;/span&gt; logika 0 jika input &lt;span style="font-weight: bold;"&gt;^RBI&lt;/span&gt; logika 1 maka output &lt;span style="font-weight: bold;"&gt;^RBO&lt;/span&gt; logika 1.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;^BI&lt;/span&gt; &lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;(Blank Input) &lt;/span&gt;Jika pin ini berlogika 0, apapun logika pada input yang lain maka output &lt;span style="font-weight: bold;"&gt;^a-^g&lt;/span&gt; akan berlogika 1. Dengan menggunakan pin ini misalkan menggunakan timer atau PWM, tampilan 7-Segmen akan berkedap-kedip (On-Off).&lt;/li&gt;&lt;/ul&gt;Dari gambar tersebut juga terlihat bahwa data BCD yang dapat ditampilkan yaitu angka 0-9 saja sedangkan data 10, 11, 12, 13, 14, dan 15 tidak dapat ditampilkan.&lt;br /&gt;Anda harus mengubah data 10, 11, 12, 13, 14, dan 15 atau heksadesimal A, B, C, D, E, dan F ke data BCD 0-9 sebelum di tampilkan ke seven segmen dengan IC 74LS47.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-7179139083228371414?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/7179139083228371414'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/7179139083228371414'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2009/12/ic-digital-74ls47-bcd-to-7-segmen.html' title='IC Digital : 74LS47 BCD to 7-Segmen Decoder'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_dNauCEz-yi0/Sy1EVC4KGdI/AAAAAAAAAjU/dEUBwiU6EX4/s72-c/Tabel+BCD.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-6818788267441722573</id><published>2009-10-24T02:30:00.000-07:00</published><updated>2011-01-26T20:52:19.364-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASK (tanya jawab)'/><title type='text'>Ask : Operasi per-bit Bahasa C</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;Asker : &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(153, 153, 255);"&gt;Abi&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;About :&lt;/span&gt;&lt;br /&gt;Perintah akses per-bit pada sebuah register USART.&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Question :&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S2HesJg8t-I/AAAAAAAAAkc/FnpKCCnyik8/s1600-h/akses+per-bit.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 47px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S2HesJg8t-I/AAAAAAAAAkc/FnpKCCnyik8/s400/akses+per-bit.bmp" alt="" id="BLOGGER_PHOTO_ID_5431867475635255266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;&lt;br /&gt;&lt;br /&gt;Too PayZ:&lt;/span&gt;&lt;br /&gt;Ada pepatah dulu yang kira-kira seperti ini:&lt;br /&gt;"Jika tidak ingin dibodohi orang Inggris belajarlah bahasa Inggris, tidak ingin dibodohi orang Belanda belajarlah bahasa Belanda, tidak ingin dibodohi orang Indonesia belajarlah  bahasa Indonesia." dsb. Oleh sebab itu jika ingin memahami pemrograman mikrokontroller Bahasa C maka pelajarilah Bahasa C.&lt;br /&gt;&lt;br /&gt;Jangan salah, CoViAVR ataupun compiler lain bisa "membodohi" anda jika kurang paham penggunaannya, secara penulisan dan aturan benar bahkan tidak ada &lt;span style="font-weight: bold;"&gt;warning &lt;/span&gt;ataupun &lt;span style="font-weight: bold;"&gt;error &lt;/span&gt;tetapi program tidak jalan atau tidak sesuai sehingga anda "pusing" dan bertanya-tanya "dimana salahnya program ini?".&lt;br /&gt;&lt;br /&gt;Contoh yang mudah : PORTB.3 = 1234 ;&lt;br /&gt;tidak akan error padahal nilai yang mungkin hanya 1 atau 0.&lt;br /&gt;&lt;br /&gt;Baca dulu : &lt;a href="http://payztronics.blogspot.com/2009/08/usart-inisialisasi-usart-pada-avr.html"&gt;&lt;span style="font-weight: bold;"&gt;USART : Inisialisasi USART pada AVR&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;UCSRA adalah data 1 byte atau terdiri dari 8 bit seperti pada gambar berikut (datasheet hal 165) :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/S2IUErZENmI/AAAAAAAAAks/h0-mTa7eal0/s1600-h/Register+UCSRA.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 434px; height: 59px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/S2IUErZENmI/AAAAAAAAAks/h0-mTa7eal0/s400/Register+UCSRA.bmp" alt="" id="BLOGGER_PHOTO_ID_5431926171162130018" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;bit RXC berada pada posisi bit 7 dan TXC berada pada posisi 6, untuk mengaksesnya ada 2 cara yaitu dengan cara byte atau manipulasi bit.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/S2IetqJVqyI/AAAAAAAAAk0/OoatMss2vqs/s1600-h/Operasi+bit.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 158px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/S2IetqJVqyI/AAAAAAAAAk0/OoatMss2vqs/s200/Operasi+bit.bmp" alt="" id="BLOGGER_PHOTO_ID_5431937870318644002" border="0" /&gt;&lt;/a&gt;Klik gambar untuk memperbesar.&lt;br /&gt;Biar jelaaaaasssss...&lt;br /&gt;semoga membantu&lt;br /&gt;&lt;br /&gt;Met Mencoba ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-6818788267441722573?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/6818788267441722573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/6818788267441722573'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2009/10/ask-operasi-per-bit-bahasa-c.html' title='Ask : Operasi per-bit Bahasa C'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dNauCEz-yi0/S2HesJg8t-I/AAAAAAAAAkc/FnpKCCnyik8/s72-c/akses+per-bit.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-5368184993983367163</id><published>2009-10-24T02:00:00.000-07:00</published><updated>2011-01-26T20:52:24.355-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASK (tanya jawab)'/><title type='text'>Ask : ADC dan karekter LCD 16x2 pada AVR</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;Asker : &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(153, 153, 255);"&gt;Dhani_Wae&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;System :&lt;/span&gt;&lt;br /&gt;Sensor garis dengan ADC atau DVM (Digital Voltmeter), dll&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Question :&lt;/span&gt;&lt;br /&gt;mas payz mau tanya neh, gimana caranya buat baca input ADC di atmega8535 lalu dihitung &amp;amp; hasil hitungannya ditampilkan di LCD?&lt;br /&gt;Jumlah input ADC yang saya pake 6 input, semua akan dihitung dan ditampilkan hasilnya pada LCD 2x16.&lt;br /&gt;saya menggunakan software "flowcode v3.3.5.45 for AVR", jadi saya harus membuat flowchartnya dulu. terima kasih sebelumnya...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Too PayZ :&lt;/span&gt;&lt;br /&gt;Saya akan mencoba menjelaskan pembacaan ADC dan menampilkannya pada LCD.&lt;br /&gt;Aplikasi ini bisa digunakan pada sensor garis pada robot line tracing, DVM (Digital Voltmeter) 8 channel lalu ditampilkan ke komputer, dan sebagainya.&lt;br /&gt;Saya akan membahas menggunakan CodeVisionAVR dan tidak menggunakan flowcode.&lt;br /&gt;&lt;br /&gt;Silahkan lihat blog berikut :  &lt;a href="http://payztronics.blogspot.com/2009/06/sensor-garis-adc-membaca-data.html"&gt;&lt;span style="font-weight: bold;"&gt;Sensor Garis ADC : Membaca Data&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Met Mencoba ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-5368184993983367163?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/5368184993983367163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/5368184993983367163'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2009/10/ask-adc-dan-karekter-lcd-16x2-pada-avr.html' title='Ask : ADC dan karekter LCD 16x2 pada AVR'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-14653940500043896</id><published>2009-10-24T01:42:00.001-07:00</published><updated>2011-01-26T20:52:28.401-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASK (tanya jawab)'/><title type='text'>Ask : Membuat Help pada Mikrokontroller</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;Asker : &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(153, 153, 255);"&gt;NewBie&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;System :&lt;/span&gt;&lt;br /&gt;Semua sistem secara umum.&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Question :&lt;/span&gt;&lt;br /&gt;Saya ingin membuat cara penggunaan alat saya atau langkah-langkah pengoperasian alat saya (Help) yang ditampilkan LCD 16x2 sehingga tanpa perlu petunjuk manual ataupun tidak perlu saya beri tahu orang awam pun bisa mengetahui cara penggunaan alat tersebut.&lt;br /&gt;&lt;br /&gt;Masalahnya, saya ingin tampilan Help-nya berganti-ganti setiap 1,5 detik dan selalu ditampilkan tanpa henti-henti tetapi ketika &lt;span style="font-weight: bold;"&gt;Keypad &lt;/span&gt;ditekan langsung menuju operasi yang diinginkan dan keluar dari Help saat itu juga tanpa menunggu 1,5 detik selesai.&lt;br /&gt;Saya menggunakan Delay_ms(1500) dan masalahnya jika pakai delay maka harus menunggu delay selesai dulu.&lt;br /&gt;Gmana mas ?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Too PayZ :&lt;/span&gt;&lt;br /&gt;Memang rata-rata tugas akhir yang pernah saya lihat atau alat lainnya selalu menggunakan &lt;span style="font-weight: bold;"&gt;Manual Book&lt;/span&gt; sebagai petunjuk. Apabila manual booknya hilang dan saat pameran dilakukan oleh juniornya atau orang awam ingin mengetahui penggunaan alat, menjadi kesulitan.&lt;br /&gt;Jika ada tampilan Perancang Alat, Judul Alat, Link Website, Help, dll, itu merupakan nilai tambah dan siapapun tertarik mencoba alat anda.&lt;br /&gt;&lt;br /&gt;Jika menggunakan perintah &lt;span style="font-weight: bold;"&gt;delay_ms(1500)&lt;/span&gt; maka tetap menunggu 1,5 detik sebelum pindah ke perintah selanjutnya. Oleh sebab itu triknya yaitu dengan mengganti&lt;span style="font-weight: bold;"&gt;  delay_ms(1500)&lt;/span&gt; dengan program &lt;span style="font-weight: bold;"&gt;Scanning Keypad&lt;/span&gt; dan looping terus menerus hingga kira-kira 1500mS.&lt;br /&gt;&lt;br /&gt;Silahkan lihat blog berikut : &lt;a href="http://payztronics.blogspot.com/2009/10/help-pada-aplikasi-mikrokontroller.html"&gt;&lt;span style="font-weight: bold;"&gt;HELP Pada Aplikasi Mikrokontroller&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Met Mencoba ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-14653940500043896?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/14653940500043896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/14653940500043896'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2009/10/ask-membuat-help-pada-mikrokontroller.html' title='Ask : Membuat Help pada Mikrokontroller'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-7041504513931357160</id><published>2009-10-22T10:46:00.000-07:00</published><updated>2011-01-26T20:52:32.724-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASK (tanya jawab)'/><title type='text'>Ask : Up Down Counter dgn IC Digital</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;Asker : &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(153, 153, 255);"&gt;Dady&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;System :&lt;/span&gt;&lt;b class="pn_std"&gt;&lt;br /&gt;&lt;/b&gt;Up Down Counter dgn IC 74HC192 tampilan Seven Segmen&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Question :&lt;/span&gt;&lt;br /&gt;mo nanya rangkaian 7 segment menggunakan 7447 dan decadenya 74192 gimana ya rangkaiannya tolong bantu dong ko aku dah rangkai tapi ga jalan mohon pencerahannya thank's&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Too PayZ :&lt;/span&gt;&lt;br /&gt;Lagi sibuk n bingung mo bahas apa, Dady tanya tentang Up Down Counter, Jadi ingat masa lalu ketika pertama kali merancang alat dengan IC digital.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"Ok lah kalo begitu"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Silahkan ke posting tentang &lt;span style="font-weight: bold;"&gt;&lt;a href="http://payztronics.blogspot.com/2009/12/ic-digital-project-updown-counter_19.html"&gt;IC Digital Project : Up/Down Counter&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-7041504513931357160?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/7041504513931357160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/7041504513931357160'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2009/10/ask-up-down-counter-dgn-ic-digital.html' title='Ask : Up Down Counter dgn IC Digital'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-3017234188458497614</id><published>2009-10-20T09:23:00.000-07:00</published><updated>2011-01-26T20:52:37.850-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASK (tanya jawab)'/><title type='text'>Ask : Delay untuk Scan Keypad, baca sensor, dan USART.</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;Asker : &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(153, 153, 255);"&gt;DanZDev&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;System :&lt;/span&gt;&lt;br /&gt;Pengukuran kadar alkohol dengan sensor TGS2620&lt;br /&gt;Pengukuran kadar alkohol dan menampilkannya pada LCD16x2 dan memberikan data pembacaan ADC(0) ke komputer secara serial USART.&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Question :&lt;/span&gt;&lt;br /&gt;Pembacaan data ADC setiap &lt;span style="font-weight: bold;"&gt;1000 ms&lt;/span&gt; dan menampilkannya pada LCD16x2 sebagai informasi ke &lt;span style="font-weight: bold;"&gt;user&lt;/span&gt;, sedangkan data diberikan ke komputer dan ditampilkan setiap &lt;span style="font-weight: bold;"&gt;30 detik&lt;/span&gt; (30000 ms) karena karakteristik sistemnya baru memiliki perubahan yang signifikan setelah kira-kira 30 detik. Selain itu sistem harus selalu &lt;span style="font-weight: bold;"&gt;scanning tombol&lt;/span&gt;, dan jika saya menekan 'A' maka saat itu pula harus melakukan suatu pengiriman data &lt;span style="font-weight: bold;"&gt;USART&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Bagaimana menggabungkan Pembacaan ADC, display data ADC ke LCD setiap &lt;span style="font-weight: bold;"&gt;1 detik&lt;/span&gt;, mengirim secara serial ke PC setiap &lt;span style="font-weight: bold;"&gt;30 detik&lt;/span&gt; dan sekaligus &lt;span style="font-weight: bold;"&gt;Scanning keypad&lt;/span&gt; tersebut.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Too PayZ :&lt;/span&gt;&lt;br /&gt;Saya akan menunjukkan dua cara yaitu &lt;span style="font-weight: bold;"&gt;sistem polling&lt;/span&gt; dengan pengaturan waktu (scheduling) dan &lt;span style="font-weight: bold;"&gt;pemicuan melalui komputer&lt;/span&gt;.&lt;br /&gt;Untuk kedua cara tersebut langkah pertama yaitu menentukan daftar timing-nya dulu biar jelas :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;ADC(0)  = 1000 ms / 1 detik&lt;/li&gt;&lt;li&gt;Refresh Display LCD = ADC (0) = 1 detik&lt;/li&gt;&lt;li&gt;UART komputer = 30 detik&lt;/li&gt;&lt;li&gt; Keypad = 100 mS : nilai ini anda tentukan sendiri (bisa saja 50 mS atau 200 mS) karena penekanan keypad berdasarkan kecepatan jari menekannya.&lt;/li&gt;&lt;/ul&gt;Dari daftar diatas terlihat bahwa waktu terkecil adalah &lt;span style="font-weight: bold;"&gt;Scanning Keypad&lt;/span&gt; dengan waktu &lt;span style="font-weight: bold;"&gt;100 mS&lt;/span&gt; selain itu 30 detik dan 1 detik merupakan kelipatan 100 mS, sehingga waktu 100 mS menjadi waktu acuan.&lt;br /&gt;Silahkan lihat dulu blog sebelumnya :&lt;br /&gt;&lt;a href="http://payztronics.blogspot.com/2009/07/keypad-matriks.html"&gt;&lt;span style="font-weight: bold;"&gt;- Keypad Matriks&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://payztronics.blogspot.com/2009/07/keypad-matriks-i-konsep-dasar.html"&gt;&lt;span style="font-weight: bold;"&gt;- Keypad Matriks : Konsep Dasar&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://payztronics.blogspot.com/2009/07/keypad-matriks-ii-scanning-keypad.html"&gt;&lt;span style="font-weight: bold;"&gt;- Keypad Matriks : Scanning Keypad&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://payztronics.blogspot.com/2009/07/lcd-karakter.html"&gt;LCD Karakter&lt;/a&gt;&lt;br /&gt;&lt;a href="http://payztronics.blogspot.com/2009/07/tips-n-trik-coding-lcd-karakter.html"&gt;&lt;span style="font-weight: bold;"&gt;- Tips n Trik Coding LCD Karakter&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://payztronics.blogspot.com/2009/08/usart-inisialisasi-usart-pada-avr.html"&gt;&lt;span style="font-weight: bold;"&gt;- USART : Inisialisasi USART pada AVR&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://payztronics.blogspot.com/2009/10/usart-kirim-dan-terima-data.html"&gt;&lt;span style="font-weight: bold;"&gt;- USART : Kirim dan Terima Data&lt;/span&gt;&lt;/a&gt; (Perhatikan fungsi terima data)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Sistem Polling&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/SuEq1bqnE_I/AAAAAAAAAi8/cRisFPqk_BE/s1600-h/Ask+DanzDev.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 142px; height: 200px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/SuEq1bqnE_I/AAAAAAAAAi8/cRisFPqk_BE/s200/Ask+DanzDev.bmp" alt="" id="BLOGGER_PHOTO_ID_5395640926014477298" border="0" /&gt;&lt;/a&gt;Dengan menggunakan waktu acuan yaitu &lt;span style="font-weight: bold;"&gt;Polling &lt;/span&gt;setiap 100 mS dan global variable &lt;span style="font-weight: bold;"&gt;time_count&lt;/span&gt; sebagai indikatornya maka  Scanning Keypad dilakukan setiap &lt;span style="font-weight: bold;"&gt;time_count&lt;/span&gt; bertambah nilainya atau setiap 100 mS, baca ADC(0) dan menampilkannya di LCD jika &lt;span style="font-weight: bold;"&gt;time_count&lt;/span&gt; berkelipatan10 (100mS x 10 = 1000mS), dan komunikasi UART setiap &lt;span style="font-weight: bold;"&gt;time_count&lt;/span&gt; berkelipatan 300 (100mS x 300 = 30000 mS).&lt;br /&gt;Setelah mencapai waktu maksimal dari sistem (yaitu 30 detik) maka jangan lupa mereset nilai pada variabel &lt;span style="font-weight: bold;"&gt;time_count&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; = 0&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Kelemahan cara ini adalah jika pewaktuannya berubah maka mikrokontrollernya harus diprogram kembali.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Pemicuan Oleh Komputer&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Cara kedua yang bisa dilakukan dan lebih fleksibel yaitu dengan pemicuan melalui komputer yaitu komputer yang menentukan suatu &lt;span style="font-weight: bold;"&gt;event pada mikrokontroller&lt;/span&gt;.&lt;br /&gt;Fleksibel karena &lt;span style="font-weight: bold;"&gt;timing&lt;/span&gt;-nya bisa dilakukan dengan mengubah nilai timer secara software (tinggal klik saja). Tapi kelemahannya yaitu sistem harus selalu terkoneksi dengan komputer dan tentunya harus membuat software di komputer.&lt;br /&gt;Tapi masalah "harus terkoneksi dengan komputer" dapat diatasi dengan menambahkan &lt;span style="font-weight: bold;"&gt;saklar&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;toggle &lt;/span&gt;yang berfungsi memilih apakah sistem dipicu oleh komputer atau berdiri sendiri dengan program asalnya (&lt;span style="font-weight: bold;"&gt;default&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;Langkah dan cara kerjanya :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Buat Hardware dan Software (AVR dan Komputer).&lt;/li&gt;&lt;li&gt;Pada Software komputer untuk Timer Scanning Keypad, Timer baca ADC(0) + display LCD, dan Timer Komunikasi USART harus fleksibel atau dapat diubah nilainya (di klik-klik saja) seperti menggunakan komponen &lt;span style="font-weight: bold;"&gt;Tedit &lt;/span&gt;atau &lt;span style="font-weight: bold;"&gt;TCombobox &lt;/span&gt;(Delphi).&lt;/li&gt;&lt;li&gt;Setelah aplikasi di &lt;span style="font-weight: bold;"&gt;RUN&lt;/span&gt; dan dengan perintah &lt;span style="font-weight: bold;"&gt;if then &lt;/span&gt;selanjutnya membandingkan pewaktuannya (timingnya) yaitu jika &lt;span style="font-weight: bold;"&gt;Timer Sekarang = Timer Scanning Keypad&lt;/span&gt; maka kirim karakter &lt;span style="font-weight: bold;"&gt;'K'&lt;/span&gt; ke mikrokontroller berarti pemicuan perintah Scanning Keypad dilakukan.&lt;/li&gt;&lt;li&gt;Jika &lt;span style="font-weight: bold;"&gt;Timer Sekarang = Timer ADC+LCD&lt;/span&gt; maka kirim karakter &lt;span style="font-weight: bold;"&gt;'A'&lt;/span&gt; ke mikrokontroller berarti pemicuan perintah Pembacaan ADC(0) dan menampilkannya ke LCD dilakukan.&lt;/li&gt;&lt;li&gt;Jika &lt;span style="font-weight: bold;"&gt;Timer Sekarang = Timer Komunikasi UART&lt;/span&gt; maka kirim karakter &lt;span style="font-weight: bold;"&gt;'U'&lt;/span&gt; ke mikrokontroller berarti pemicuan perintah kirim data dari mikrokontroller ke kompuetr dilakukan.&lt;/li&gt;&lt;/ul&gt;Met Mencoba ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-3017234188458497614?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/3017234188458497614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/3017234188458497614'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2009/08/ask-delay-untuk-scan-keypad-baca-sensor.html' title='Ask : Delay untuk Scan Keypad, baca sensor, dan USART.'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_dNauCEz-yi0/SuEq1bqnE_I/AAAAAAAAAi8/cRisFPqk_BE/s72-c/Ask+DanzDev.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-497099365569799968</id><published>2009-10-18T11:56:00.000-07:00</published><updated>2011-01-26T20:52:44.402-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASK (tanya jawab)'/><title type='text'>Ask : Pengukuran Tinggi Badan Otomatis</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/SniGCxFj7MI/AAAAAAAAAds/OwweDGz5lSo/s1600-h/Ask_tinggibadan.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 101px; height: 179px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/SniGCxFj7MI/AAAAAAAAAds/OwweDGz5lSo/s200/Ask_tinggibadan.bmp" alt="" id="BLOGGER_PHOTO_ID_5366186338106469570" border="0" /&gt;&lt;/a&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;Asker : &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(153, 153, 255);"&gt;Adrianus Wahyudi&lt;/span&gt;(E-mail)&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;System :&lt;/span&gt;&lt;br /&gt;Pengukuran tinggi badan otomatis menggunakan sensor PING tampilan seven segmen.&lt;br /&gt;nb : Dari salah satu alat yang pernah di kerjakan Too_PayZ (&lt;a style="font-weight: bold;" href="http://payz-project.blogspot.com/2008/11/alat-ukur-tinggi-badan-otomatis.html"&gt;Baca blog-nya&lt;/a&gt;)&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Question :&lt;/span&gt;&lt;br /&gt;Bagaimana menentukan tinggi seseorang yang diukur?&lt;br /&gt;Bagaimana cara menampilkannya di Seven segmen?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 0);"&gt;Too PayZ :&lt;/span&gt;&lt;br /&gt;Range pembacaan sensor PING adalah 3 - 300 cm, dengan mengambil rata-rata tinggi manusia (Indonesia) maka maksimal 200 (atau 255). Dari gambar plant tersebut maka tinggi orang adalah&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(255, 204, 204);"&gt;A = C - B, dengan C = 200 cm.&lt;/span&gt;&lt;br /&gt;Saya yakin untuk pengukuran tinggi manusia &lt;span style="font-weight: bold;"&gt;Adrianus &lt;/span&gt;tidak kesulitan tetapi yang masalah adalah menampilkannya pada seven segmen.&lt;br /&gt;&lt;br /&gt;Fungsi pembacaan tinggi dengan sensor PING tidak saya bahas.&lt;br /&gt;Pada topik posting &lt;a href="http://payztronics.blogspot.com/2009/04/mobil-robot-sensor-ping.html"&gt;&lt;span style="font-weight: bold;"&gt;Mobil Robot &amp;amp; Sensor PING&lt;/span&gt;&lt;/a&gt;, hasil pengukuran PING-nya berupa bilangan bulat jadi tidak saya sarankan untuk digunakan di sistem ini, tentu saja ada caranya pengukuran sensor PING dengan hasil pecahan baik menggunakan Timer ataupun Looping. Silahkan searching (maaf belum diposting).&lt;br /&gt;&lt;br /&gt;Untuk hardware Seven Segmen dan Codingnya sudah saya posting, silahkan baca :&lt;br /&gt;&lt;a href="http://payztronics.blogspot.com/2009/08/display-7-segmen-dan-16-segmen.html"&gt;&lt;span style="font-weight: bold;"&gt;Display : 7 Segmen  dan 16 Segmen&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://payztronics.blogspot.com/2009/08/scanning-8-digit-seven-segmen.html"&gt;&lt;span style="font-weight: bold;"&gt;Scanning 8 Digit Seven Segmen&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Good Luck ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-497099365569799968?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/497099365569799968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/497099365569799968'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2009/08/ask-pengukuran-tinggi-badan-otomatis.html' title='Ask : Pengukuran Tinggi Badan Otomatis'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_dNauCEz-yi0/SniGCxFj7MI/AAAAAAAAAds/OwweDGz5lSo/s72-c/Ask_tinggibadan.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-4565689031353788790</id><published>2009-08-26T04:20:00.000-07:00</published><updated>2011-01-26T20:52:48.922-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Komunikasi Data'/><title type='text'>USART : Kirim dan Terima Data</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Setelah membahas mengenai &lt;a style="font-weight: bold;" href="http://payztronics.blogspot.com/2009/08/usart-inisialisasi-usart-pada-avr.html"&gt;Inisialisasi USART&lt;/a&gt; untuk komunikasi Serial Asinkron, selanjutnya mengenai kirim dan terima komunikasi data secara USART.&lt;br /&gt;Kirim dan terima data untuk komunikasi secara USART, anda bisa membuat fungsi sendiri tetapi pada CoViAVR, telah ada library yang bisa digunakan untuk input dan output data yaitu library &lt;span style="font-weight: bold; color: rgb(255, 153, 0);"&gt;stdio.h&lt;/span&gt;. Akan saya bahas keduanya.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Library stdio.h&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Coba anda buka Help CoViAVR (versi 2.03.9 dengan windows XP) dengan kata kunci stdio, maka akan ditampilkan daftar fungsi-fungsi yang terdapat pada &lt;span style="font-weight: bold;"&gt;stdio.h&lt;/span&gt; yang dapat anda gunakan.&lt;ul&gt;&lt;li&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;dataRX = &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;getchar()&lt;/span&gt; : menunggu karakter yang diterima dari port serial, menggunakan polling. Masalah penggunaan fungsi ini adalah jika tidak ada data serial yang diterima maka selalu looping dalam fungsi ini hingga mendapatkan data serial.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;putchar(&lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;dataTX&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;)&lt;/span&gt; : mengirimkan data serial berupa karakter C (data 8 bit), menggunakan polling.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;puts(&lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;buffer_char&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;)&lt;/span&gt; : mengirim data berupa kata atau kalimat yang tersimpan dalam buffer (disimpan dalam memori SRAM) hingga bernilai &lt;span style="font-weight: bold;"&gt;null&lt;/span&gt; (karakter dengan nilai 0x00).&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;putsf(&lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;"kata"&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;)&lt;/span&gt; : mengirim data berupa kata atau kalimat yang ditulis diantara tanda &lt;span style="font-weight: bold;"&gt;"&lt;/span&gt; petik dua (disimpan dalam Memori FLASH).&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Fungsi&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Read Write&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Umumnya ada 2 fungsi yaitu mengirim dan menerima data, gambar berikut menunjukkan cara pengiriman dan penerimaan data secara umum :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/St1iPKVliEI/AAAAAAAAAis/HFUcd896h3U/s1600-h/USART+Read+write.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 177px; height: 130px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/St1iPKVliEI/AAAAAAAAAis/HFUcd896h3U/s200/USART+Read+write.bmp" alt="" id="BLOGGER_PHOTO_ID_5394575941272176706" border="0" /&gt;&lt;/a&gt;Program Read dan Write menggunakan type data &lt;span style="font-weight: bold;"&gt;unsigned char&lt;/span&gt; (char tidak bertanda 0-255) karena data karakter yang digunakan tidak mungkin benilai negatif.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;char&lt;/span&gt; pada CoViAVR, &lt;span style="font-weight: bold;"&gt;default&lt;/span&gt;-nya secara &lt;span style="font-style: italic;"&gt;otomatis&lt;/span&gt; akan diubah menjadi &lt;span style="font-weight: bold;"&gt;unsigned char&lt;/span&gt; tetapi untuk membiasakan diri maka gunakan data sesuai dengan &lt;span style="font-weight: bold;"&gt;range&lt;/span&gt;-nya karena suatu saat anda akan menggunakan data bernilai negatif.&lt;br /&gt;&lt;br /&gt;Coding pada gambar, untuk program pengiriman data (USART_WRITE) tidak masalah tetapi untuk fungsi menerima data (USART_READ) akan mengalami kasus yang sama dengan fungsi &lt;span style="font-weight: bold;"&gt;getchar()&lt;/span&gt; yaitu program akan menunggu atau looping dalam perintah &lt;span style="font-weight: bold;"&gt;while(!(UCSRA &amp;amp; .....&lt;rxc))) do=""&gt;&lt;/rxc)))&gt;&lt;/span&gt; hingga 1 byte data serial diterima.&lt;br /&gt;Hal ini akan sangat mengganggu apabila fungsi USART_READ digunakan hanya untuk mengecek&lt;span style="font-weight: bold;"&gt; "&lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;apakah ada data serial yang diterima ?&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;"&lt;/span&gt;. Yaitu jika ada data, ambil lalu proses dan jika tidak ada data, lanjut ke perintah selanjutnya dan bukannya menunggu terus-menerus.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_dNauCEz-yi0/St1giEiTwGI/AAAAAAAAAik/sOYDrKo0ly4/s1600-h/USART+Read+Count.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 48px;" src="http://3.bp.blogspot.com/_dNauCEz-yi0/St1giEiTwGI/AAAAAAAAAik/sOYDrKo0ly4/s200/USART+Read+Count.bmp" alt="" id="BLOGGER_PHOTO_ID_5394574067109183586" border="0" /&gt;&lt;/a&gt;Gambar disamping ada adalah solusi untuk masalah tersebut, yaitu mengecek &lt;span style="font-weight: bold;"&gt;flag RXC&lt;/span&gt; dengan menggunakan &lt;span style="font-weight: bold;"&gt;counting&lt;/span&gt;. Jika setelah &lt;span style="font-weight: bold;"&gt;i hitungan&lt;/span&gt; (100 hitungan) tidak ada data yang diterima maka lanjut ke baris program selanjutnya.&lt;br /&gt;&lt;br /&gt;Hal inilah yang membuat saya pribadi lebih suka menggunakan &lt;span style="font-weight: bold;"&gt;sistem polling&lt;/span&gt; dan tidak menggunakan &lt;span style="font-weight: bold;"&gt;interupsi serial&lt;/span&gt;, karena programmer bisa mengetahui kapan USART akan dicek dan digunakan selain itu bisa merancang &lt;span style="font-weight: bold;"&gt;RTOS &lt;/span&gt;dengan sistem penjadwalan waktu (timer scheduling).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Yang perlu menjadi&lt;span style="font-style: italic;"&gt; &lt;span style="font-weight: bold;"&gt;catatan penting&lt;/span&gt;&lt;/span&gt; adalah kapan anda memilih, apakah menggunakan fungsi yang tersedia pada &lt;span style="font-weight: bold;"&gt;stdio.h&lt;/span&gt; atau anda menggunakan fungsi sendiri, karena kedua penggunaan ini penting untuk kasus-kasus tertentu.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7112845371754230766-4565689031353788790?l=payztronics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/4565689031353788790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7112845371754230766/posts/default/4565689031353788790'/><link rel='alternate' type='text/html' href='http://payztronics.blogspot.com/2009/10/usart-kirim-dan-terima-data.html' title='USART : Kirim dan Terima Data'/><author><name>Too PayZ</name><uri>http://www.blogger.com/profile/00838802050321043410</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp2.blogger.com/_dNauCEz-yi0/SBY9tuNUepI/AAAAAAAAAAk/F9teKHqL5OU/S220/403872188l.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_dNauCEz-yi0/St1iPKVliEI/AAAAAAAAAis/HFUcd896h3U/s72-c/USART+Read+write.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7112845371754230766.post-7081076481247473723</id><published>2009-08-24T01:16:00.001-07:00</published><updated>2011-01-26T20:52:53.876-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial Coding'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial CoViAVR'/><category scheme='http://www.blogger.com/atom/ns#' term='Komunikasi Data'/><title type='text'>USART : Inisialisasi USART pada AVR</title><content type='html'>&lt;a href="http://payz-store.blogspot.com/"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;Baca dulu posting :&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- &lt;a href="http://payztronics.blogspot.com/2009/08/komunikasi-usart-avr-mode-asinkron.html"&gt;Komunikasi USART Mode Asinkron.&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- &lt;a href="http://payztronics.blogspot.com/2009/08/komunikasi-usart-ttl-rs232.html"&gt;Komunikasi USART : TTL - RS232&lt;/a&gt;&lt;/span&gt;&lt;a href="http://payztronics.blogspot.com/2009/08/komunikasi-usart-ttl-rs232.html"&gt;.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Setelah membuat hardwarenya, sekarang tinggal Codingnya.&lt;br /&gt;Saya hanya akan membahas penggunaan USART secara umum dengan &lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;protokol 9600,8N1&lt;/span&gt; :  &lt;span style="font-weight: bold;"&gt;Baud Rate 9600 bps (bit per second), 8 data bits, No Parity, 1 Stop bits.&lt;/span&gt;&lt;br /&gt;Untuk penggunaan USART pada mikrokontroller AVR ATmega8535 diperlukan inisialisasi. Ada 2 cara inisialisasi yang dapat digunakan yaitu dengan menggunakan CodeWizardAVR dan dengan membuat fungsi sendiri.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Inisialisasi CodeWizardAVR&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/SpYxCt-m9mI/AAAAAAAAAh0/1Kru403621U/s1600-h/UART+init.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 160px; height: 200px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/SpYxCt-m9mI/AAAAAAAAAh0/1Kru403621U/s200/UART+init.bmp" alt="" id="BLOGGER_PHOTO_ID_5374537128084960866" border="0" /&gt;&lt;/a&gt;Konfigurasi gambar disamping adalah konfigurasi dasarnya tanpa interupsi dan single speed. Yang perlu diperhatikan yaitu nilai persentase &lt;span style="font-weight: bold;"&gt;Baud Rate Error&lt;/span&gt;-nya. Nilai-nilai kristal (&lt;span style="font-weight: bold;"&gt;Xtall&lt;/span&gt;) tertentu akan menghasilkan error yang cukup besar pada nilai baudrate tertentu, dan batas maksimal error yang diperbolehkan adalah &lt;span style="font-weight: bold; color: rgb(255, 204, 51);"&gt;1 %&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Dengan penggunaan CodeWizardAVR, jika melebihi batas masimal huruf-nya akan berwarna merah seperti ini : &lt;span style="font-weight: bold; color: rgb(255, 102, 102);"&gt;Baud Rate Error: 1,4%&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Langkah-langkah Coding USART Asinkron pada AVR ada di &lt;a style="font-weight: bold;" href="http://payztronics.blogspot.com/2009/06/memulai-coviavr-codevisionavr.html"&gt;Memulai CoViAVR (CodeVisionAVR).&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Inisialisasi dengan CodeWizardAVR baik digunakan jika komunikasi yang anda inginkan hanya menggunakan 1 Baud Rate saja dan tidak berubah-ubah. Bagaimana jika ingin mengganti &lt;span style="font-weight: bold;"&gt;Baud Rate&lt;/span&gt; sedangkan programnya sudah panjang dan tidak ingin memulai dari awal lagi ? yaitu cukup dengan mengubah nilai-nilai inisialisasi USART seperti berikut :&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_dNauCEz-yi0/SpY80KakHJI/AAAAAAAAAh8/tz5QrVFuY3w/s1600-h/USART+Baud+Rate.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 148px; height: 165px;" src="http://1.bp.blogspot.com/_dNauCEz-yi0/SpY80KakHJI/AAAAAAAAAh8/tz5QrVFuY3w/s200/USART+Baud+Rate.bmp" alt="" id="BLOGGER_PHOTO_ID_5374550072159902866" border="0" /&gt;&lt;/a&gt;&lt;ul&gt;&lt;li&gt;Klik Toolbar CodeWizardAVR.&lt;/li&gt;&lt;li&gt;Rubah nilai Baud Rate yang diinginkan atau nilai lainnya.&lt;/li&gt;&lt;li&gt;Klik &lt;span style="font-weight: bold;"&gt;File - Program Preview&lt;/span&gt; dan&lt;span style="font-weight: bold;"&gt; copy paste&lt;/span&gt; nilai-nilai untuk inisialisasi USART-nya.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Inisialisasi Dengan Fungsi&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Inisialisasi dengan fungsi lebih fleksibel dibandingkan inisialisasi dengan CodeWizardAVR karena Fungsi ini dapat  digunakan untuk mengubah nilai Baudrate disaat yang anda inginkan tanpa perlu mengubah coding yang telah ada.&lt;br /&gt;Misalkan dengan menekan keypad A maka baudrate yang digunakan 4800 kbps, keypad B 9600 kbps, atau pada event-event tertentu sehingga baudrate berubah secara otomatis, dst.&lt;br /&gt;&lt;br /&gt;Akan tetapi untuk cara ini, programmer setidaknya harus memahami beberapa register-register penting yang akan digunakan untuk komunikasi serial USART. Pada setiap register saya hanya akan bahas beberapa bit pada register tersebut.&lt;br /&gt;Beberapa register yaitu :&lt;br /&gt;&lt;br /&gt;&lt;a href="http://extremeelectronics.co.in/avr-tutorials/using-the-usart-of-avr-microcontrollers/"&gt;http://extremeelectronics.co.in&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_dNauCEz-yi0/StlnnBT4LtI/AAAAAAAAAiE/hPDmzbJZ77k/s1600-h/USART+register.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 167px; height: 116px;" src="http://4.bp.blogspot.com/_dNauCEz-yi0/StlnnBT4LtI/AAAAAAAAAiE/hPDmzbJZ77k/s200/USART+register.bmp" alt="" id="BLOGGER_PHOTO_ID_5393455948817247954" border="0" /&gt;&lt;/a&gt;&lt;strong&gt;- UDR&lt;/strong&gt; : USART Data Register&lt;br /&gt;Register 8 bit terdiri dari 2 buah register dan bukan 1 register, 1 register untuk proses membaca data USART yang diterima (reciever buffer) dan 1 register untuk menyimpan data yang akan dikirimkan (transmit buffer). Hal inilah yang menyebabkan mengapa USART pada AVR adalah full duplex yaitu dapat melakukan pengiriman dan penerimaan data secara bersamaan.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;- UBRR&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; : &lt;/span&gt;Baud rate register&lt;span style="font-weight: bold;"&gt;.&lt;/span&gt;&lt;br /&gt;Register 16 bit sehingga dibagi menjadi 2 yaitu bit0 - bit7 UBRRL dan bit8 - bit15 UBRRH. Register ini digunakan untuk menyimpan nilai kecepatan transmisi data. Nilai Baud rate pada UBRR didapatkan dengan rumus &lt;span style="font-weight: bold; color: rgb(255, 204, 102);"&gt;UBRR=(fosc/16xBaudrate) - 1&lt;/span&gt; (asinkron kecepatan normal). Hal yang harus diingat adalah UBRR bernilai 16 bit sehingga menggunakan tipe data &lt;span style="font-weight: bold; color: rgb(255, 204, 102);"&gt;unsigned integer&lt;/span&gt; bukannya &lt;span style="color: rgb(255, 204, 102); font-weight: bold;"&gt;float&lt;/span&gt;&lt;span style="color: rgb(255, 204, 102);"&gt; &lt;/span&gt;dan juga hasil perhitungan dengan pembulatan kebawah bukan keatas (jika float), hal ini untuk mencegah &lt;span style="font-weight: bold;"&gt;error &lt;/span&gt;pada komunikasi data.&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;UCSRA&lt;/span&gt;&lt;strong style="font-weight: bold;"&gt; &lt;/strong&gt;&lt;strong style="font-weight: normal;"&gt;: USART Control dan Status Register A&lt;/strong&gt;.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span&gt;Bit 7&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; RXC&lt;/span&gt; : sebagai flag (tanda) bahwa penerimaan data1 byte telah selesai dan data bisa dibaca pada register &lt;span style="font-weight: bold;"&gt;UDR&lt;/span&gt;. &lt;/li&gt;&lt;li&gt;&lt;span&gt;Bit 6 &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;TXC : &lt;/span&gt;sebagai flag (tanda) bahwa pengiriman data1 byte telah selesai dan data selanjutnya bisa diberikan pada register &lt;span style="font-weight: bold;"&gt;UDR&lt;/span&gt;. &lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;- UCSRB &lt;/span&gt;: USART Control dan Status Register B.&lt;ul&gt;&lt;li&gt;Bit 7 &lt;span style="font-weight: bold;"&gt;RXCIE &lt;/span&gt;: mengatur interupsi penerimaan data serial. Nilai awal 0 dan akan bernilai 1 jika &lt;span style="font-weight: bold;"&gt;RXC&lt;/span&gt; = 1.&lt;/li&gt;&lt;li&gt;Bit 6 &lt;span style="font-weight: bold;"&gt;TXCIE : &lt;/span&gt;mengatur interupsi pengiriman data serial
