Senin, 04 Mei 2015

Rangkaian Pendeteksi Emas

Kesan saya ketika menjumpai rangkaian ini adalah 'mudah' dan 'sederhana' untuk membuat rangkaian ini.
Rangkaian ini mampu mendeteksi logam, emas atau koin di jarak sekitaran 20 cm, tergantung juga dengan ukuran objek yang akan terdeteksi.
Rangkaian ini berosilasi di sekitar 140 kHz dan harmonik frekuensi dideteksi menggunakan radio AM. Kita hanya tinggal mengatur AM radio receiver-nya hingga speaker berbunyi.
Bila didekatkan pada objek logam, frekuensi dari rangkaian akan berubah dan itu akan bisa kita rasakan dengan mendengar speaker dari AM radio.

Perhatikan rangkaian tersebut di bawah ini :

Skema Rangkaian Pendeteksi Emas









Sabtu, 02 Mei 2015

Sensor pada Smartphone

Mengenal Ragam Sensor pada Smartphone Android


Saat ini makin banyak teknologi yang dibenamkan pada perangkat berbasis Android. Namun tidak sedikit dari pengguna yang kurang mengetahui fungsi dari teknologi yang disematkan pada perangkat yang mereka gunakan. Salah satunya yaitu teknologi sensor. Secara umum, sensor di Android dibagi menjadi tiga kategori yaitu motion, environmental, dan position. Dari masing-masing kategori tersebut dibagi lagi menjadi beberapa jenis sensor yang disesuaikan dengan peruntukkannya. Semakin banyak teknologi sensor yang dibenamkan, makin mahal harga perangkat tersebut.
Tidak heran jika smartphone kelas premium menyertakan sensor yang lebih lengkap dibanding kelas entry level. Bahkan ada beberapa sensor yang hanya ada pada smartphone premium. Sebagai contoh, sensor Fingerprint atau Face Detector. Jenis sensor sendiri selalu terus bertambah seiring dengan perkembangan teknologi.  Untuk lebih lengkapnya, berikut daftar sensor yang paling umum ada di perangkat berbasis Android beserta fungsi dan kegunaannya.

Motion Sensor


  • Accelerometer
Sensor yang selalu ada di setiap platform Android ini berfungsi untuk mengukur percepatan atau mendeteksi dan mengukur getaran serta gerakan. Sensor ini biasa diterapkan untuk mendeteksi pergerakan seperti shake atau tilt. Penggunaan paling umum dari sensor jenis ini adalah saat layar secara otomatis berubah dari mode potrait ke mode landscape. Atau saat memainkan game jenis balap dimana cara mengemudikannya dengan memiringkan posisi perangkat (tilt).
  • Gyroscope
Mirip dengan accelerometer, sensor ini berfungsi untuk mendeteksi rotasi sebuah perangkat atau pergerakan atas, bawah, kiri, kanan, maju, mundur. Jika pada accelerometer dipengaruhi oleh gravitasi, maka gyroscope tidak dipengaruhi oleh gravitasi, oleh karena itu gerakan yang dihasilkannya lebih halus dibanding Accelerometer. Sensor ini biasa dimanfaatkan untuk game seperti Temple Run.
  • Gravity
Sensor yang berkaitan dengan gaya gravitasi yang diterapkan ke perangkat pada tiga sumbu fisik (x, y, z). Sensor ini bekerja mengikuti arah gravitasi dari perangkat yang digunakan secara vertikal dan horisontal. Contohnya biasa digunakan pada game balap yang pengendaliannya dengan memiringkan layar. Mirip dengan Accelerometer, tapi sensor tersebut hanya digunakan untuk mendeteksi posisi saja, dan bukannya berdasarkan gravitasi.

Environmental Sensor





  • Ambient Light
Sensor yang berfungsi untuk mendeteksi cahaya di sekitar dan menyesuaikan tingkat kecerahan agar pengguna dapat melihat tampilan layar dengan lebih jelas. Penyesuaian yang bisa diatur secara otomatis ini juga bisa mengurangi ketegangan pada mata sehingga lebih nyaman dan tidak cepat lelah. Selain itu sensor ini juga dimanfaatkan oleh aplikasi berbasis kamera guna memudahkan pengguna agar tidak repot mengatur tingkat kecerahan.
  • Ambient Temperature
