Materi Presentasi Satpam IoT

Berikut adalah link dari materi presentasi Satpam IoT yang memenangkan Jababeka Start Up Idea Competition. Semoga bermanfaat.

Iklan

Atmel ATTINY817 Xplained MINI

Dulu saya suka sekali ngoprek ATTiny, terutama ATtiny85 dan ATTiny84. Menurut saya, chip-chip ini sangat sederhana dan mudah dipelajari. Kalau mau bikin piranti elektronika simpel (embedded) bisa menggunakan chip kecil ini. Selain murah, juga bisa praktis & ringkas.

Walau pun demikian, ATTiny memang punya keterbasan, terutama di spesifikasinya. Tapi memang sebenarnya Attiny tidak ditujukan untuk aplikasi yang kompleks. Attiny biasanya digunakan untuk mengendalikan tugas-tugas ringan yang spesifik. Tidak seperti chip yang kompleks seperti ATMega328 yang digunakan di Arduino versi awal atau SAM3X8E yang menggunakan arsitektur ARM yang bisa multi purpose dengan kecepatan tinggi.

Terakhir saya sempat ngoprek Radio dengan Attiny85 dan berakhir mentok karena keterbatasan memori-nya yang cuma 8 KB. Itu pun sudah berkurang menjadi sekitar 6 KB karena digunakan untuk bootloader. Dan saya pun kehabisan memori karena harus menggunakan beberapa library, hiks…

Lalu beberapa waktu lalu saya dapat email dari Atmel tentang kehadiran beberapa seri ATtiny, yaitu ATtiny417, ATtiny814, ATtiny816 dan ATtiny817. Saya pun memesan ATtiny817 XMini yang merupakan evaluation board untuk ATtiny817.

Apa sih istimewanya ATtiny817 ini? Yang jelas, ATtiny817 ini tetap minimalis dengan memori flash cuma 8 KB, SRAM 512 byte, EEPROM 128 byte, kecepatan clock meningkat sampai 20 MHz/20 MIPS, punya 2 buah timer/counter 10-bit, tetap menggunakan 8-bit DAC, analog comparator, accurate internal oscillator dan multiple calibrated voltage references. Dan yang menarik karena ada Peripheral Touch Controller (PTC), custom logic, 10-bytes unique ID dan bentuk packagingnya 24 pin. Detail spesifikasi bisa dilihat di: ATTINY817 (www.microchip.com) dokumen komplit: Datasheet.

Nah, Evaluation Kit ATtiny817 Xplained Mini (Xmini) yang saya beli ini sudah dilengkapi debugger terintegrasi, 2 buah tombol kapasitif (terintegrasi QTouch Peripheral Touch Controller), Auto-ID, akses ke semua sinyal ATtiny817, 1 LED status berwarna hijau, 1 tombol mekanik, virtual port COM (CDC), ditenagai USB, punya pin yang kompatibel dgn Arduino, header SPI. Tuh lihat saja di foto di atas. Jadi mudah ngopreknya karena pin jadi kompatibel dgn Arduino UNO.

Jujur saja saya masih belum tau mau dibikin apa, dan kapan ngopreknya, secara saat ini lagi sibuk dengan pekerjaan. Semoga saja dalam waktu dekat bisa segera ngoprek lagi. Soalnya yang menarik dari Attiny817 ini adalah adanya 2 tombol kapasitifnya. Sepertinya bisa luas aplikasinya.

Smart Parking Lot

Sepertinya sudah banyak tempat parkir pintar yang menyediakan informasi berapa jumlah lot yang tersedia dan lampu petunjuk apakah sebuah slot kosong atau terisi. Jika terisi, maka lampu menyala merah. Sedangkan jika kosong, maka akan berwarna hijau. Jadi pengemudi tahu apakah di area tersebut ada slot kosong dengan melihat nyala lampu hijau.

Saya malah kepikiran untuk menambahkan fitur bantuan parkir. Seperti kita tahu, tidak banyak mobil yang telah dilengkapi sensor parkir atau pun kamera mundur. Jadi akan sangat membantu jika slot parkir telah dilengkapi lampu pemandu di tembok belakang bagi mobil yang akan parkir. Yang saya bayangkan sih adanya deretan lampu (misalnya 5 buah lampu) di tembok belakang setiap slot yang akan mulai menyala untuk memandu mobil ketika terdeteksi ada mobil mau masuk ke slot tersebut.

