Obsesi Radio (Sebuah Catatan)

Rupanya sudah 4 tahun yang lalu sejak saya ngoprek radio dengan Sparkfun Si4703 (Evaluation Board). Saat itu evaluation board ini harganya cukup mahal, yakni $19.95 belum termasuk ongkir dari luar. Dan memang Si4703 ini bagus dan handal. Saat di breadboard berjalan dengan baik. Sayangnya saat disolder ke PCB saya salah sambung sehingga board rusak. Hiks… Saat itu kebetulan sedang sibuk coding dan ketambahan kecewa akhirnya ngoprek radio terlupakan.

Radio Kotak Kardus
Radio Kotak Kardus

Empat tahun kemudian, tepatnya beberapa waktu belakangan ini saya teringat kalau saya masih punya 1 spare Evaluation Board Si4703. Iya memang, waktu itu saya belinya 2, hehehe…

Baca selebihnya »

Say It with Light! (Redesign)

Ketika mendesain “Say It with Light!” pertimbangan saya adalah murah, meriah dan mudah. Namun ketika saya mau membuat PCB, saya baru sadar kalau ternyata “Say It with Light!” tidak murah dan mudah.

Tidak murah lantaran ternyata saya tidak menjumpai penjual ATtiny85 di pasaran lokal. MCU ini termasuk murah, tapi ketika tidak ada yang jual, maka kita perlu beli dari luar yang sudah pasti jadi mahal. Apalagi kalau belinya partai kecil, bisa-bisa mahalan di ongkir.

Dengan ATmega8 lebih stabil
Dengan ATmega8 lebih stabil

Selain masalah ketersediaan ATtiny85, saya baru sadar kalau saya menggunakan komponen tambahan yang mungkin menjadi kesulitan tersendiri bagi pemula atau ABG yang baru belajar elektronika, yaitu karena saya menggunakan 2 buah Shift Register. Dua buah Shift Register ini digunakan untuk mengatasi keterbatasan I/O di ATTiny85. Dan saya baru sadar kalau ini bisa jadi penghalang tersendiri. Jadinya rangkaian “Say It with Light!” menjadi tidak mudah lagi.

Kemudian seharian kemarin saya mencari alternatif pengganti ATtiny85 yang sekiranya tersedia di pasaran lokal dengan harga terjangkau. Saya menemukan chip alternatif yang masih satu kerabat dengan ATtiny85, yaitu ATtiny2313. ATtiny2313 ini punya 20 pin dan tesedia 18 I/O yang programmable (dikurangi 1 pin untuk reset jadi 17 I/O).

Bisa jadi alternatif yang bagus karena saya bisa mendesain rangkaian jadi sederhana. Dengannya saya bisa menggunakan 16 I/O untuk pengaturan display dot matrix secara langsung tanpa perlu shift register. Tersisa 1 I/O untuk tombol. Benar-benar pas.

Namun ternyata tidak murah! Sebuah chip ATTiny2313 (soket PDIP) di pasaran lokal berharga Rp 27.500 di harga terendah. Banyak penjual lokal lain menjual di atas itu. Harga segitu hanya untuk MCU bisa jadi kendala sendiri bagi remaja yang masih dijatah uang jajannya.

Saya langsung teringat ATmega8 yang harga di pasaran lokal lebih murah dengan harga termurah yang tersedia di pasaran lokal adalah Rp 20.000 untuk soket PDIP. Sedangkan harga termahal yang saya temukan Rp 25.000. Saya heran, kok ATmega8 lebih murah dari ATtiny2313 ya? Mungkin karena Attiny2313 bisa ngebut sampai 20 MHz? Ah kapan-kapan saja deh komparasinya.

Jadi pilihan saya pun jatuh ke ATmega8. Pilihan ini menjadikan proses desain lebih mudah karena saya telah familiar dengan ATmega8. Tantangan ngoprek chip keluarga ATmega adalah karena kita harus burn bootloader. Bukan hal mutlak sebenarnya, tapi kalau ini dilakukan, pemrograman dengan IDE Arduino menjadi lebih fleksibel.

ATmega8 memiliki 23 programmable I/O yang setelah dikurangi keperluan internal Arduino jadi hanya punya 20 pin bebas. Ini sudah lebih dari cukup. Sirkuit “Say It with Light!” tanpa Shift Register cuma butuh 16 pin I/O.