Sensor ini berfungsi untuk mengukur suhu ruang sekitar dalam derajat Celcius namun bisa pula dikonversi ke derajat Fahrenheit. Kegunaan lainnya yaitu bisa untuk menghitung tekanan angin, udara, serta kondisi cuaca. Tidak banyak perangkat Android yang memiliki sensor ini. Beberapa diantaranya yang menggunakannya yaitu smartphone seri Nexus, Galaxy S3 dan S4, serta lainnya.
  • Barometer
Kegunaannya adalah sebagai sensor yang dapat mengukur tekanan atmofir. Sensor tersebut kebanyakan tertanam di ponsel high-end yang berfungsi untuk mengukur seberapa tinggi ponsel berada diatas permukaan laut dan meningkatkan akurasi GPS.

Position Sensor


  • Magnetic Field
Banyak aplikasi penunjuk arah atau kompas yang tersedia di Play Store. Aplikasi-aplikasi tersebut memanfaatkan sensor Magnetic Field yang mampu mendeteksi medan magnet di sekitar smartphone. Tidak hanya itu, aplikasi lain seperti detektor logam sampai aplikasi pendeteksi hantu memanfaatkan sensor ini untuk mendeteksi gelombang elektromagnetic yang berada di sekitar smartphone.
  • Proximity
Ketika smartphone ditempelkan pada telinga saat melakukan panggilan atau menerima telepon, otomatis layar akan mati sehingga sensor sentuh menjadi tidak aktif. Hal ini merupakan salah satu fungsi dari Proximity sensor agar aktivitas telepon tidak terganggu akibat sentuhan yang tidak diinginkan. Sensor ini juga membuat konsumsi baterai menjadi lebih hemat. Sebagai informasi tambahan, smartphone pertama yang menggunakan sensor ini adalah iPhone.
  • Global Positioning System (GPS)
Bisa dibilang sudah banyak yang mengetahui fungsi dari sensor GPS. Sensor ini berguna untuk menentukan posisi pengguna dari hasil kalkulasi trigonometri berdasarkan sinyal-sinyal dari satelit terdekat yang berhasil diterima smartphone. Dengan mengaktifkannya, smartphone bisa melacak keberadaan pengguna ataupun orang lain serta digunakan sebagai sistem navigasi yang akan memandu pengguna untuk melihat atau menunjukkan suatu lokasi.


Sumber : pcplus.co.id

Pengenalan Arduino

