Jumat, 10 November 2017

Rabu, 04 Oktober 2017

PENGANTAR BISNIS INFORMATIKA : Google



1. Tentang Google

Google Inc. adalah sebuah perusahaan multinasional Amerika Serikat yang berkekhususan pada jasa dan produk Internet. Produk-produk tersebut meliputi teknologi pencarian, komputasi web, perangkat lunak, dan periklanan daring. Sebagian besar labanya berasal dari AdWords.

Google didirikan oleh Larry Page dan Sergey Brin saat masih mahasiswa Ph.D. di Universitas Stanford. Mereka berdua memegang 16 persen saham perusahaan. Mereka menjadikan Google sebagai perusahaan swasta pada tanggal 4 September 1998. Pernyataan misinya adalah "mengumpulkan informasi dunia dan membuatnya dapat diakses dan bermanfaat oleh semua orang",dan slogan tidak resminya adalah "Don't be evil". Pada tahun 2006, kantor pusat Google pindah ke Mountain View, California.

Sejak didirikan, pertumbuhan perusahaan yang cepat telah menghasilkan berbagai produk, akuisisi, dan kerja sama di bidang mesin pencari inti Google. Perusahaan ini menawarkan perangkat lunak produktivitas daring (dalam jaringan), termasuk surat elektronik (surel), paket aplikasi perkantoran, dan jejaring sosial. Produk-produk komputer mejanya meliputi aplikasi untuk menjelajah web, mengatur dan menyunting foto, dan pesan instan. Perusahaan ini memprakarsai pengembangan sistem operasi Android untuk telepon genggam dan Google Chrome OS untuk jajaran netbook Chromebook. Google sudah beralih ke perangkat keras komunikasi. Mereka bekerja sama dengan berbagai produsen elektronik besar untuk memproduksi perangkat Nexus-nya dan mengakuisisi Motorola Mobilitypada Mei 2012. Tahun, infrastruktur serat optik dipasang di Kansas untuk memfasilitasi layanan Internet pita lebar Google Fiber.

Perusahaan ini diperkirakan mengoperasikan lebih dari satu juta server di beberapa pusat data di seluruh dunia[14]dan memproses lebih dari satu miliar kueri pencarian dan sekitar 24 petabita data buatan pengguna setiap harinya. Pada bulan Desember 2012, Alexa menyebut google.com sebagai situs web paling banyak dikunjungi di dunia. Situs-situs Google dalam bahasa lain masuk peringkat 100 teratas, sebagaimana halnya situs milik Google seperti YouTube dan Blogger. Google menempati peringkat kedua di basis data ekuitas merek BrandZ. Dominasi pasarnya menuai kritik mengenai hak cipta, penyensoran, dan privasi.. Pada tahun 2014, Google juga mendapat penghargaaan dari Business Indeed sebagai perusahaan yang memiliki merk paling bernilai.

2. Produk Google

Google telah membuat layanan dan peralatan untuk lingkungan bisnis dan masyarakat; termasuk aplikasi web, jaringan periklanan dan solusi bagi bisnis.

periklanan 
Google Adsense - Suatu jasa penawaran iklan kepada pemilik web, di mana iklan tersebut akan dapat ditampilkan pada halaman web yang relevan dengan kata kunci dari iklan tersebut.
Google Adwords - Suatu jasa pengiklanan oleh Google, di mana iklan yang tampil hanya iklan yang relevan dengan konten dari halaman web.

Kebanyakan dari pendapatan Google berasal dari program periklanan. Untuk keuangan tahun 2006, perusahaan ini dilaporkan mendapat jumlah keuntungan periklanan sebesar $10,492 miliar dan hanya $112 juta pada pendapatan lisensi dan lainnya.[27]

Google AdWords membolehkan pengiklan web menampilkan iklannya dalam hasil pencarian Google dan Google Content Network, melalui sebuah sistem bayar perklik atau bayar perlihat. Pemilik website Google AdSense juga dapat menampilkan iklannya di situs mereka sendiri, dan mendapat untung setiap kali iklan diklik.

aplikasi pencarian
Google Search - Google dikenal luas karena layanan pencarian webnya, yang mana merupakan sebuah faktor besar dari kesuksesan perusahaan ini. Pada Agustus 2007, Google merupakan mesin pencari di web yang paling sering digunakan dengan pangsa pasar sebanyak 53,6%, kemudian Yahoo! (19,9%) dan Live Search (12,9%). Google memiliki miliaran halaman web, sehingga pengguna dapat mencari informasi yang mereka inginkan, melalui penggunaan kata kunci dan operator. Google juga telah menggunakan teknologi Pencarian Web pada layanan pencarian lainnya, termasuk, Pencarian Gambar, Google News, situs perbandingan harga Google Product Search, arsip Usenet interaktif Google Groups, Google Maps dan lainnya.

Google Maps - Layanan untuk melihat peta pada aplikasi mobile, dan juga tersedia untuk komputer personal.

Google Earth - Layanan dari Google untuk melihat peta Bumi. Merupakan sebuah program pemetaan interaktif yang disediakan oleh satelit dan fotografi udara yang mencakup keseluruhan planet Bumi. Google Earth dianggap sangat akurat dan lebih mendetail.

Komunikasi 

Gmail - Pada tahun 2004, Google meluncurkan layanan email berbasis web gratisnya, disebut sebagai Gmail. Gmail memiliki fitur teknologi penyaringan spam dan kemampuan untuk menggunakan teknologi Google untuk mencari surel. Layanan ini mendatangkan keuntungan dengan menampilkan iklan dari layanan AdWordsyang dimasukkan dalam isi pesan email yang ditampilkan di layar.

Google Drive - Layanan dari Google untuk menyimpan data, yang terhubung dengan layanan Google Docs.

Google Docs - Layanan dari Google untuk menyimpan dokumen-dokumen.
Google Chrome - Google juga meluncurkan Google Chrome yaitu sebuah browser. Browser ini cukup cepat dan tampilannya minimalis. Pada September 2008 Google melepaskan kode untuk Google melalui project Chromium, di mana sampai sekarang Google Chrome masih berbasiskan Chromium.