Dan akhirnya prototype “Say It with Light!” dengan ATmega8 berhasil saya buat. Kali ini benar-benar memenuhi prinsip murah, meriah dan mudah untuk situasi, kondisi dan lokasi di Indonesia.

Tapi di luar itu, saya juga sedikit bangga dengan desain “Say It with Light!” versi ATtiny85 karena saya telah membuktikan bahwa konsep murah, meriah dan mudah sebenarnya bisa dilakukan dengan ATtiny85 jika di pasaran lokal ada. Karena harga ATtiny85 sebenarnya cuma di bawah Rp 10.000. Sedangkan 2 buah shift register cuma Rp. 5.000. POC (proof of concept) berhasil.

Say It with Light!

Bagi para ABG (*ABG tua?*) yang sedang kasmaran sudah selayaknya membangun proyek elektronika yang saya beri nama “Say it with Light!” ini. Karena dengan “Say it with light!” Anda bisa memperlihatkan isi hati Anda kepada pacar. Dijamin si dia bakal bilang “WOW” dan koprol (*gubrak*). Kalau pun tidak, coba disuruh push up atau lari keliling lapangan sepak bola 5×. (Ups… kok jadi ngelantur gini ya?)

Sirkuit di breadboard
Sirkuit di breadboard

Baiklah, kita kembali ke proyek sederhana ini. “Say it with light!” adalah sebuah piranti sederhana yang dapat menampilkan pesan yang berjalan dari kanan ke kiri. Bahasa kerennya scroll text atau running text. Rangkaian ini dibangun dengan pertimbangan murah, meriah dan mudah. Sehingga para ABG kasmaran yang baru belajar elektronika dapat membangunnya sendiri dengan biaya yang tidak mahal.

ATTiny85 sebagai otaknya
ATTiny85 sebagai otaknya

Saya sengaja memilih MCU Atmel ATTiny85 yang mungil dan murah. Walau pun cuma punya kaki 8, MCU ini sangat baik & handal. Saya sudah beberapa kali menggunakannya dalam proyek sederhana (lihat: Digital Temperature with ATtiny85 and LM35 dan Ngepot 85 (Pot Elektronik)).

Kalau saya memilih ATtiny85 karena dalam proyek ini saya cuma butuh penampilan pesan di dot matrix dan sebuah tombol untuk men-switch tampilan. Dan lagi harganya termasuk murah. Cocok kan?

Dua buah shift register 74HC595 untuk mengendalikan display dot matrix
Dua buah shift register 74HC595 untuk mengendalikan display dot matrix

Untuk mengendalikan display dot matrix, saya menggunakan 2 buah shift register 74HC595 yang digunakan untuk scanning column dan pengiriman data row. Dengan 2 buah shift register dirangkai cascade, saya cuma butuh 3 pin ATtiny85 untuk mengendalikan display dot matrix.

Sebuah pin dari ATtiny85 saya gunakan untuk tombol pengganti tampilan sehingga total kebutuhan pin cuma 4. Dari 5 pin yang tersedia di ATtiny85 tersisa 1 pin. Sementara ini saya belum ada ide pemanfaatan 1 sisa pin ini. Mungkin kelak bisa dimanfaatkan untuk suara. Tuh kan, cukup menggunakan ATtiny85 untuk proyek ini.

Show your heart
Show your heart

Catatan pribadi

Oke, proyek dot matrix sudah bertebaran dan semuanya bagus-bagus, bahkan berwarna-warni. Tapi hampir semua proyek dot matrix mahal. Di sinilah keunggulan dari desain “Say it with Light!” ini. Desain ini murah meriah dan mudah dibangun. Cocok untuk pemula elektronika (seperti saya ini). Dan karena ATtiny85 termasuk hemat energi, dia bisa ditenagai baterai sehingga bisa didesain portable.

Karena semua pemilihan komponen dan desainnya ekonomis, tentu ada kelemahannya. Yang paling tampak adalah kecepatan dari ATtiny85 ini yang termasuk lambat. Dengan clock internal, dia cuma memiliki kecepatan 1 MHz. Akibatnya penampilan di display dot matrix nampak flicker. Penggunaan Atmega8 dengan external crystal 16 MHz dapat mengatasi masalah flicker ini. Tapi sayangnya bakal banyak pin yang tidak terpakai.