1.  Mengenal Arduino

  Untuk memahami Arduino, terlebih dahulu kita harus memahami terlebih dahulu apa yang dimaksud dengan physical computing. Physical computing adalah membuat sebuah sistem atau perangkat fisik dengan menggunakan software dan hardware yang sifatnya interaktif yaitu dapat menerima rangsangan dari lingkungan dan merespon balik. Physical computing adalah sebuah konsep untuk memahami hubungan yang manusiawi antara lingkungan yang sifat alaminya adalah analog dengan dunia digital. Pada prakteknya konsep ini diaplikasikan dalam desaindesain alat atau projek-projek yang menggunakan sensor dan microcontroller untuk menerjemahkan input analog ke dalam sistem software untuk mengontrol gerakan alat-alat elektro-mekanik seperti lampu, motor dan sebagainya.

   Pembuatan prototype atau prototyping adalah kegiatan yang sangat penting di dalam proses physical computing karena pada tahap inilah seorang perancang melakukan eksperimen dan uji coba dari berbagai jenis komponen, ukuran, parameter, program komputer dan sebagainya berulang-ulang kali sampai diperoleh kombinasi yang paling tepat. Dalam hal ini perhitungan angka-angka dan rumus yang akurat bukanlah satu-satunya faktor yang menjadi kunci sukses di dalam mendesain sebuah alat karena ada banyak faktor eksternal yang turut berperan, sehingga proses mencoba dan menemukan/mengoreksi kesalahan perlu melibatkan hal-hal yang sifatnya non-eksakta. Prototyping adalah gabungan antara akurasi perhitungan dan seni. Proses prototyping bisa menjadi sebuah kegiatan yang menyenangkan atau menyebalkan, itu tergantung bagaimana kita melakukannya.

    Misalnya jika untuk mengganti sebuah komponen, merubah ukurannya atau merombak kerja sebuah prototype dibutuhkan usaha yang besar dan waktu yang lama, mungkin prototyping akan sangat melelahkan karena pekerjaan ini dapat dilakukan berulang-ulang sampai puluhan kali – bayangkan betapa frustasinya perancang yang harus melakukan itu. Idealnya sebuah prototype adalah sebuah sistem yang fleksibel dimana perancang bisa dengan mudah dan cepat melakukan perubahan-perubahan dan mencobanya lagi sehingga tenaga dan waktu tidak menjadi kendala berarti. Dengan demikian harus ada sebuah alat pengembangan yang membuat proses prototyping menjadi mudah. 

   Pada masa lalu (dan masih terjadi hingga hari ini) bekerja dengan hardware berarti membuat rangkaian menggunakan berbagai komponen elektronik seperti resistor, kapasitor, transistor dan sebagainya. Setiap komponen disambungkan secara fisik dengan kabel atau jalur tembaga yang disebut dengan istilah “hard wired” sehingga untuk merubah rangkaian maka sambungansambungan itu harus diputuskan dan disambung kembali. Dengan hadirnya teknologi digital dan microprocessor fungsi yang sebelumnya dilakukan dengan hired wired digantikan dengan program-program software. Ini adalah sebuah revolusi di dalam proses prototyping. Software lebih mudah diubah dibandingkan hardware, dengan beberapa penekanan tombol kita dapat merubah logika alat secara radikal dan mencoba versi ke-dua, ke-tiga dan seterusnya dengan cepat tanpa harus mengubah pengkabelan dari rangkaian.
 
Saat ini ada beberapa alat pengembangan prototype berbasis microcontroller yang cukup populer, misalnya :
  • Arduino http://www.arduino.cc  
  • I-CubeX http://www.infusionsystems.com  
  • Arieh Robotics Project Junior http://www.arobotineveryhome.com  
  • Dwengo http://www.dwengo.org  
  • EmbeddedLab http://www.embedded.arch.ethz.ch  
  • GP3 http://www.awce.com/gp3.htm
Di antara sekian banyak alat pengembangan prototype, Arduino adalah salah satunya yang paling banyak digunakan.

   Arduino dikatakan sebagai sebuah platform dari physical computing yang bersifat open source. Pertama-tama perlu dipahami bahwa kata “platform” di sini adalah sebuah pilihan kata yang tepat. Arduino tidak hanya sekedar sebuah alat pengembangan, tetapi ia adalah kombinasi dari hardware, bahasa pemrograman dan Integrated Development Environment (IDE) yang canggih. IDE adalah sebuah software yang sangat berperan untuk menulis program, meng-compile menjadi kode biner dan meng-upload ke dalam memory microcontroller. Ada banyak projek dan alat-alat dikembangkan oleh akademisi dan profesional dengan menggunakan Arduino, selain itu juga ada banyak modul-modul pendukung (sensor, tampilan, penggerak dan sebagainya) yang dibuat oleh pihak lain untuk bisa disambungkan dengan Arduino. Arduino berevolusi menjadi sebuah platform karena ia menjadi pilihan dan acuan bagi banyak praktisi. 

   Salah satu yang membuat Arduino memikat hati banyak orang adalah karena sifatnya yang open source, baik untuk hardware maupun software-nya. Diagram rangkaian elektronik Arduino digratiskan kepada semua orang. Anda bisa bebas men-download gambarnya, membeli komponen-komponennya, membuat PCB-nya dan merangkainya sendiri tanpa harus membayar kepada para pembuat Arduino. Sama halnya dengan IDE Arduino yang bisa di-download dan diinstal pada komputer secara gratis. Kita patut berterima kasih kepada tim Arduino yang sangat dermawan membagi-bagikan kemewahan hasil kerja keras mereka kepada semua orang. Saya pribadi betul-betul kagum dengan desain hardware, bahasa pemrograman dan IDE Arduino yang berkualitas tinggi dan sangat berkelas.

   Arduino dikembangkan oleh sebuah tim yang beranggotakan orang-orang dari berbagai belahan dunia. Anggota inti dari tim ini adalah:  
  • Massimo Banzi Milano, Italy 
  • David Cuartielles Malmoe, Sweden  
  • Tom Igoe New York, US  
  • Gianluca Martino Torino, Italy  
  • David A. Mellis Boston, MA, USA