3. cakupan wilayah dan omset
cakupan wilayah perusahaan google tersebar di seluruh dunia, dimana google telah membangun server di hampir seluruh negara di dunia, berikut adalah beberapa negara yang bekerjasama dengan google :
  1. USA (.com) http://www.google.com
  2. Afghanistan (.com.afhttp://www.google.com.af
  3. American Samoa (.as) http://www.google.As
  4. Anguilla (.off.aihttp://www.google.off.ai
  5. Antigua and Barbuda (.com.aghttp://www.google.com.ag
  6. Argentina (.com.arhttp://www.google.com.ar
  7. Armenia (.am) http://www.google.am
  8. Australia (.com.auhttp://www.google.com.au
  9. Austria (.at) http://www.google.at
  10. Azerbaijan (.az) http://www.google.az
sedangkan di indonesia sendiri google akan membangun google station Program ini merupakan upaya untuk menyebarkan WiFi internet gratis yang didukung infrastruktur kabel di titik-titik keramaian kota. Koneksinya dijanjikan lebih mumpuni ketimbang WiFi publik yang selama ini ada. Google tak sendirian mengerjakan proyek WiFi gratis ini. Mereka bekerja sama dengan CBN dan FiberStar, yang merupakan perusahaan penyedia jaringan internet lokal. Rencananya Googledan rekan akan menyebarkan WiFi gratis ini di Jakarta, Bandung, Surabaya, dan kota-kota lain.

jumlah karyawan google 
Google sendiri saat ini tercatat memiliki total jumlah karyawan di berbagai penjuru dunia sebanyak 53.600 orang. Jumlah tersebut meningkat dari yang awalnya berjumlah 47.756 orang di akhir tahun 2013 lalu.

4. omset perusahaan
google memiliki banyak sekali produk yang menjadi sumber pendapatan terbesarnya, dan berikut ini adalah daftar 5 Sumber Pendapatan Utama Google. yang bahkan dalam setahun senghasilkan Rp 987 triliun
  • AdWords, Salah satu sumber utama pendapatan Google yakni AdWords. Di tahun 2015, Google bisa memiliki pedapatan sekitar 75 miliar dollar AS dan sebanyak 52,4 miliar dollar AS (Rp 689 triliun) semuanya berasal dari AdWords.
  • AdSense, Dalam penggunaan AdSense ini para blogger bisa meraup keuntungan 75 miliar dollar AS, kontribusi Google AdSense mencapai 15 miliar dollar AS atau setara Rp 197 triliun.
  • AdMob,
  • Freemium, Kontribusi layanan Freemium ke kas Google cuma 7,2 miliar dollar AS atau Rp 94 triliun pada 2015. Dua contoh Freemium Google yang paling populer adalah Drive dan Analytics. Drive merupakan media penyimpanan untuk menghimpun semua file maya pengguna, baik berupa dokumen email, foto, video, dan lainnya.
  • Perangkat elektronik, Pendapatan utama yang bisa diraih dari Google juga terdapat pada perangkat elektronik. Di bawah merek Nexus, Google menggandeng beberapa vendor ternama untuk mengembangkan produknya.

referensi :
  • http://tekno.liputan6.com/read/2258420/begini-ciri-ciri-karyawan-yang-pasti-dipecat-google
  • http://databoks.katadata.co.id/datapublish/2016/12/22/september-2016-pendapatan-google-naik-14-menjadi-rp-1137-triliun
  • https://id.wikipedia.org/wiki/Google
  • http://www.tribunnews.com/techno/2017/08/29/ini-daftar-program-google-untuk-indonesia

Posted on by Unknown | No comments

Sabtu, 22 Juli 2017

Game Puzzle Dengan Menggunakan Arduino - BAB 5

BAB 5
PENUTUP

5.1 Kesimpulan
Arduino merupakan pengendali mikro single-board yang bersifat open-source, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardwarenya memiliki prosesor Atmel AVR dan softwarenya memiliki bahasa pemrograman sendiri.
Hardware Arduino diprogram menggunakan bahasa pemrograman C/C++, yang sudah disederhanakan dan dimodifikasi. Arduino mengikuti pola pemrograman Wiring(syntax dan library). Sementara untuk editor pemrograman nya (IDE – Intergrated Development Enviroment) dikembangkan dari Processing.
Game Puzzle yang dihubungkan dengan perangkat Arduino membutuhkan lempengan tembaga yang digunakan sebagai sensor yang diletakan di atas alas puzzle yang mengenai semua bagian puzzle. Cara kerjanya yaitu jika semua bagian puzzle sudah tersusun dengan rapi maka lempengan tembaga menerima sensor yang membuat waktu yang berjalan sebagai penghitung lamanya seseorang bermain puzzle tersebut menjadi berhenti. Untuk memulai kembali permainan puzzle waktu dapat direset dengan menggunakan perangkat Arduino.

5.2 Saran
Pada dasarnya penulisan makalah ini jauh dari sempurna, banyak kekurangan baik yang disengaja ataupun tidak. Maka dibutuhkan saran untuk memperbaiki kesalahan-kesalahan yang ada tentunya bagi penulis serta untuk membuat penulisan yang lebih baik lagi ke depannya.

Perkembangan teknologi mikrokontroler yang sangat pesat mengharuskan kita memilih sistem minimum yang tepat guna menunjang fleksibilitas kita dalam menyikapi perkembangan ini. Sistem minimum Arduino yang bersifat open source dapat digunakan siapa saja dan dapat dikembangkan seperti keinginan kita sendiri tanpa harus ada tekanan legalitas ataupun lisensi dari perusahaan pemegang lisensi tersebut. Dan semua kembali kita sendiri mau memakai sistem minimum yang seperti apa.
Posted on by Unknown | No comments

Game Puzzle Dengan Menggunakan Arduino - BAB 4

Bab 4
RUNNING GAME

4.1 Tampilan game
saat game selesai dibuat dengan arduino, maka tamppilan awal dari layar LCD adalah terdapat timer dengan format Menit : Detik. Dan terdapat tombol START untuk memulai waktu.

Jika waktu berjalan akan tampil seperti gambar di bawah ini

selanjutnya game dimainkan, susun satu persatu puzzle yang di sediakan.


Jika sudah selesai, tekan keseluruhan puzzle gunakanya adalah agar seluruh pita tembaga terhubung hingga stopwatch berhenti berjalan.


Posted on by Unknown | No comments

Game Puzzle Dengan Menggunakan Arduino - BAB 3

BAB 3
IMPLEMENTASI DAN KONSEP PERANKAT YANG DIGUNAKAN

3.1 Arduino
3.1.1 Pengertian Arduino
Arduino adalah pengendali mikro single-board yang bersifat open-source, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardwarenya memiliki prosesor Atmel AVR dan softwarenya memiliki bahasa pemrograman sendiri.
Arduino juga merupakan platform hardware terbuka yang ditujukan kepada siapa saja yang ingin membuat purwarupa peralatan elektronik interaktif berdasarkan hardware dan software yang fleksibel dan mudah digunakan. Mikrokontroler diprogram menggunakan bahasa pemrograman arduino yang memiliki kemiripan syntax dengan bahasa pemrograman C. Karena sifatnya yang terbuka maka siapa saja dapat mengunduh skema hardware arduino dan membangunnya.
Arduino menggunakan keluarga mikrokontroler ATMega yang dirilis oleh Atmel sebagai basis, namun ada individu/perusahaan yang membuat clone arduino dengan menggunakan mikrokontroler lain dan tetap kompatibel dengan arduino pada level hardware. Untuk fleksibilitas, program dimasukkan melalui bootloader meskipun ada opsi untuk membypass bootloader dan menggunakan downloader untuk memprogram mikrokontroler secara langsung melalui port ISP.



3.1.2 Sejarah Singkat
Semuanya berawal dari sebuah thesis yang dibuat oleh Hernando Barragan, di institute Ivrea, Italia pada tahun 2005, dikembangkan oleh Massimo Banzi dan David Cuartielles dan diberi nama Arduin of Ivrea. Lalu diganti nama menjadi Arduino yang dalam bahasa Italia berarti teman yang berani.
Tujuan awal dibuat Arduino adalah untuk membuat perangkat mudah dan murah, dari perangkat yang ada saat itu. Dan perangkat tersebut ditujukan untuk para siswa yang akan membuat perangkat desain dan interaksi. Visi awalnya aja udah mulia kan.

Saat ini tim pengembangnya adalah Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, David Mellis, dan Nicholas Zambetti. Mereka mengupayakan 4 hal dalam Arduino ini, yaitu:
1. Harga terjangkau
2. Dapat dijalankan diberbagai sistem operasi, Windows, Linux, Max, dan sebagainya.
3. Sederhana, dengan bahasa pemograman yang mudah bisa dipelajari orang awam, untuk orang teknik saja.
4. Open Source, hardware maupun software.
Sifat Arduino yang Open Source, membuat Arduino berkembang sangat cepat. Dan banyak lahir perangkat-perangkat sejenis Arduino. Seperti DFRDuino atau Freeduino, dan kalau yang lokal ada namanya CipaDuino yang dibuat oleh SKIR70, terus ada MurmerDuino yang dibuat oleh Robot Unyil, ada lagi AViShaDuino yang salah satu pembuatnya adalah Admin Kelas Robot.
Sampai saat ini pihak resmi, sudah membuat berbagai jenis-jenis Arduino. Mulai dari yang paling mudah dicari dan paling banyak digunakan, yaitu Arduino Uno. Hingga Arduino yang sudah menggunakan ARM Cortex, beebentuk Mini PC. Dan sudah ada ratusan ribu Arduino yang digunakan di gunakan di dunia pada tahun 2011. Dan untuk hari ini, yang bisa kamu hitung sendiri ya. Dan Arduino juga sudah banyak dipaka oleh perusahaan besar. Contohnya Google menggunakan Arduino untuk Accessory Development Kit, NASA memakai Arduino untuk prototypin, ada lagi Large Hadron Colider memakai Arduino dalam beberapa hal untuk pengumpulan data. Dan banyak yang bertanya juga Arduino ini menggunakan bahasa pemograman apa? Arduino sebenarnya menggunakan bahas C, yang sudah disederhanakan. Sehingga orang awam pun bisa menjadi seniman digital, bisa mempelajari Arduino dengan mudahnya.
3.1.3 Jenis - Jenis Arduino
Dan seperti Microcontroller yang banyak jenisnya, Arduino lahir dan berkembang, kemudian muncul dengan berbagai jenis. Diantaranya adalah:
1. Arduino Uno
Jenis yang ini adalah yang paling banyak digunakan. Terutama untuk pemula sangat disarankan untuk menggunakan Arduino Uno. Dan banyak sekali referensi yang membahas Arduino Uno. Versi yang terakhir adalah Arduino Uno R3 (Revisi 3), menggunakan ATMEGA328 sebagai Microcontrollernya, memiliki 14 pin I/O digital dan 6 pin input analog. Untuk pemograman cukup menggunakan koneksi USB type A to To type B. Sama seperti yang digunakan pada USB printer.

2. Arduino Due
Berbeda dengan saudaranya, Arduino Due tidak menggunakan ATMEGA, melainkan dengan chip yang lebih tinggi ARM Cortex CPU. Memiliki 54 I/O pin digital dan 12 pin input analog. Untuk pemogramannya menggunakan Micro USB, terdapat pada beberapa handphone.

3. Arduino Mega
Mirip dengan Arduino Uno, sama-sama menggunakan USB type A to B untuk pemogramannya. Tetapi Arduino Mega, menggunakan Chip yang lebih tinggi ATMEGA2560. Dan tentu saja untuk Pin I/O Digital dan pin input Analognya lebih banyak dari Uno.

4. Arduino Leonardo
Bisa dibilang Leonardo adalah saudara kembar dari Uno. Dari mulai jumlah pin I/O digital dan pin input Analognya sama. Hanya pada Leonardo menggunakan Micro USB untuk pemogramannya.

5. Arduino Fio
Bentuknya lebih unik, terutama untuk socketnya. Walau jumlah pin I/O digital dan input analognya sama dengan uno dan leonardo, tapi Fio memiliki Socket XBee. XBee membuat Fio dapat dipakai untuk keperluan projek yang berhubungan dengan wireless.

6. Arduino Lilypad
Bentuknya yang melingkar membuat Lilypad dapat dipakai untuk membuat projek unik. Seperti membuat amor iron man misalkan. Hanya versi lamanya menggunakan ATMEGA168, tapi masih cukup untuk membuat satu projek keren. Dengan 14 pin I/O digital, dan 6 pin input analognya.

7. Arduino Nano
Sepertinya namanya, Nano yang berukulan kecil dan sangat sederhana ini, menyimpan banyak fasilitas. Sudah dilengkapi dengan FTDI untuk pemograman lewat Micro USB. 14 Pin I/O Digital, dan 8 Pin input Analog (lebih banyak dari Uno). Dan ada yang menggunakan ATMEGA168, atau ATMEGA328.

8. Arduino Mini
Fasilitasnya sama dengan yang dimiliki Nano. Hanya tidak dilengkapi dengan Micro USB untuk pemograman. Dan ukurannya hanya 30 mm x 18 mm saja.
9. Arduino Micro
Ukurannya lebih panjang dari Nano dan Mini. Karena memang fasilitasnya lebih banyak yaitu; memiliki 20 pin I/O digital dan 12 pin input analog.

10. Arduino Ethernet
Ini arduino yang sudah dilengkapi dengan fasilitas ethernet. Membuat Arduino kamu dapat berhubungan melalui jaringan LAN pada komputer. Untuk fasilitas pada Pin I/O Digital dan Input Analognya sama dengan Uno.

11. Arduino Esplora
Rekomendasi bagi kamu yang mau membuat gadget sepeti Smartphone, karena sudah dilengkapi dengan Joystick, button, dan sebagainya. Kamu hanya perlu tambahkan LCD, untuk lebih mempercantik Esplora.

l2. Arduino Robot
Ini adalah paket komplit dari Arduino yang sudah berbentuk robot. Sudah dilengkapi dengan LCD, Speaker, Roda, Sensor Infrared, dan semua yang kamu butuhkan untuk robot sudah ada pada Arduino ini.




3.1.4 Alat - Alat untuk Membuat Arduino
Tidak perlu perangkat chip programmer karena didalamnya sudah ada bootloadder yang akan menangani upload program dari komputer. Sudah memiliki sarana komunikasi USB, Sehingga pengguna laptop yang tidak memiliki port serial/RS323 bisa menggunakannya. Memiliki modul siap pakai ( Shield ) yang bisa ditancapkan pada board arduino. Contohnya shield GPS, Ethernet,dll.

1. Soket USB
Soket USB adalah soket kabel USB yang disambungkan kekomputer atau laptop. Yang berfungsi untuk mengirimkan program ke arduino dan juga sebagai port komunikasi serial.

2. Input / Output Digital dan Input Analog
Input/output digital atau digital pin adalah pin pin untuk menghubungkan arduino dengan komponen atau rangkaian digital. contohnya , jika ingin membuat LED berkedip, LED tersebut bisa dipasang pada salah satu pin input atau output digital dan ground. komponen lain yang menghasilkan output digital atau menerima input digital bisa disambungkan ke pin pin ini.
Input analog atau analog pin adalah pin pin yang berfungsi untuk menerima sinyal dari komponen atau rangkaian analog. contohnya , potensiometer, sensor suhu, sensor cahaya, dll.

3. Catu Daya
pin pin catu daya adalah pin yang memberikan tegangan untuk komponen atau rangkaian yang dihubungkan dengan arduino. Pada bagian catu daya ini pin Vin dan Reset. Vin digunakan untuk memberikan tegangan langsung kepada arduino tanpa melalui tegangan pada USB atau adaptor, sedangkan Reset adalah pin untuk memberikan sinyal reset melalui tombol atau rangkaian eksternal.

4. Baterai / Adaptor
Soket baterai atau adaptor digunakan untuk menyuplai arduino dengan tegangan dari baterai/adaptor 9V pada saat arduino sedang tidak disambungkan kekomputer. Jika arduino sedang disambungkan kekomputer dengan USB, Arduino mendapatkan suplai tegangan dari USB, Jika tidak perlu memasang baterai/adaptor pada saat memprogram arduino.



Contoh Program
int LED_PIN = 13;

void setup () {
pinMode (LED_PIN, OUTPUT); // enable pin 13 for digital output
}

void loop () {
digitalWrite (LED_PIN, HIGH); // turn on the LED
delay (1000); // wait one second (1000 milliseconds)
digitalWrite (LED_PIN, LOW); // turn off the LED
delay (1000); // wait one second
}

3.1.5 Arduino IDE
1. Pengertian Arduino Software (IDE)
IDE itu merupakan kependekan dari Integrated Developtment Enviroenment, atau secara bahasa mudahnya merupakan lingkungan terintegrasi yang digunakan untuk melakukan pengembangan. Disebut sebagai lingkungan karena melalui software inilah Arduino dilakukan pemrograman untuk melakukan fungsi-fungsi yang dibenamkan melalui sintaks pemrograman. Arduino menggunakan bahasa pemrograman sendiri yang menyerupai bahasa C. Bahasa pemrograman Arduino (Sketch) sudah dilakukan perubahan untuk memudahkan pemula dalam melakukan pemrograman dari bahasa aslinya. Sebelum dijual ke pasaran, IC mikrokontroler Arduino telah ditanamkan suatu program bernama Bootlader yang berfungsi sebagai penengah antara compiler Arduino dengan mikrokontroler.
Arduino IDE dibuat dari bahasa pemrograman JAVA. Arduino IDE juga dilengkapi dengan library C/C++ yang biasa disebut Wiring yang membuat operasi input dan output menjadi lebih mudah. Arduino IDE ini dikembangkan dari software Processing yang dirombak menjadi Arduino IDE khusus untuk pemrograman dengan Arduino.


2. Menulis Sketch
Program yang ditulis dengan menggunaan Arduino Software (IDE) disebut sebagai sketch. Sketch ditulis dalam suatu editor teks dan disimpan dalam file dengan ekstensi .ino. Teks editor pada Arduino Software memiliki fitur” seperti cutting/paste dan seraching/replacing sehingga memudahkan kamu dalam menulis kode program.
Pada Software Arduino IDE, terdapat semacam message box berwarna hitam yang berfungsi menampilkan status, seperti pesan error, compile, dan upload program. Di bagian bawah paling kanan Sotware Arduino IDE, menunjukan board yang terkonfigurasi beserta COM Ports yang digunakan.

Gambar diatas merupakan tampilan dari Software Arduino IDE

  • Verify
Berfungsi untuk melakukan checking kode yang kamu buat apakah sudah sesuai dengan kaidah pemrograman yang ada atau belum

  • Upload
Berfungsi untuk melakukan kompilasi program atau kode yang kamu buat menjadi bahsa yang dapat dipahami oleh mesih alias si Arduino.

  • New
Berfungsi untuk membuat Sketch baru

  • Open
Berfungsi untuk membuka sketch yang pernah kamu buat dan membuka kembali untuk dilakukan editing atau sekedar upload ulang ke Arduino.

  • Save
Berfungsi untuk menyimpan Sketch yang telah kamu buat.

  • Serial Monitor
Berfungsi untuk membuka serial monitor. Serial monitor disini merupakan jendela yang menampilkan data apa saja yang dikirimkan atau dipertukarkan antara arduino dengan sketch pada port serialnya. Serial Monitor ini sangat berguna sekali ketika kamu ingin membuat program atau melakukan debugging tanpa menggunakan LCD pada Arduino. Serial monitor ini dapat digunakan untuk menampilkan nilai proses, nilai pembacaan, bahkan pesan error.

File
  • New, berfungsi untuk membuat membuat sketch baru dengan bare minimum yang terdiri void setup() dan void loop().
  • Open, berfungsi membuka sketch yang pernah dibuat di dalam drive.
  • Open Recent, merupakan menu yang berfungsi mempersingkat waktu pembukaan file atau sketch yang baru-baru ini sudah dibuat.
  • Sketchbook, berfungsi menunjukan hirarki sketch yang kamu buat termasuk struktur foldernya.
  • Example, berisi contoh-contoh pemrograman yang disediakan pengembang Arduino, sehingga kamu dapat mempelajari program-program dari contoh yang diberikan.
  • Close, berfungsi menutup jendela Arduino IDE dan menghentikan aplikasi.
  • Save, berfungsi menyimpan sketch yang dibuat atau perubahan yang dilakukan pada sketch
  • Save as…, berfungsi menyimpan sketch yang sedang dikerjakan atau sketch yang sudah disimpan dengan nama yang berbeda.
  • Page Setup, berfungsi mengatur tampilan page pada proses pencetakan.
  • Print, berfungsi mengirimkan file sketch ke mesin cetak untuk dicetak.
  • Preferences, disini kam dapat merubah tampilan interface IDE Arduino.
  • Quit, berfungsi menutup semua jendela Arduino IDE. Sketch yang masih terbuka pada saat tombol Quit ditekan, secara otomatis akan terbuka pada saat Arduino IDE dijalankan.
Edit
  • Undo/Redo, berfungsi untuk mengembalikan perubahan yang sudah dilakukan pada Sketch beberapa langkah mundur dengan Undo atau maju dengan Redo.
  • Cut, berfungsi untuk meremove teks yang terpilih pada editor dan menempatkan teks tersebut pada clipboard.
  • Copy, berfungsi menduplikasi teks yang terpilih kedalam editor dan menempatkan teks tersebut pada clipboard.
  • Copy for Forum, berfungsi melakukan copy kode dari editor dan melakukan formating agar sesuai untuk ditampilkan dalam forum, sehingga kode tersebut bisa digunakan sebagai bahan diskusi dalam forum.
  • Copy as HTML, berfungsi menduplikasi teks yang terpilih kedalam editor dan menempatkan teks tersebut pada clipboard dalam bentuk atau format HTML. Biasanya ini digunakan agar code dapat diembededdkan pada halaman web.
  • Paste, berfungsi menyalin data yang terdapat pada clipboard, kedalam editor.
  • Select All, berfungsi untk melakukan pemilihan teks atau kode dalam halaman editor.
  • Comment/Uncomment, berfungsi memberikan atau menghilangkan tanda // pada kode atau teks, dimana tanda tersebut menjadikan suatu baris kode sebagai komen dan tidak disertakan pada tahap kompilasi.
  • Increase/Decrease Indent, berfunsgi untuk mengurangi atau menambahkan indetntasi pada baris kode tertentu. Indentasi adalah “tab”.
  • Find, berfungsi memanggil jendela window find and replace, dimana kamu dapat menggunakannya untuk menemukan variabel atau kata tertentu dalam program atau menemukan serta menggantikan kata tersebut dengan kata lain.
  • Find Next, berfungsi menemukan kata setelahnya dari kata pertama yang berhasil ditemukan.
  • Find Previous, berfungsi menemukan kata sebelumnya dari kata pertama yang berhasil ditemukan.

Sketch
  • Verify/Compile, berfungsi untuk mengecek apakah sketch yang kamu buat ada kekeliruan dari segi sintaks atau tidak. Jika tidak ada kesalahan, maka sintaks yang kamu buat akan dikompile kedalam bahasa mesin.
  • Upload, berfunsi mengirimkan program yang sudah dikompilasi ke Arduino Board.
  • Uplad Using Programmer, menu ini berfungsi untuk menuliskan bootloader kedalam IC Mikrokontroler Arduino. Pada kasus ini kamu membutuhkan perangkat tambahan seperti USBAsp untuk menjembatani penulisan program bootloader ke IC Mikrokontroler.
  • Export Compiled Binary, berfungsi untuk menyimpan file dengan ekstensi .hex, dimana file ini dapat disimpan sebagai arsip untuk di upload ke board lain menggunakan tools yang berbeda.
  • Show Sketch Folder, berfungsi membuka folder sketch yang saat ini dikerjakan.
  • Include Library, berfunsi menambahkan library/pustaka kedalam sketch yang dibuat dengan menyertakan sintaks #include di awal kode. Selain itu kamu juga bisa menambahkan library eksternal dari file .zip kedalam Arduino IDE.
  • Add File…, berfungsi untuk menambahkan file kedalam sketch arduino (file akan dikopikan dari drive asal). File akan muncul sebagai tab baru dalam jendela sketch.

Tools
  • Auto Format, berfungsi melakukan pengatran format kode pada jendela editor
  • Archive Sketch, berfungsi menyimpan sketch kedalam file .zip
  • Fix Encoding & Reload, berfungsi memperbaiki kemungkinan perbedaan antara pengkodean peta karakter editor danpeta karakter sistem operasi yang lain.
  • Serial Monitor, berungsi membuka jendela serial monitor untuk melihat pertukaran data.
  • Board, berfungsi memilih dan melakukan konfigurasi board yang digunakan.
  • Port, memilih port sebbagai kanal komunikasi antara software dengan hardware.
  • Programmer, menu ini digunakan ketika kamu hendak melakukan pemrograman chip mikrokontroller tanpa menggunakan koneksi Onboard USB-Serial. Biasanya digunakan pada proses burning bootloader.
  • Burn Bootloader, mengizinkan kamu untuk mengkopikan program bootloader kedalam IC mikrokontroler

Help
  • Disini kamu bisa mendapatkan bantuan terhadap kegalauanmu mengenai pemrograman. Menu help berisikan file-file dokumentasi yang berkaitan dengan masalah yang sering muncul, serta penyelesaiannya. Selain itu pada menu help juga diberikan link untuk menuju Arduino Forum guna menanyakan serta mendiskusikan berbagai masalah yang ditemukan.

3.Sketchbook
Arduino Software IDE, menggunakan konsep sketchbook, dimana sketchbook menjadi standar peletakan dan penyimpanan file program. Sketch yang telah kamu buat dapat dibuka dengan dari File -> Sketchbook, atau dengna menu Open.

4.Tabs, Multiple Files, dan Compilations
Mekanisme ini mengijinkan kamu untuk melakukan menejemen sketch, dimana lebih dari satu file dibuka dalam tab yang berbeda.

5.Uploading
Merupakan mekanisme untuk mengkopikan file .hex atau file hasil kompilasi kedalam IC mikrokontroler Arduino. Sebelum melakukan uploading, yang perlu kamu pastikan adalah jenis board yang kamu gunakan dan COM Ports dimana keduanya terletak pada menu Tools -> Board dan Tools -> Port.

6.Library
Library/ Pustaka merupakan file yang memberikan fungsi ekstra dari sketch yang kamu buat, semisal agar Arduino dapat bekerja dengan hardware tertentu dan melakukan proses manipulasi data. Untuk menginstal Library pihak ketiga alias Library bukan dari Arduino, dapat dilakukan dengan Library Manager, Import file .zip, atau kopi paste secara manual di folder libraries pada Documents di platform Windows. Untuk instalasi library dapat kunjungi link berikut.

7.Serial Monitor
Serial monitor merupakan suatu jendela yang menunjukan data yang dipertukaran antara arduino dan komputer selama beroperasi, sehingga kamu bisa menggunakan serial monitor ini untuk menampilkan nilai hasil operasi atau pesan debugging. Selain melihat data, kamu juga bisa mengirimkan data ke Arduino melalui serial monitor ini, caranya dengan memasukkan data pada text box dan menekan tombol send untuk mengirimkan data. Hal penting yang harus kamu perhatikan adalah menyamakan baudrate antara serial monitor dengan Arduino board. Untuk menggunakan kemampuan komunikasi serial ini, pada Arduino, di bagian fungsi void setup(), diawali dengan instruksi Serial.begin diikuti dengan nilai baudrate.


8.Preferences
Preferences mengatur tentang beberapa hal dalam penggunaan Arduino Software IDE, seperti ukuran font, lokasi dimana menyimpan sketcbook, bahasa yang digunakan pada Arduino Software IDE, dan masih banyak lagi. Kamu bisa mengatur preferences pada menu file yang dapat dijumpai pada platform Windows dan Linux.

9.Language Support
Language Support merupakan pilihan bahasa yang dapat disesuaikan pada Software Arduino IDE. Bahasa Indonesia sudah ada loh. Language Support ini dapat ditemukan pada menu file -> preferences atau dengan menekan Ctrl+Comma.

10.Boards
Pemilihan board pada Arduino Software IDE, berdampak pada dua parameter yaitu kecepatan CPU dan baudrate yang digunakan ketika melakukan kompilasi dan meng-upload sketch. Beberapa contoh board yang dapat digunakan dengan Arduino Software IDE adalah:
  • Arduino Yùn
Menggunkana ATmega32u4 dan berjalan pada clock 16 MHz dengan auto-reset, memiliki 12 Input Analog , 20 Digital I/O serta 7 PWM.

  • Arduino/Genuino Uno
Menggunakan ATmega328 dan berjalan pada clock 16 MHz dengan auto-reset, memiliki 6 Input Analog , 14 Digital I/O serta 7 PWM.

  • Arduino Diecimila or Duemilanove w/ ATmega168
Menggunakan ATmega168 dan berjalan pada clock 16 MHz dengan auto-reset.

  • Arduino Nano w/ ATmega328
Menggunakan ATmega328 dan berjalan pada clock 16 MHz dengan auto-reset. memiliki 6 Input Analog.

  • Arduino/Genuino Mega 2560
Menggunakan ATmega2560 dan berjalan pada clock 16 MHz dengan auto-reset, memiliki 16 Input Analog, 54 Digital I/O dan 15 PWM.

  • Arduino Mega
Menggunakan ATmega1280 dan berjalan pada clock 16 MHz dengan auto-reset, memiliki 16 Input Analog, 54 Digital I/O dan 15 PWM.

  • Arduino Mega ADK
Menggunakan ATmega2560dan berjalan pada clock 16 MHz dengan auto-reset, memiliki 16 Input Analog, 54 Digital I/O dan 15 PWM.

  • Arduino Leonardo
Menggunakan ATmega32u4 dan berjalan pada clock 16 MHz dengan auto-reset, memiliki 12 Input Analog, 20 Digital I/O dan 7 PWM.

  • Arduino Micro
Menggunakan ATmega32u4 dan berjalan pada clock 16 MHz dengan auto-reset, memiliki 12 Input Analog, 20 Digital I/O dan 7 PWM.

  • Arduino Esplora
Menggunakan ATmega32u4 dan berjalan pada clock 16 MHz dengan auto-reset.

  • Arduino Mini w/ ATmega328
Menggunakan ATmega328 dan berjalan pada clock 16 MHz dengan auto-reset, memiliki 8 Input Analog, 14 Digital I/O dan 6 PWM.

  • Arduino Ethernet
Equivalent to Arduino UNO with an Ethernet shield: An ATmega328 dan berjalan pada clock 16 MHz dengan auto-reset, memiliki 6 Input Analog, 14 Digital I/O dan 6 PWM.




  • Arduino Fio
Menggunakan ATmega328 dan berjalan pada clock 8 MHz dengan auto-reset. Memiliki kesamaan dengan Arduino Pro atau Pro Mini (3.3V, 8 MHz) w/ ATmega328, memiliki 6 Input Analog, 14 Digital I/O dan 6 PWM.

  • Arduino BT w/ ATmega328
Menggunakan ATmega328 dan berjalan pada clock 16 MHz. Bootloader dengan ukuran (4 KB) termasuk kode untuk melakukan inisialisasi pada modul bluetooth, memiliki 6 Input Analog, 14 Digital I/O and 6 PWM.

  • LilyPad Arduino USB
Menggunakan ATmega32u4dan berjalan pada clock 8 MHz dengan auto-reset, memiliki 4 Input Analog, 9 Digital I/O dan 4 PWM.

  • LilyPad Arduino
Menggunakan ATmega168 atau ATmega132 dan berjalan pada clock 8 MHz dengan auto-reset, memiliki 6 Input Analog, 14 Digital I/O dan 6 PWM.

  • Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
Menggunakan ATmega328 dan berjalan pada clock 16 MHz dengan auto-reset. Memiliki kesamaan dengan Arduino Duemilanove atau Nano w/ ATmega328, memiliki 6 Input Analog, 14 Digital I/O dan 6 PWM.

  • Arduino NG or older w/ ATmega168
Menggunakan ATmega168 dan berjalan pada clock 16 MHz without auto-reset. Proses kompilasi dan upload sama dengan Arduino Diecimila atau Duemilanove w/ ATmega168,memiliki 16 Input Analog, 14 Digital I/O and 6 PWM.

  • Arduino Robot Control
Menggunakan ATmega328 dan berjalan pada clock 16 MHz dengan auto-reset.


  • Arduino Robot Motor
Menggunakan ATmega328 dan berjalan pada clock 16 MHz dengan auto-reset.

  • Arduino Gemma
Menggunakan ATtiny85 dan berjalan pada clock 8 MHz dengan auto-reset, 1 Analog In, 3 Digital I/O and 2 PWM.

3.1.6 Arduino Uno

1. Pengenalan Arduino UNO
Arduino UNO adalah sebuah board mikrokontroler yang didasarkan pada ATmega328 (datasheet). Arduino UNO mempunyai 14 pin digital input/output (6 di antaranya dapat digunakan sebagai output PWM), 6 input analog, sebuah osilator Kristal 16 MHz, sebuah koneksi USB, sebuah power jack, sebuah ICSP header, dan sebuat tombol reset. Arduino UNO memuat semua yang dibutuhkan untuk menunjang mikrokontroler, mudah menghubungkannya ke sebuah computer dengan sebuah kabel USB atau mensuplainya dengan sebuah adaptor AC ke DC atau menggunakan baterai untuk memulainya.
Arduino Uno berbeda dari semua board Arduino sebelumnya, Arduino UNO tidak menggunakan chip driver FTDI USB-to-serial. Sebaliknya, fitur-fitur Atmega16U2 (Atmega8U2 sampai ke versi R2) diprogram sebagai sebuah pengubah USB ke serial. Revisi 2 dari board Arduino Uno mempunyai sebuah resistor yang menarik garis 8U2 HWB ke ground, yang membuatnya lebih mudah untuk diletakkan ke dalam DFU mode. Revisi 3 dari board Arduino UNO memiliki fitur-fitur baru sebagai berikut:
  • Pinout 1.0: ditambah pin SDA dan SCL yang dekat dengan pin AREF dan dua pin baru lainnya yang diletakkan dekat dengan pin RESET, IOREF yang memungkinkan shield-shield untuk menyesuaikan tegangan yang disediakan dari board. Untuk ke depannya, shield akan dijadikan kompatibel/cocok dengan board yang menggunakan AVR yang beroperasi dengan tegangan 5V dan dengan Arduino Due yang beroperasi dengan tegangan 3.3V. Yang ke-dua ini merupakan sebuah pin yang tak terhubung, yang disediakan untuk tujuan kedepannya
  • Sirkit RESET yang lebih kuat
  • Atmega 16U2 menggantikan 8U2

“Uno” berarti satu dalam bahasa Italia dan dinamai untuk menandakan keluaran (produk) Arduino 1.0 selanjutnya. Arduino UNO dan versi 1.0 akan menjadi referensi untuk versi-versi Arduino selanjutnya. Arduino UNO adalah sebuah seri terakhir dari board Arduino USB dan model referensi untuk papan Arduino, untuk suatu perbandingan dengan versi sebelumnya, lihat indeks dari board Arduino.

2. Skema dan Referensi Desain
Catatan: Referensi desain Arduino dapat menggunakan sebuah Atmega8, 168, atau 328, model saat ini menggunakan Atmega328, tetapi Atmega8 ditampilkan pada skema sebagai referensi. Konfigurasi pin identik pada semua ketiga prosesor tersebut.

3. Daya (Power)
Arduino UNO dapat disuplai melalui koneksi USB atau dengan sebuah power suplai eksternal. Sumber daya dipilih secara otomatis.
Suplai eksternal (non-USB) dapat diperoleh dari sebuah adaptor AC ke DC atau battery. Adaptor dapat dihubungkan dengan mencolokkan sebuah center-positive plug yang panjangnya 2,1 mm ke power jack dari board. Kabel lead dari sebuah battery dapat dimasukkan dalam header/kepala pin Ground (Gnd) dan pin Vin dari konektor POWER.
Board Arduino UNO dapat beroperasi pada sebuah suplai eksternal 6 sampai 20 Volt. Jika disuplai dengan yang lebih kecil dari 7 V, kiranya pin 5 Volt mungkin mensuplai kecil dari 5 Volt dan board Arduino UNO bisa menjadi tidak stabil. Jika menggunakan suplai yang lebih dari besar 12 Volt, voltage regulator bisa kelebihan panas dan membahayakan board Arduino UNO. Range yang direkomendasikan adalah 7 sampai 12 Volt.
Pin-pin dayanya adalah sebagai berikut:
  • VIN. Tegangan input ke Arduino board ketika board sedang menggunakan sumber suplai eksternal (seperti 5 Volt dari koneksi USB atau sumber tenaga lainnya yang diatur). Kita dapat menyuplai tegangan melalui pin ini, atau jika penyuplaian tegangan melalui power jack, aksesnya melalui pin ini.
  • 5V. Pin output ini merupakan tegangan 5 Volt yang diatur dari regulator pada board. Board dapat disuplai dengan salah satu suplai dari DC power jack (7-12V), USB connector (5V), atau pin VIN dari board (7-12). Penyuplaian tegangan melalui pin 5V atau 3,3V membypass regulator, dan dapat membahayakan board. Hal itu tidak dianjurkan.
  • 3V3. Sebuah suplai 3,3 Volt dihasilkan oleh regulator pada board. Arus maksimum yang dapat dilalui adalah 50 mA.
  • GND. Pin ground.

4. Memori
ATmega328 mempunyai 32 KB (dengan 0,5 KB digunakan untuk bootloader). ATmega 328 juga mempunyai 2 KB SRAM dan 1 KB EEPROM (yang dapat dibaca dan ditulis (RW/read and written) dengan EEPROM library).

5. Input dan Output
Setiap 14 pin digital pada Arduino Uno dapat digunakan sebagai input dan output, menggunakan fungsi pinMode(),digitalWrite(), dan digitalRead(). Fungsi-fungsi tersebut beroperasi di tegangan 5 Volt. Setiap pin dapat memberikan atau menerima suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up (terputus secara default) 20-50 kOhm. Selain itu, beberapa pin mempunyai fungsi-fungsi spesial:
  • Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan memancarkan (TX) serial data TTL (Transistor-Transistor Logic). Kedua pin ini dihubungkan ke pin-pin yang sesuai dari chip Serial Atmega8U2 USB-ke-TTL.
  • External Interrupts: 2 dan 3. Pin-pin ini dapat dikonfigurasikan untuk dipicu sebuah interrupt (gangguan) pada sebuah nilai rendah, suatu kenaikan atau penurunan yang besar, atau suatu perubahan nilai. Lihat fungsi attachInterrupt() untuk lebih jelasnya.
  • PWM: 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM output dengan fungsi analogWrite().
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport komunikasi SPI menggunakan SPI library.
  • LED: 13. Ada sebuah LED yang terpasang, terhubung ke pin digital 13. Ketika pin bernilai HIGH LED menyala, ketika pin bernilai LOW LED mati.

Arduino UNO mempunyai 6 input analog, diberi label A0 sampai A5, setiapnya memberikan 10 bit resolusi (contohnya 1024 nilai yang berbeda). Secara default, 6 input analog tersebut mengukur dari ground sampai tegangan 5 Volt, dengan itu mungkin untuk mengganti batas atas dari rangenya dengan menggunakan pin AREF dan fungsi analogReference(). Di sisi lain, beberapa pin mempunyai fungsi spesial:
  • TWI: pin A4 atau SDA dan pin A5 atau SCL. Mensupport komunikasi TWI dengan menggunakan Wire library

Ada sepasang pin lainnya pada board:
  • AREF. Referensi tegangan untuk input analog. Digunakan dengan analogReference().
  • Reset. Membawa saluran ini LOW untuk mereset mikrokontroler. Secara khusus, digunakan untuk menambahkan sebuah tombol reset untuk melindungi yang memblock sesuatu pada board.

6. Komunikasi
Arduino UNO mempunyai sejumlah fasilitas untuk komunikasi dengan sebuah komputer, Arduino lainnya atau mikrokontroler lainnya. Atmega 328 menyediakan serial komunikasi UART TTL (5V), yang tersedia pada pin digital 0 (RX) dan 1 (TX). Sebuah Atmega 16U2 pada channel board serial komunikasinya melalui USB dan muncul sebagai sebuah port virtual ke software pada komputer. Firmware 16U2 menggunakan driver USB COM standar, dan tidak ada driver eksternal yang dibutuhkan. Bagaimanapun, pada Windows, sebuah file inf pasti dibutuhkan. Software Arduino mencakup sebuah serial monitor yang memungkinkan data tekstual terkirim ke dan dari board Arduino. LED RX dan TX pada board akan menyala ketika data sedang ditransmit melalui chip USB-to-serial dan koneksi USB pada komputer (tapi tidak untuk komunikasi serial pada pin 0 dan 1).
Atmega328 juga mensupport komunikasi I2C (TWI) dan SPI. Software Arduino mencakup sebuah Wire library untuk memudahkan menggunakan bus I2C, lihat dokumentasi untuk lebih jelas. Untuk komunikasi SPI, gunakanSPI library.

7. Programming
Arduino UNO dapat diprogram dengan software Arduino (download). Pilih “Arduino Uno dari menu Tools > Board(termasuk mikrokontroler pada board). Untuk lebih jelas, lihat referensi dan tutorial.
ATmega328 pada Arduino Uno hadir dengan sebuah bootloader yang memungkinkan kita untuk mengupload kode baru ke ATmega328 tanpa menggunakan pemrogram hardware eksternal. ATmega328 berkomunikasi menggunakan protokol STK500 asli (referensi, file C header)
Kita juga dapat membypass bootloader dan program mikrokontroler melalui kepala/header ICSP (In-Circuit Serial Programming); lihat instruksi untuk lebih jelas
Sumber kode firmware ATmega16U2 (atau 8U2 pada board revisi 1 dan revisi 2) tersedia. ATmega16U2/8U2 diload dengan sebuah bootloader DFU, yang dapat diaktifkan dengan:
  • Pada board Revisi 1: Dengan menghubungkan jumper solder pada belakang board (dekat peta Italy) dan kemudian mereset 8U2
  • Pada board Revisi 2 atau setelahnya: Ada sebuah resistor yang menarik garis HWB 8U2/16U2 ke ground, dengan itu dapat lebih mudah untuk meletakkan ke dalam mode DFU. Kita dapat menggunakan software Atmel’s FLIP (Windows) atau pemrogram DFU (Mac OS X dan Linux) untuk meload sebuah firmware baru. Atau kita dapat menggunakan header ISP dengan sebuah pemrogram eksternal (mengoverwrite bootloader DFU). Lihat tutorial user-contributed ini untuk informasi selengkapnya.
8. Reset Otomatis (Software)
Dari pada mengharuskan sebuah penekanan fisik dari tombol reset sebelum sebuah penguploadan, Arduino Uno didesain pada sebuah cara yang memungkinkannya untuk direset dengan software yang sedang berjalan pada pada komputer yang sedang terhubung. Salah satu garis kontrol aliran hardware (DTR) dari ATmega8U2/16U2 sihubungkan ke garis reset dari ATmega328 melalui sebuah kapasitor 100 nanofarad. Ketika saluran ini dipaksakan (diambil rendah), garis reset jatuh cukup panjang untuk mereset chip. Software Arduino menggunakan kemampuan ini untuk memungkinkan kita untuk mengupload kode dengan mudah menekan tombol upload di software Arduino. Ini berarti bahwa bootloader dapat mempunyai sebuah batas waktu yang lebih singkat, sebagai penurunan dari DTR yang dapat menjadi koordinasi yang baik dengan memulai penguploadan.
Pengaturan ini mempunyai implikasi. Ketika Arduino Uno dihubungkan ke sebuah komputer lain yang sedang running menggunakan OS Mac X atau Linux, Arduino Uno mereset setiap kali sebuah koneksi dibuat dari software (melalui USB). Untuk berikutnya, setengah-detik atau lebih, bootloader sedang berjalan pada Arduino UNO. Ketika Arduino UNO diprogram untuk mengabaikan data yang cacat/salah (contohnya apa saja selain sebuah penguploadan kode baru) untuk menahan beberapa bit pertama dari data yang dikirim ke board setelah sebuah koneksi dibuka. Jika sebuah sketch sedang berjalan pada board menerima satu kali konfigurasi atau data lain ketika sketch pertama mulai, memastikan bahwa software yang berkomunikasi menunggu satu detik setelah membuka koneksi dan sebelum mengirim data ini.
Arduino Uno berisikan sebuah jejak yang dapat dihapus untuk mencegah reset otomatis. Pad pada salah satu sisi dari jejak dapat disolder bersama untuk mengaktifkan kembali. Pad itu diberi label “RESET-RN” Kita juga dapat menonaktifkan reset otomatis dengan menghubungkan sebuah resistor 110 ohm dari tegangan 5V ke garis reset; lihat thread forum ini untuk lebih jelasnya.

9. Proteksi Arus lebih USB
Arduino UNO mempunyai sebuah sebuah sekring reset yang memproteksi port USB komputer dari hubungan pendek dan arus lebih. Walaupun sebagian besar komputer menyediakan proteksi internal sendiri, sekring menyediakan sebuah proteksi tambahan. Jika lebih dari 500 mA diterima port USB, sekring secara otomatis akan memutuskan koneksi sampai hubungan pendek atau kelebihan beban hilang.

10. Karakteristik Fisik
Panjang dan lebar maksimum dari PCB Arduino UNO masing-masingnya adalah 2.7 dan 2.1 inci, dengan konektor USB dan power jack yang memperluas dimensinya. Empat lubang sekrup memungkinkan board untuk dipasangkan ke sebuah permukaan atau kotak. Sebagai catatan, bahwa jarak antara pin digital 7 dan 8 adalah 160 mil. (0.16"), bukan sebuah kelipatan genap dari jarak 100 mil dari pin lainnya.

3.2 Implementasi
Pada pembuatan buku kali ini yang bertemakan game menggunakan arduino, kelompok kami membuat game dengan menggunakan arduino sebagai media dalam memainkannya. Dimana arduino bertindak sebagai sensor dalam permainan ini. Berikut adalah tahapan dalam pembuatan game ini:
    1. Pertama siapkan dahulu alat alat yang digunakan, diantaranya adalah
  • Arduino UNO
  • Genuino UNO
  • Touch screen display TFT Display
  • Potongan puzzle berbahan kayu
  • Pita temabaga
  • Dan Arduino IDE sebagai program
2. kami membuat Jigsaw Puzzle Timer menggunakan layar sentuh panel TFT. Ini mengukur waktu sampai teka-teki selesai. Dimana timer dibuat dengan menggunakan layar LCD tadi. Layar Sentuh untuk Arduino UNO digunakan untuk menampilkan waktu, dan pewaktu berhenti saat teka-teki selesai.

3. Tempelkan pita foil tembaga ke bagian belakang teka-teki kayu, benda itu akan menjadi konduktif saat teka-teki selesai.

4. Bor dua lubang di bingkai dan biarkan melewati konduktor dan solder ke elektroda dari pita foil tembaga.

5. kemudian sambungkan pita tembaga kabel agar terjadi aliran arus listrik, sehingga sebuah bagian dari puzzle terhubung.


6. Tutup bagian samping dan belakang teka-teki dengan foil tembaga sehingga dua titik akan dilakukan saat selesai.

7. lakukan sampai semua potongan puzzle seperti gambar di bawah ini



8. Kami menggunakan driver ILI9325. 320 x 240 piksel. kami menggunakannya sebagai stopwatch untuk mengukur waktu untuk menyelesaikan teka-teki ini.

9. Kami menggunakan perpustakaan Arduino berikut. Kami membuat sebuah program berdasarkan contoh program tftpaint.ino

10. Masukkan display di UNO dan hubungkan dua kabel dari teka-teki ke pin A5 dan yang lainnya ke GND. Saat "START" pada panel sentuh ditekan, timer dimulai, teka-teki selesai dan stopwatch berhenti saat A5 melakukan GND.

11. dan berikut ini adalah kode program yang digunakan
#include <Adafruit_GFX.h>    // Core graphics library 
#include <Adafruit_TFTLCD.h> // Hardware-specific library 
#include <TouchScreen.h> 
#if defined(__SAM3X8E__) 
   #undef __FlashStringHelper::F(string_literal) 
   #define F(string_literal) string_literal 
#endif 
#define YP A1  // must be an analog pin, use "An" notation! 
#define XM A2  // must be an analog pin, use "An" notation! 
#define YM 7   // can be a digital pin 
#define XP 6   // can be a digital pin 
#define TS_MINX 150 
#define TS_MINY 120 
#define TS_MAXX 920 
#define TS_MAXY 940 
// For better pressure precision, we need to know the resistance 
// between X+ and X- Use any multimeter to read it 
// For the one we're using, its 300 ohms across the X plate 
TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300); 
#define LCD_CS A3 
#define LCD_CD A2 
#define LCD_WR A1 
#define LCD_RD A0 
// optional 
#define LCD_RESET A4 
// Assign human-readable names to some common 16-bit color values: 
#define BLACK   0x0000 
#define BLUE    0x001F 
#define RED     0xF800 
#define GREEN   0x07E0 
#define CYAN    0x07FF 
#define MAGENTA 0xF81F 
#define YELLOW  0xFFE0 
#define WHITE   0xFFFF 
Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET); 
long startTime; 
long elapsedTime; 
int fractional = 0;  
int Min = 0; 
int sec = 0; 
int state = 3; 
void setup(void) { 
 Serial.begin(9600); 
 Serial.println(F("Paint!")); 
 pinMode(A5, INPUT_PULLUP); 
 tft.reset(); 
 uint16_t identifier = tft.readID(); 
 if(identifier == 0x9325) { 
   Serial.println(F("Found ILI9325 LCD driver")); 
 } else if(identifier == 0x9328) { 
   Serial.println(F("Found ILI9328 LCD driver")); 
 } else if(identifier == 0x7575) { 
   Serial.println(F("Found HX8347G LCD driver")); 
 } else if(identifier == 0x9341) { 
   Serial.println(F("Found ILI9341 LCD driver")); 
 } else if(identifier == 0x8357) { 
   Serial.println(F("Found HX8357D LCD driver")); 
 } else { 
   Serial.print(F("Unknown LCD driver chip: ")); 
   Serial.println(identifier, HEX); 
   Serial.println(F("If using the Adafruit 2.8\" TFT Arduino shield, the line:")); 
   Serial.println(F("  #define USE_ADAFRUIT_SHIELD_PINOUT")); 
   Serial.println(F("should appear in the library header (Adafruit_TFT.h).")); 
   Serial.println(F("If using the breakout board, it should NOT be #defined!")); 
   Serial.println(F("Also if using the breakout, double-check that all wiring")); 
   Serial.println(F("matches the tutorial.")); 
   return; 
 } 
 tft.begin(identifier); 
 tft.fillScreen(BLACK); 
 tft.setRotation(1); 
 tft.fillRect(0, 160, tft.width(), 80, CYAN); 
 tft.setCursor(15, 165); 
 tft.setTextColor(RED);  tft.setTextSize(10); 
 tft.println("START"); 
} 
#define MINPRESSURE 10 
#define MAXPRESSURE 1000 
void loop() 
{ 
 TSPoint p = ts.getPoint(); 
 // if sharing pins, you'll need to fix the directions of the touchscreen pins 
 //pinMode(XP, OUTPUT); 
 pinMode(XM, OUTPUT); 
 pinMode(YP, OUTPUT); 
 //pinMode(YM, OUTPUT); 
 // we have some minimum pressure we consider 'valid' 
 // pressure of 0 means no pressing! 
 if (p.z > MINPRESSURE && p.z < MAXPRESSURE) { 
   /* 
   Serial.print("X = "); Serial.print(p.x); 
   Serial.print("\tY = "); Serial.print(p.y); 
   Serial.print("\tPressure = "); Serial.println(p.z); 
   */ 
   // scale from 0->1023 to tft.width 
   p.x = map(p.x, TS_MINX, TS_MAXX, tft.width(), 0); 
   p.y = map(p.y, TS_MINY, TS_MAXY, tft.height(), 0); 
   Serial.print("("); Serial.print(p.x); 
   Serial.print(", "); Serial.print(p.y); 
   Serial.println(")"); 
   if (p.x > 160 && digitalRead(A5) == 1) { 
     Serial.println("Reset"); 
     if(state == 1){ 
       state = 2; 
       tft.fillRect(0, 160, tft.width(), 80, CYAN); 
       tft.setCursor(15, 165); 
       tft.setTextColor(RED);  tft.setTextSize(10); 
       tft.println("RESET"); 
     }else if(state == 2) { 
       elapsedTime = 0; 
       state = 3; 
       tft.fillRect(0, 160, tft.width(), 80, CYAN); 
       tft.setCursor(15, 165); 
       tft.setTextColor(RED);  tft.setTextSize(10); 
       tft.println("START"); 
     }else{ 
       state = 0; 
     } 
     delay(100); 
   } 
 } 
 if(state == 0){ 
   startTime = millis(); 
   state = 1;   
   tft.fillRect(0, 160, tft.width(), 80, CYAN); 
   tft.setCursor(45, 165); 
   tft.setTextColor(RED);  tft.setTextSize(10); 
   tft.println("STOP"); 
 }else if(state == 1){ 
   elapsedTime =   millis() - startTime;  
 } 
 if(digitalRead(A5) == 0 && state != 3 && state != 2){ 
   state = 2; 
   tft.fillRect(0, 160, tft.width(), 80, CYAN); 
   tft.setCursor(15, 165); 
   tft.setTextColor(RED);  tft.setTextSize(10); 
   tft.println("RESET"); 
 } 
 tft.setCursor(5, 15); 
 tft.setTextColor(WHITE, BLACK);   
 tft.setTextSize(7); 
 Min = (int)((elapsedTime / 1000L)/60); 
 if (Min < 10) 
   tft.print("0"); 
 tft.print(Min); 
 tft.print(":"); 
 sec = (int)((elapsedTime / 1000L) % 60); 
 if (sec < 10) 
   tft.print("0"); 
 tft.print(sec); 
 tft.print(".");   
 tft.setTextSize(5); 
 fractional = (int)((elapsedTime % 1000L)/10); 
 if (fractional < 10) 
   tft.print("0"); 
 tft.println(fractional); 
} 

penjelasan:
#include <Adafruit_GFX.h>    // Core graphics library 
#include <Adafruit_TFTLCD.h> // Hardware-specific library 
#include <TouchScreen.h> 
Kode di atas digunakan untuk memasukan library graphic, hardware, dan touchacreen. 

#if defined(__SAM3X8E__) 
   #undef __FlashStringHelper::F(string_literal) 
   #define F(string_literal) string_literal 
#endif 
Mendefinisikan arduino, atau melakukan kalibrasi layar yang digunakan. 

#define YP A1  // must be an analog pin, use "An" notation! 
#define XM A2  // must be an analog pin, use "An" notation! 
#define YM 7   // can be a digital pin 
#define XP 6   // can be a digital pin 
#define TS_MINX 150 
#define TS_MINY 120 
#define TS_MAXX 920 
#define TS_MAXY 940 
Mendefinisikan alur yang digunakan untuk menghubungkan software arduino dengan perangkat. 
Untuk ketepatan tekanan yang lebih baik, kita perlu mengetahui resistansi, Antara X + dan X- Gunakan multimeter untuk membacanya, Untuk yang kita gunakan, 300 ohmnya melintang di piring X

TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300); 
Kode di atas digunakan untuk pembuatan variabel untuk mendefinisikan keliling dari layar. 

#define LCD_CS A3 
#define LCD_CD A2 
#define LCD_WR A1 
#define LCD_RD A0 
Mendefinisikan titik hubungan dari LCD ke arduino. 

#define BLACK   0x0000 
#define BLUE    0x001F 
#define RED     0xF800 
#define GREEN   0x07E0 
#define CYAN    0x07FF 
#define MAGENTA 0xF81F 
#define YELLOW  0xFFE0 
#define WHITE   0xFFFF 
Tetapkan nama yang dapat dibaca manusia ke beberapa nilai warna 16-bit yang umum. Atau mendefinisikan warna yang di tampilkan pada layar nanti. 

Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
Mendefinisikan variabel yang menghubungkan arduino dengan layar tadi. 

long startTime; 
long elapsedTime; 
int fractional = 0;  
int Min = 0; 
int sec = 0; 
int state = 3;
Mendefinisikan variabel dengan tipe data masing-masing

void setup(void) { 
 Serial.begin(9600); 
 Serial.println(F("Paint!")); 
 pinMode(A5, INPUT_PULLUP); 
 tft.reset(); 
 uint16_t identifier = tft.readID(); 
Pembuatan method yang digunakan untuk melakukan setup pada layar LCD, dan digunakan untuk identifikasi Layar. Dan juga terdapat fungsi yang membuat agar layar clear atau bersih dari tulisan. Atau di reset. 
if(identifier == 0x9325) {
   Serial.println(F("Found ILI9325 LCD driver")); 
 } else if(identifier == 0x9328) { 
   Serial.println(F("Found ILI9328 LCD driver")); 
 } else if(identifier == 0x7575) { 
   Serial.println(F("Found HX8347G LCD driver")); 
 } else if(identifier == 0x9341) { 
   Serial.println(F("Found ILI9341 LCD driver")); 
 } else if(identifier == 0x8357) { 
   Serial.println(F("Found HX8357D LCD driver")); 
 } else { 
   Serial.print(F("Unknown LCD driver chip: ")); 
   Serial.println(identifier, HEX); 
   Serial.println(F("If using the Adafruit 2.8\" TFT Arduino shield, the line:")); 
   Serial.println(F("  #define USE_ADAFRUIT_SHIELD_PINOUT")); 
   Serial.println(F("should appear in the library header (Adafruit_TFT.h).")); 
   Serial.println(F("If using the breakout board, it should NOT be #defined!")); 
   Serial.println(F("Also if using the breakout, double-check that all wiring")); 
   Serial.println(F("matches the tutorial.")); 
   return; 
 } 
Kode di atas digunakan  untuk melakukan identifikasi terhadap warna yang muncul pada driver. Warna yang dikeluarkan adalah warna yang telah di definisikan sebelumnya. Tetapi jika warna tidak ditemukan dalam layar, maka akan muncul tulisan “unknown LCD driver chip”, kemudian meidentifikasikan nilai dari warna dalam heximal. Tetapi jika tidak keluar, maka akan muncul “If using the Adafruit 2.8\" TFT Arduino shield, the line:”, “#define USE_ADAFRUIT_SHIELD_PINOUT”, “If using the breakout board, it should NOT be #defined!”, “Also if using the breakout, double-check that all wiring”, “matches the tutorial.”. 
tft.begin(identifier);
 tft.fillScreen(BLACK); 
 tft.setRotation(1); 
 tft.fillRect(0, 160, tft.width(), 80, CYAN); 
 tft.setCursor(15, 165); 
 tft.setTextColor(RED);  tft.setTextSize(10); 
 tft.println("START"); 
Kode program di atas masih di dalam method setup, yaitu digunakan untuk mengisi layar LCD, dan menampilkan text dengan tulisan “START”. 

#define MINPRESSURE 10 
#define MAXPRESSURE 1000 
void loop() 
{ 
 TSPoint p = ts.getPoint(); 
 // if sharing pins, you'll need to fix the directions of the touchscreen pins 
 //pinMode(XP, OUTPUT); 
 pinMode(XM, OUTPUT); 
 pinMode(YP, OUTPUT); 
 //pinMode(YM, OUTPUT); 
 // we have some minimum pressure we consider 'valid' 
 // pressure of 0 means no pressing! 
 if (p.z > MINPRESSURE && p.z < MAXPRESSURE) { 
   /* 
   Serial.print("X = "); Serial.print(p.x); 
   Serial.print("\tY = "); Serial.print(p.y); 
   Serial.print("\tPressure = "); Serial.println(p.z); 
   */ 
   // scale from 0->1023 to tft.width 
   p.x = map(p.x, TS_MINX, TS_MAXX, tft.width(), 0); 
   p.y = map(p.y, TS_MINY, TS_MAXY, tft.height(), 0); 
   Serial.print("("); Serial.print(p.x); 
   Serial.print(", "); Serial.print(p.y); 
   Serial.println(")"); 
Selanjutnya mendefinisikan kembali press atau action terhadap layar jika tersentuh. Dan buat kembali method dengan nama loop, dimana mathod ini digunakan untuk mengidentifikasi sentuhan pada layar, dan mengakibatkan terbentuknya kordinat X dan Y. 
if (p.x > 160 && digitalRead(A5) == 1) {
     Serial.println("Reset"); 
     if(state == 1){ 
       state = 2; 
       tft.fillRect(0, 160, tft.width(), 80, CYAN); 
       tft.setCursor(15, 165); 
       tft.setTextColor(RED);  tft.setTextSize(10); 
       tft.println("RESET"); 
Jika kordinat x tersentuh dengan tertentu, maka layar akan mngeluarkan text “RESET” pada layar. Dimana ukuran yang terbentuk adalah 160x80 dan text yang muncul sebesar 10dp. 

 if(state == 0){ 
   startTime = millis(); 
   state = 1;   
   tft.fillRect(0, 160, tft.width(), 80, CYAN); 
   tft.setCursor(45, 165); 
   tft.setTextColor(RED);  tft.setTextSize(10); 
   tft.println("STOP"); 
Setelah tombol reset tersentuh maka akan berjalan waktu timer, dan terdapat tombol dengan tulisan “STOP” berwarna merah. Jika tombol stop ini di tekan akan mengehentikan timer. 
if (Min < 10)
   tft.print("0"); 
 tft.print(Min); 
 tft.print(":"); 
 sec = (int)((elapsedTime / 1000L) % 60); 
 if (sec < 10) 
   tft.print("0"); 
 tft.print(sec); 
 tft.print(".");   
 tft.setTextSize(5); 
 fractional = (int)((elapsedTime % 1000L)/10); 
 if (fractional < 10) 
   tft.print("0"); 
 tft.println(fractional); 
} 
Kode di atas digunakan untuk menampilkan waktu pada timer dimana jika menit kurang dari 10 maka akan ter cetak pada layar LCD Min : Sec. Dimana terdapat menit dan detik pada layar. Dengan text sebesar 5dp. 
Posted on by Unknown | No comments