Deretan lampu tersebut akan menyala hijau bergantian seperti mengalir ke kiri jika memandu mobil untuk belok ke kiri. Mengalir ke kanan jika mengarahkan mobil untuk belok ke kanan. Kecepatan aliran akan mengikuti kebutuhan sudut belok. Jika dibutuhkan belokan lebih banyak, maka aliran akan cepat. Jika sedikit saja belokannya, maka kedip aliran melambat.

Jika jarak mobil telah mendekati tembok, maka kecepatan aliran akan melambat dan berubah warna menjadi merah. Jika posisi mobil sudah lurus, maka lampu tidak mengalir ke kiri/kanan, tapi berkedip serentak semua. Kedipan akan melambat ketika mobil sudah dekat tembok dan akan menyala terus dengan berubah warna menjadi merah kalau sudah pas posisi mobilnya.

Di bawah adalah contoh nyala lampu hijau untuk mengarahkan mobil belok ke kanan. Kalau kurang ke kanan, maka aliran akan menyala cepat. Jika perlu sedikit saja ke kanan, maka aliran melambat.

1. ( ) ( ) ( ) ( ) ( )
2. (o) ( ) ( ) ( ) ( )
3. ( ) (o) ( ) ( ) ( )
4. ( ) ( ) (o) ( ) ( )
5. ( ) ( ) ( ) (o) ( )
6. ( ) ( ) ( ) ( ) (o)

Selain itu, bisa juga kita tambahkan aplikasi mobile bagi pengunjung untuk mencatat posisi slot parkirnya dan setiap jam pengunjung akan mendapat notifikasi berapa rupiah biaya parkirnya. Disediakan pula fitur pemandu lokasi parkir dengan GPS. Jadi setiap slot parkir sudah ada koordinat predefined lat-long-alt. Caranya mudah kok, pengunjung cukup men-scan QRCode/Barcode di slot parkir dan informasi slot bisa didownload.

Entah ide ini sudah ada atau belum, dan apakah bisa diterapkan atau tidak. Tapi sepertinya tidak sulit mewujudkannya. Yuk bikin?

Bingung Memilih Platform

Seorang teman meminta didesainkan sebuah sistem antrian. Masalahnya, sekarang platform yang tersedia banyak. Ini yang membuat kita jadi bingung menentukan mau pakai platform apa dan apakah platform tersebut efisien dari segi biaya?

Contohnya ya sistem antrian ini, opsinya bisa pakai PC biasa yang mahal; pakai Raspberry Pi yang lebih murah; pakai dongle Android yang praktis; atau murni mendesain elektronikanya? Masalahnya adalah harus pas antara biaya, kemudahan dan kehandalan. Seperti sebuah segitiga, ketiga faktor tadi ada di setiap sudut segitiga. Ketika kita mengedepankan kehandalan dan kemudahan, maka biaya akan jadi mahal. Atau ketika ketika memilih murah tapi handal, biasanya untuk mengembangkannya jadi sangat sulit. Namun memilih platform yang mudah dengan biaya murah biasanya kurang handal.

     Biaya --- Handal
       \         /
        \       /
         \     /
          Mudah

Tapi sebenarnya ada solusi lebih baik, yaitu mencampurkannya. Ada beberapa bagian menggunakan Raspberry Pi, bagian lain Dongle Android, dan yang membutuhkan komputasi dan penyimpanan besar bisa menggunakan PC biasa. Oh iya, sebagian lagi pakai Wemos D1 Mini.

Begitulah kira-kira.

Eldario versi 2 (Source Code)

{Update: Source code dapat dilihat juga di github: Github: Radio Nano Si4703}

Oh iya, hampir lupa posting source code-nya Eldario versi 2 (Radio FM + Jam). Seperti sudah saya tulis sebelumnya, pada versi 2 ini ditambahkan modul jam. Meski yang ditampilkan cuma hari (disingkat 3 karakter), waktu (jam dan menit), tanggal dan bulan. Minus tahun. Soalnya baris pertama di LCD tidak cukup lagi untuk menampung 4 angka tahun. Sedangkan baris kedua sudah penuh dengan frekuensi dan volume.