Profil mengenai anggota tim tersebut dan kontribusinya bisa diakses pada situs web: 
http://www.arduino.cc/playground/Main/People.  

   Saat ini komunitas Arduino berkembang dengan pesat dan dinamis di berbagai belahan dunia. Bermacam-macam kegiatan yang berkaitan dengan projek-projek Arduino bermunculan dimanamana, termasuk di Indonesia. Yang membuat Arduino dengan cepat diterima oleh orang-orang adalah karena:

  • Murah, dibandingkan platform yang lain. Harga sebuah papan Arduino tipe Uno asli buatan Italia yang saya beli di tahun 2011 seharga Rp 290.000,-. Sebuah investasi yang sangat murah untuk berbagai keperluan projek. Harganya akan lebih murah lagi jika pengguna membuat papannya sendiri dan merangkai komponen-komponennya satu per satu.
  • Lintas platform, software Arduino dapat dijalankan pada system operasi Windows, Macintosh OSX dan Linux, sementara platform lain umumnya terbatas hanya pada Windows.
  • Sangat mudah dipelajari dan digunakan. Processing adalah bahasa pemrograman yang digunakan untuk menulis program di dalam Arduino. Processing adalah bahasa pemrograman tingkat tinggi yang dialeknya sangat mirip dengan C++ dan Java, sehingga pengguna yang sudah terbiasa dengan kedua bahasa tersebut tidak akan menemui kesulitan dengan Processing. Bahasa pemrograman Processing sungguh-sungguh sangat memudahkan dan mempercepat pembuatan sebuah program karena bahasa ini sangat mudah dipelajari dan diaplikasikan dibandingkan bahasa pemrograman tingkat rendah seperti Assembler yang umum digunakan pada platform lain namun cukup sulit. Untuk mengenal Processing lebih lanjut, silakan mengunjungi situs web-nya di http://www.processing.org.
  • Sistem yang terbuka, baik dari sisi hardware maupun software-nya.
Sangat menarik ketika membuka kotak pembungkus papan Arduino terdapat tulisan bahwa Arduino diperuntukan bagi seniman, perancang dan penemu. Sungguh membesarkan hati dan membangkitkan semangat bahwa penggunanya tidak harus teknisi berpengalaman atau ilmuwan berotak jenius. Anda tertarik untuk menjadi seniman digital?

 
Secara umum Arduino terdiri dari dua bagian, yaitu:
  1. Hardware:  papan input/output (I/O)  
  2. Software:  Software Arduino meliputi IDE untuk menulis program, driver untuk koneksi dengan komputer, contoh program dan library untuk pengembangan program. 

2.  Jenis-jenis Arduino

Saat ini ada bermacam-macam bentuk papan Arduino yang disesuaikan dengan peruntukannya seperti diperlihatkan berikut ini:

Arduino USB

Menggunakan USB sebagai antar muka pemrograman atau komunikasi komputer. Contoh:  
  • Arduino Uno  
  • Arduino Duemilanove  
  • Arduino Diecimila  
  • Arduino NG Rev. C  
  • Arduino NG (Nuova Generazione)  
  • Arduino Extreme dan Arduino Extreme v2  
  • Arduino USB dan Arduino USB v2.0 

Arduino Serial

Menggunakan RS232 sebagai antar muka pemrograman atau komunikasi komputer.

 Contoh: Arduino Serial dan Arduino Serial v2.0

Arduino Mega

Papan Arduino dengan spesifikasi yang lebih tinggi, dilengkapi tambahan pin digital, pin analog, port serial dan sebagainya. Contoh:
  • Arduino Mega  
  • Arduino Mega 2560  