Namun kelemahan ini justru bisa menjadi kekuatan karena tampilan flicker malah dapat mengundang perhatian si dia. “Wow ada blink-blink.”

Digital Temperature with ATTiny85 & LM35

Baiklah, saya sudah punya display 7-segment mungil, lalu mau dibuat apa? Saya pun memutuskan membuat “digital temperature” sederhana. Kebetulan saya punya spare LM35 sisa ngoprek Ngepot84.

Sebenarnya sederhana, hanya saja kabelnya itu yang bikin tampak ruwet
Sebenarnya sederhana, hanya saja kabelnya itu yang bikin tampak ruwet

Hanya saja saya ingin proyek ini sesederhana mungkin, dalam arti tidak menggunakan Arduino yang relatif lebih mahal. Maklum, saya ingin proyek ini cuma mengukur suhu, tidak lebih. Toh display yang tersedia cuma 7-segment standard nan mungil yang tentu saja tidak bisa menampilkan info yang kompleks.

Ada 4 opsi microcontroller yang tersedia, yaitu: ATTiny85, ATTiny84, ATtiny2313 dan ATtiny4313. Karena pertimbangannya adalah kesederhanaan, maka pilihan jatuh pada ATTiny85 yang cuma punya 8 kaki dengan 5 I/O. Tentu saja 5 pin I/O kurang untuk men-drive 2 digit 7-segment. Syukurlah saya punya stock chip shift register 74HC595 untuk membantu ATTiny85 men-drive display 7-segment.

Cukup menggunakan ATTiny85
Cukup menggunakan ATTiny85

Walau pun sederhana, saya ingin hasil dari proyek ini baik terutama dalam hal display-nya. Oleh karena itu saya mengambil 2 buah shift register 74HC595 untuk ke-2 digit display. Dengan 2 buah IC shift register, saya tidak perlu menggunakan teknik scanning. Kedua shift register ini dirangkai cascading. Walau pun menggunakan 2 buah shift register, pemrogramannya mudah kok. Cukup panggil 2 kali fungsi shiftOut di antara pemicuan pin latch (lihat source code untuk detailnya).

2 digit 7-segment untuk display suhu ruangan
2 digit 7-segment untuk display suhu ruangan

Di bawah ini adalah skema dari Digital Temperature with ATTiny85 ini. Jangan terkecoh dengan ruwetnya kabel. Sebenarnya ini proyek sederhana dengan beberapa komponen saja. Anda bisa merangkaikannya di breadboard dalam waktu kurang dari 30 menit.

Cuma membutuhkan beberapa komponen
Cuma membutuhkan beberapa komponen

(Klik pada gambar untuk memperbesar gambar)

Jika ada waktu luang, rencananya akan saya buatkan PCB-nya supaya sirkuit ini permanen. Juga penggunaan baterai supaya bisa lebih portabel.

Tampilan Temperature Digital versi breadboard
Tampilan Temperature Digital versi breadboard

Baca selebihnya »

Membuat nge-Pot 85 (Open Hardware, Open Source)

Kalau kemarin membahas pengalaman mendesain & membuat nge-Pot 85 (Pot Elektronik), kini tibalah saatnya saya membagikan detail rangkaiannya. Namun mohon maaf, saya belum merapikan skema-nya dan tidak menyertakannya. Sekedar untuk diketahui, saya memulai desain justru dari layout PCB. Sedangkan layout breadboard dan skema otomatis tergambar di Fritzing. Hanya saja bertumpukan sehingga perlu dirapikan lagi tampilannya.

Layout PCB nge-Pot 85 tampak atas
Layout PCB nge-Pot 85 tampak atas

Di atas adalah tampilan atas dari PCB nge-Pot 85. Jika ingin membuat PCB sendiri, silakan download layout untuk etsa (etch) di sini: PCB copper bottom. Sedangkan di bawah ini daftar komponennya ditampilkan dalam 2 daftar, yaitu dalam format penamaan utk perakitan dan daftar belanjaan. Oh iya, jangan lupa menambahkan socket untuk ATtiny85 dan header female untuk titik-titik pengukuran.

Baca selebihnya »