Karena saya malas menambahkan tombol tambahan, maka harus dipikirkan mekanisme menyetel tanggal dan jam dengan hanya menggunakan rotary encoder + switch yang sejatinya sudah digunakan pula untuk mengubah frekuensi dan volume. Lagi pula jika ditambahkan tombol khusus bisa terpencet secara tidak sengaja.

Untunglah saya cukup licik sehingga rotary encoder + switch ini bisa digunakan juga untuk menyetel tanggal dan jam. Tapi dengan cara spesial, hehehe…

Read More »

Eldario versi 2 (Radio FM + Jam)

Sebenarnya PCB sudah jadi sejak seminggu yang lalu. Tapi karena sedang tidak enak body, maka saya baru sempat membuatnya tadi malam. Ini adalah versi ke-2 Eldario (Radio FM). Pada versi 2 ini saya memepetkan modul-modul sehingga bisa menampung modul RTC DS3231. Penambahan RTC DS3231 ini membuat Eldario menjadi sedikit lebih pintar karena sekarang jadi bisa menampilkan jam dan tanggal. Horeee…

Eldario v2
Eldario v2

Sayangnya saya tidak punya komponen DS3231 dan PAM8403 di Fritzing, jadi saya cuma menggunakan header generik. Berikut skematiknya:

Skematik Eldario v2
Skematik Eldario v2

Sedangkan berikut ini layout PCB-nya. Untuk versi etching dalam format PDF bisa diminta via japri.

Layout Komponen di PCB
Layout Komponen di PCB

Daftar komponen:

  1. Arduino Nano v3
  2. Modul Radio FM Si4703
  3. Modul RTC DS3231
  4. Modul LCD I2C 16×2
  5. Modul Amplifier Class D PAM8403
  6. Rotary Encoder Switch
  7. Regulator DC 7805
  8. Dioda IN4004
  9. Elko 47uF/16V (2 buah)
  10. Capacitor 100nF
  11. Resistor 10K Ohm (3 buah)
  12. Speaker 3″ 8 Ohm
  13. Header & kabel
  14. PCB Eldario v2
  15. Adaptor DC 9V
  16. Antena
  17. Casing

Untuk code-nya saya belum selesai menambahkan fitur untuk mencocokkan jam. Saat ini mencocokkannya via sinkronisasi di laptop, hehehe… Nanti saya akan post terpisah source code-nya.

(Update 15/12/2016: Source code bisa dilihat di: Eldario versi 2 Source Code)

Semoga bermanfaat.

~~~

Foto Eldario versi 1:

dwo_0032

Foto Eldario Mini versi 2:

img_4183

~~~

Terkait:
~ Eldario Versi 1
~ Eldario Mini Versi 2
~ Source code Eldario versi 2 (Radio FM + Jam)

Eldario Mini versi 2

Saat bekerja di kantor saya mengandalkan sebuah radio kecil yang mudah dan meriah buatan sendiri. Saya memberinya nama Eldario Mini. Cukup simpel dengan mengandalkan komponen minimalis, yaitu Wemos D1 Mini, Si4703, OLED shield dan Rotary Encoder. Tidak perlu amplifier karena Si4703 sudah punya amplifier kecil yang cukup keras untuk headphone. Tidak perlu sumber daya khusus karena Wemos D1 Mini bisa ditenagai oleh charger smartphone atau colokkan saja ke port USB laptop.

Kerennya adalah ketersediaan shield OLED display. Saya cukup puas dengan shield display ini karena tampilannya terang di kegelapan dan tetap bisa terbaca di bawah cahaya yang terang.

Sayangnya versi 1 Eldario mini kurang asyik. Bentuknya besar dan solderan tidak rapi. Maklum saya membuatnya dari PCB generik dan menyambung antar komponen pakai kabel biasa. Jadi saya pun menyempatkan diri mendesain PCB khusus untuk Eldario Mini.

img_4183

Pada versi 2 ini saya mengganti rotary encoder menjadi 3 momentary switch kecil. Fungsinya untuk mengganti frekuensi radio dan mengubah volume.

Uniknya, modul Si4703 disolder di bagian bawah PCB. Jadi PCB tidak melebar tapi tertumpuk. Cukup hemat tempat ya? Hehehe…

Beginilah hasil dari Eldario Mini versi 2 :