Arduino FIO

Ditujukan untuk penggunaan nirkabel.

Arduino Lilypad

Papan dengan bentuk yang melingkar. Contoh: LilyPad Arduino 00, LilyPad Arduino 01, LilyPad Arduino 02, LilyPad Arduino 03, LilyPad Arduino 04

Arduino Bluetooth

Mengandung modul bluetooth untuk komunikasi nirkabel. 

Arduino Nana dan Arduino Mini

Papan berbentuk kompak dan digunakan bersama breadboard. Contoh:  
  • Arduino Nano 3.0, Arduino Nano 2.x  
  • Arduino Mini 04, Arduino Mini 03, Arduino Stamp 02 
   Komponen utama di dalam papan Arduino adalah sebuah microcontroller 8 bit dengan merk ATmega yang dibuat oleh perusahaan Atmel Corporation. Berbagai papan Arduino menggunakan tipe ATmega yang berbeda-beda tergantung dari spesifikasinya, sebagai contoh Arduino Uno menggunakan ATmega328 sedangkan Arduino Mega 2560 yang lebih canggih menggunakan ATmega2560. 

   Untuk memberikan gambaran mengenai apa saja yang terdapat di dalam sebuah microcontroller, pada gambar berikut ini diperlihatkan contoh diagram blok sederhana dari microcontroller ATmega328 (dipakai pada Arduino Uno).

Blok-blok di atas dijelaskan sebagai berikut:  
  • Universal Asynchronous Receiver/Transmitter (UART) adalah antar muka yang digunakan untuk komunikasi serial seperti pada RS-232, RS-422 dan RS-485.  
  • 2KB RAM pada memory kerja bersifat volatile (hilang saat daya dimatikan), digunakan oleh variable-variabel di dalam program.  
  • 32KB RAM flash memory bersifat non-volatile, digunakan untuk menyimpan program yang dimuat dari komputer. Selain program, flash memory juga menyimpan bootloader. Bootloader adalah program inisiasi yang ukurannya kecil, dijalankan oleh CPU saat daya dihidupkan. Setelah bootloader selesai dijalankan, berikutnya program di dalam RAM akan dieksekusi.  
  • 1KB EEPROM bersifat non-volatile, digunakan untuk menyimpan data yang tidak boleh hilang saat daya dimatikan. Tidak digunakan pada papan Arduino.  
  • Central Processing Unit (CPU), bagian dari microcontroller untuk menjalankan setiap instruksi dari program.  
  • Port input/output, pin-pin untuk menerima data (input) digital atau analog, dan mengeluarkan data (output) digital atau analog.  
Setelah mengenal bagian-bagian utama dari microcontroller ATmega sebagai komponen utama, selanjutnya kita akan mengenal bagian-bagian dari papan Arduino itu sendiri.

3.  Bagian-bagian dari Arduino

Dengan mengambil contoh sebuah papan Arduino tipe USB, bagian-bagiannya dapat dijelaskan sebagai berikut.

  1. 14 pin input/output digital (0-13)
     Berfungsi sebagai input atau output, dapat diatur oleh program. Khusus untuk 6 buah pin 3, 5, 6, 9, 10 dan 11, dapat juga berfungsi sebagai pin analog output dimana tegangan output-nya dapat diatur. Nilai sebuah pin output analog dapat diprogram antara 0 – 255, dimana hal itu mewakili nilai tegangan 0 – 5V.
  2. USB
    Berfungsi untuk:
    Memuat program dari komputer ke dalam papan
    Komunikasi serial antara papan dan komputer
    Memberi daya listrik kepada papan
  3. Sambungan SV1
    Sambungan atau jumper untuk memilih sumber daya papan, apakah dari sumber eksternal atau menggunakan USB. Sambungan ini tidak diperlukan lagi pada papan Arduino versi terakhir karena pemilihan sumber daya eksternal atau USB dilakukan secara otomatis.  
  4. Q1 – Kristal (quartz crystal oscillator)
    Jika microcontroller dianggap sebagai sebuah otak, maka kristal adalah jantung-nya karena komponen ini menghasilkan detak-detak yang dikirim kepada microcontroller agar melakukan sebuah operasi untuk setiap detak-nya. Kristal ini dipilih yang berdetak 16 juta kali per detik (16MHz)
  5. Tombol Reset S1
    Untuk me-reset papan sehingga program akan mulai lagi dari awal. Perhatikan bahwa tombol reset ini bukan untuk menghapus program atau mengosongkan microcontroller.  
  6. In-Circuit Serial Programming (ICSP)
    Port ICSP memungkinkan pengguna untuk memprogram microcontroller secara langsung, tanpa melalui bootloader. Umumnya pengguna Arduino tidak melakukan ini sehingga ICSP tidak terlalu dipakai walaupun disediakan.
  7. IC 1 – Microcontroller Atmega
    Komponen utama dari papan Arduino, di dalamnya terdapat CPU, ROM dan RAM. 
  8. X1 – sumber daya eksternal
    Jika hendak disuplai dengan sumber daya eksternal, papan Arduino dapat diberikan tegangan DC antara 9-12V.
  9. 6 pin input analog (0-5)
    Pin ini sangat berguna untuk membaca tegangan yang dihasilkan oleh sensor analog, seperti sensor suhu. Program dapat membaca nilai sebuah pin input antara 0 – 1023, dimana hal itu mewakili nilai tegangan 0 – 5V.
Tanpa melakukan konfigurasi apapun, begitu sebuah papan Arduino dikeluarkan dari kotak pembungkusnya ia dapat langsung disambungkan ke sebuah komputer melalui kabel USB. Selain berfungsi sebagai penghubung untuk pertukaran data, kabel USB ini juga akan mengalirkan arus DC 5 Volt kepada papan Arduino sehingga praktis tidak diperlukan sumber daya dari luar. Saat mendapat suplai daya, lampu LED indikator daya pada papan Arduino akan menyala menandakan bahwa ia siap bekerja. 
Arduino Uno
Pada papan Arduino Uno terdapat sebuah LED kecil yang terhubung ke pin digital no 13. LED ini dapat digunakan sebagai output saat seorang pengguna membuat sebuah program dan ia membutuhkan sebuah penanda dari jalannya program tersebut. Ini adalah cara yang praktis saat pengguna melakukan uji coba. Umumnya microcontroller pada papan Arduino telah memuat sebuah program kecil yang akan menyalakan LED tersebut berkedip-kedip dalam jeda satu detik. Jadi sangat mudah untuk menguji apakah sebuah papan Arduino baru dalam kondisi baik atau tidak, cukup sambungkan papan itu dengan sebuah komputer dan perhatikan apakah LED indikator daya menyala konstan dan LED dengan pin-13 itu menyala berkedip-kedip.



Saran Penulis :
  1. Dengan begitu beragamnya papan Arduino yang ada di pasaran wajar jika seorang pemula akan kebingungan untuk menentukan tipe papan apa yang sebaiknya digunakan. Sebagai sama-sama pemula yang ingin berbagi pengalaman, saya akan menganjurkan untuk memulai dengan tipe Duemilanove atau Uno mengingat kedua tipe papan ini yang paling banyak digunakan oleh para aktivis Arduino saat ini. Arduino Uno adalah generasi yang terakhir setelah Duemilanove dan dari sisi harganya sedikit lebih mahal karena memiliki spesifikasi yang lebih tinggi (microcontroller: Atmega328 dan flash memory: 32 KB).
  2. Setelah mengeluarkan papan Arduino dari kotaknya, harap berhati-hati dengan listrik statis dan hubungan singkat karena bagian bawah papan Arduino tidak ditutup dengan lapisan pelindung. Dianjurkan untuk tidak menyentuh bagian bawah atau kaki-kaki komponennya dengan tangan untuk menghindari bahaya listrik statis dari tubuh Anda. Hati-hati juga meletakkan papan Arduino pada meja.
    Pastikan tidak ada logam atau cairan yang bisa mengakibatkan hubungan pendek yang bisa merusak komponen. Usahakan meletakkan papan Arduino pada alas berbahan plastik yang aman.


Sumber: Djuandi, Feri. 2011. Pengenalan Arduino. www.tokobuku.com