Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#Log Book Traffic Light Revolution #1

Open
JuliSuprapto opened this issue Sep 2, 2016 · 24 comments
Open

#Log Book Traffic Light Revolution #1

JuliSuprapto opened this issue Sep 2, 2016 · 24 comments

Comments

@JuliSuprapto
Copy link
Member

No description provided.

@JuliSuprapto
Copy link
Member Author

JuliSuprapto commented Sep 3, 2016

starting-python-ide

Kemarin saya tidak menulis laporan kegiatan karena saya tidak tahu apa yang akan saya laporkan, dari kemarin hingga sekarang kegiatan saya hanya mengoprek raspberry untuk dijadikan sebagai simulasi server. Kemarin saya mencoba melakukan beberapa kali penginstalan operating system untuk raspberry. Terdapat dua jenis OS yang kami list : 1. Windows 10 Iot 2. Raspbian.

Namun karena kurangnya dukungan perangkat untuk menginstall Windows Iot, saya menggunakan raspbian sebagai simulasi server controlling bagi arduino. Sekarang saya sudah mulai menjalani beberapa pengerjaan coding untuk akses database server yang saya buat via localhost sebagai semple dan coding Python sebagai penghubung.

Kenapa menggunakan python ?, alasannya karena saya berfikir, sebagian konsep dari Traffic Light Revolution hampir sama dengan Smart Hidroponik, yaitu raspberry mengambil data yang masuk untuk dikirimkan kedalam controller sebagai output nilai.

@JuliSuprapto
Copy link
Member Author

Kegiatan yang saya lakukan hari ini adalah belajar tentang koneksi mysql raspberry dengan server simulasi yang saya buat sendiri.
perintahnya hanya mengambil data yang ada didalam server lalu di letakan dalam table yang saya buat dengan menggunakan bahasa python. Secara otomatis data baru yang dimasukan oleh user akan dibaca dengan perulangan yang sama.
Jadi untuk tahap pengambilan data dari server simulasi mungkin dapat diterapkan dengan database dari semut, yang memiliki fitu Traffic Light Revolutin.

@JuliSuprapto
Copy link
Member Author

JuliSuprapto commented Sep 6, 2016

Karena terjadi sebuah musibah dikontrakan kemarin, saya tidak melakukan banyak kegiatan dihari itu, saya mendapat aplikasi yang digunakan oleh controller baru yang ternyata sama dengan aplikasi yang lama.

kegiatan saya hari ini ngin bertemu dengan bapak ary setijadi untuk meminta bimbingan, namun saya datang terlambat kekampus ITB, dan bapak ary sudah tidak ada diruangannya. namun saya diberi tugas untuk installasi perangkat Access Point di MIC Lantai 4 yang akan digunakan untuk akses internet dari team ubl. Juga berdiskusi dengan team sabuga mengenai pekerjaan yang ada disabuga untuk membuat website.

@DwiRomadon
Copy link
Member

DwiRomadon commented Sep 7, 2016

Kegiata saya hari ini adalah mencoba membuat maping di android menggunakan OpenStreetMap dengan mengambil kordinat latitut longitut SABUGA menggunakan IDE Eclipse
sep
haha

@JuliSuprapto
Copy link
Member Author

kegiatan yang saya laukan hari ini adalah mencari referensi mengenai pengiriman data dari rasberry kedalam arduino dan arduino mengambil data dari raspberry dengan menggunakan koneksi serial, dikarenakan menunggu perangkat arduino datang.

@JuliSuprapto
Copy link
Member Author

kegiatan yang saya lakukan hari ini mencoba membuat koneksi serial raspberry dan arduino. Terjadi masalah ketika mencoba pengiriman data dari arduino ke raspberry, dikatakan bahwa terjadi kesalahan pada load programing. Setelah saya cari referensi, kesalahan terletak pada perangkat arduino, karena kode python yang digunakan untuk membaca data sudah berjalan di raspberry, namun arduino menolak dengan alasan programble.
Beberapa cara untuk fix problem adalah cek koneksi serial dan board yang digunakan. Karena kami menggunakan arduino due, saya sulit menemukan referensi terkait alat yang digunakan.

@JuliSuprapto
Copy link
Member Author

setelah beberapa hari tidak menulis log book kegiatan yang saya lakukan karena mengerjakan website. hari ini saya melakukan analisa dan mencari masalah dari perangkat arduino duemilanove untuk komunikasi dengan raspberry, masalah pertama adalah penggunaan IDE yang memiliki module board untuk jenis arduino ini adalah versi 1.5.x sedangkan default dari raspbian adalah 2.1.0.5 yang tidak memiliki module board due (programer). saat dilakukan uji coba pada windows 7 dengan arduino yang memiliki fungsi download driver baru sketch atau code yang ditulis dapat dbaca oleh board. karena default dari IDE adalah duemilanove dan decimal duemilanove yang selalu memunculkan warning teks programable error.
konsep yang akan dibuat adalah komunikasi serial read-write dari arduino dan python yang mengambil data dari server lalu dikirim kedalam arduino dengan variable yang disesuaikan.

@JuliSuprapto
Copy link
Member Author

bandicam 2016-09-19 20-55-19-298
bandicam 2016-09-19 20-52-18-006

laporan kali ini senin 19 september mengenai serial communicaton antara raspbery dan arduino, sudah dilakukan sebuah pengiriman data dari raspberry menuju arduino walau masih secara manual, selanjutnya tinggal penggabungan antara tugas sebelumnya yaitu mengambil data secara otomatis dari database yang diproses oleh python di raspberry. goalnya adalah data diambil dari database berupa String dan secara otomatis data dikirimkan kedalam arduino yang akan ditampilkan kedalam panel LED.

@JuliSuprapto
Copy link
Member Author

image1

laporan 25 september 2016, mencoba membuat rangkaian LED dengan susunan 16*32 menggunakan 2 buah library yang didapat sebagai referensi yaitu DMD dan adafruit.

  • pertama kali mencoba menggunakan library DMD menggunakan arduino UNO hasilnya nyala lampu menjadi berantakan namun blinked dan berjalan walau tidak membentuk sebuah teks, didapat kesimpulan dengan library ini adalah suport dari library lebih kepada penggunaan 1 buah warna (single color) yaitu merah sedangkan pengujian menggunakan 7 color/rgb.
  • kedua menggunakan library adafruit yang support dengan RGB color LED, pada percobaan pertama berhasil membuat rangkaian teks walau tidak tersusun sempurna sesuai dengan tempat peletakan teks, teks yang dihasilkan (16x32 RGB) pada ukuran 16_32 pixel namun belum sempat didokumentasi karena langsung membuat rangkaian kedua 16_64 dan ternyata terjadi masalah pada perangkat kabel ribon dan pin (jumper) yang menghubungkan arduino dengan panel. kabel sering terlepas dan kendur saat percobaan sedangkan kabel ribon harus ditekan agar dapat terhubung ke jumper dan panel. Teks nampak jelas berjalan pada panel nomor 2 dan 4 sedangkan 1 dan 3 berjalan berbalik arah.
    *referensi yang digunakan

@JuliSuprapto
Copy link
Member Author

Laporan hari ini 27 september 2016, setelah beberapa hari mencari bagaimana cara untuk instalasi file berekstensi .exe pada mesin ARM yang akan digunakan untuk simulasi dengan menggunakan project lama yaitu remote aplikasi melalui server, kami menggunakan dua buah Operating System yang dijalankan pada mesin ARM (Raspberry Pi 3) sebagai uji coba yaitu Windows 10 Iot dan Raspbian, dan kami menemukan beberapa masalah.

  • Windows 10 iot lebih dominan digunakan untuk membangun sebuah aplikasi universal dengan menggunakan aplikasi visual studio pada komputer lain yang dideploy dengan remote device dari windows 10 iot.
  • Aplikasi yang dapat diinstall di Windows 10 iot harus memiliki sebuah API pendukung dari windows pembangun (remote server/windows 10) dengan windows 10 iot (remote client)untuk dapat dibangun, sedangkan aplikasi dari LED berupa file portable.
  • Windows 10 iot didasarkan pada ARM NT Kernel yang belum diketahui banyak orang.
  • pada Raspbian, sama halnya dengan Windows Iot. penggunaan mesin ARM yang mengharuskan penginstalan aplikasi berbasis ARM agar dapat berjalan.
    sedangkan untuk menjalankan aplikasi x86 pada msein ARM di Raspbian harus memberikan sebuah kode mesin agar dapat dibaca oleh ARM, dan untuk windows 10 iot belum ditemukan pemecahan masalahnya.
    *sumber
    https://www.raspberrypi.org/forums/viewtopic.php?f=105&t=110672
    https://www.raspberrypi.org/forums/viewtopic.php?t=128729&p=860816

@ceefour
Copy link
Member

ceefour commented Sep 27, 2016

@JuliSuprapto aplikasi LEDnya menggunakan bahasa pemrograman apa ya? Bila pakai Java atau Python maka bisa jalan langsung di platform x86 maupun ARM, bahkan tanpa perlu compile ulang (yang dibutuhkan kalau pakai C++).. itu sekedar pemikiran saya sih, meski aq ga tahu batasan masalah dan pertimbangan dari teman-teman. Gimana?

@JuliSuprapto
Copy link
Member Author

aplikasi LED nya default dari perangkatnya mas @ceefour, udah kita orang coba liat
gambar1
gambar2
gambar3
sejauh ini cuma beberapa modul yang bisa saya liat mas, kayanya dibangun pake bahasa C++/C.
tapi untuk file yang laen belum bisa kebuka.

@ceefour
Copy link
Member

ceefour commented Sep 27, 2016

@JuliSuprapto Itu C++ tapi pakai Win32 API (Windows only). Ada UI-nya juga kah? (kalo dilihat dari skrinsutmu, kayanya ada)

Dugaanku, ada bagian yang berkomunikasi dengan LED-nya.. Kalo LEDnya punya dokumentasi/driver/API, bisa langsung dipakai. Bila tidak, maka perlu reverse engineer. nah protocol komunikasi tersebut dapat diimplementasi ulang di bahasa lain (saran saya Java atau Python) sehingga bs jalan di Raspberry.

@JuliSuprapto
Copy link
Member Author

gambar yang pertama itu komunikasi dengan LED nya mas, kalo untuk lebih jelasnya tentang ada tidaknya Win32 API saya kurang ngerti mas. Kami gak dapet dokumentasi jelasnya mas dari LED itu, tapi untuk beberapa sourcenya emang di encrypt juga mas @ceefour.
oh iya mas mau nanya tentang windows iot bisa gak mas ?

@ceefour ceefour removed their assignment Sep 27, 2016
@ceefour
Copy link
Member

ceefour commented Sep 27, 2016

@JuliSuprapto Dari windows.h kelihatan bahwa itu pakai Win32 API.
Maaf aq ga familiar dengan Windows IoT, coba gabung ke komunitasnya dulu dan tanya di sana.

Cc @rdatm @auliafaqih semoga berkenan bantu

@JuliSuprapto
Copy link
Member Author

oh gitu mas, yaudah makasih mas. nanti saya pelajarin tentang yang mas @ceefour tadi maksud.
belum nemu komunitas yang khusus windows iot nya, (kebanyakan internet of thing) doang gak terlalu masuk kedalem perangkatnya. tapi ntar di cari lagi.

@ceefour
Copy link
Member

ceefour commented Sep 28, 2016

@JuliSuprapto
Copy link
Member Author

2016-09-28 13 51 12
2016-09-28 13 51 50
2016-09-28 13 52 16
2016-09-28 13 52 44
2016-09-28 13 53 13
2016-09-28 13 54 51
2016-09-28 13 55 44
2016-09-28 13 58 01
2016-09-28 14 00 29
img_20160928_163942

laporan hari ini 28 september 2016, hari ini saya melakukan percobaan pada LED dengan membuat lingkaran, full panel warna dan running teks.
pada beberapa percobaan terjadi sedikit masalah pada panel, panel tidak dapat dibangun secara penuh. panel terdiri dari panjang 32 dan lebar 16, setengah dari panel dibagi menjadi panjang 16 dan lebar 8. sehingga output tidak menjadi sempurna. permasalahan ini belum ditemukan solusinya.
sempat mencari dibeberapa forum mengenai masalah tersebut, kesalahan terletak pada penerapan pin dari arduino kedalam kabel ribbon, sumber (https://forums.adafruit.com/viewtopic.php?f=47&t=94545&p=475066&hilit=LED+matrix+32x32+led+matrix+16x32#p475066) kesalahan terjadi pada penerapan pin D kedalam ribbon. namun setelah di cek kembali sudah benar dalam penerapan kabel, namun masalah masih sama.

dari beberapa percobaan didapat hasil seperti gambar dibawah, dan ketika membuat sebuah teks, teks tidak terbentuk secara sempurna, urutan LED berantakan.

dari percobaan runing teks masih sama dengan masalah sebelumnya, teks keluar dengan alur yang berbeda (left-right), dan lingkaran tidak tebentuk sempurna, ketika dilakukan perubahan nilai untuk membentuk lingkaran, hasilnya menjadi tidak berbentuk lingkaran justru berbentuk persegi.

beranggapan bahwa panel LED memiliki struktur berbeda dengan referensi yang didapat, sehingga penerapannya kurang maksimal, dikarenakan tidak memiliki dokumen mengenai perangkat, ukuran panel yang digunakan 16x32 dan 32x32.

*referensi

library:

  • adafruit
  • adafruit_GFX

website:
https://learn.adafruit.com/adafruit-gfx-graphics-library?view=all
https://learn.sparkfun.com/tutorials/rgb-panel-hookup-guide

@JuliSuprapto
Copy link
Member Author

bandicam 2016-09-30 21-42-45-489
p_20160930_212742
p_20160930_212746
img_20160930_212724

laporan 30 september 2016, hari ini saya melakukan perhitungan matriks pada panel untuk mencari setiap titik untuk membentuk sebuah teks, dari percobaan didapatkan sebuah masalah yaitu ukuran panel dari 16x32 menjadi 16x16 sehingga titik 0 pada panel terdapat dua buah pada satu panel yang sama, dan urutan dari titik tidak sesuai, ex: (x,y) urutan (x23,y0-x23,y15) maka urutan dar (x23,y4) akan kembali pada titik (x23,y0), jadi ukuran 16 kebawah dibagi menjadi 4 dengan urutan yang berbeda.
dari satu panel yang dibagi menjadi dua, tegangan listrik tidak stabil sehingga membuat panel sebelah kanan menjadi berantakan dan menghidupkan led dengan tegangan kecil berbeda dengan sebelah kiri.
disini saya sudah mendokumentasikan keseluruhan titik pada panel yang di-list pada ms.excel, dan source code arduino untuk membentuk huruf ITB dengan pola warna RGB.

@JuliSuprapto
Copy link
Member Author

laporan 05 oktober 2016, hari ini saya mencari tahu kenapa panel ukuran 16x32 dapat menjadi 16x16 dengan library adafruit yang sudah menentukan titik matrik x,y dari panel. hasil kemarin adalah penggunaan library adafruit ukuran 16x32 menghasilkan susunan matrik yang sudah saya masukan kedalam group ini, dan mencoba untuk ukuran 32x32 namun susunan matriks sudah berubah tidak sama dengan jika menggunakan sketch 16x32.
dari hasil diatas saya mencari tahu kenapa hal tersebut dapat terjadi, dan dari beberapa forum yang juga menggunakan jenis panel yang sama dan merubah controller menjadi arduino.
pada controller bawaan dari panel memiliki sebuah hub dengan series hub75, dari beberapa referensi didapatkan referensi mengenai panel LED.

  • panel dengan single color menggunakan jenis hub12.
  • panel dengan dual color menggunakan jenis hub08.
  • panel dengan full color menggunakan jenis hub75/74. namun juga dapat menggunakan hub08 dan hub12 namun dengan susunan yang dirubah dan membutuhkan sebuah converter.
    arduino yang digunakan saat ini tidak memiliki hub tersebut, dan dari keterangan dari sebuah forum (http://forum.freetronics.com/viewtopic.php?f=26&t=5580) bahwa dari beberapa panel yang menggunakan arduino sebagai ganti controller akan berubah menjadi 160mmx160mm bukan 320mmx160mm. dan disarankan untuk menambah sebuah shield hub75 untuk membuat alur pada arduino. namun belum ditemukan converter untuk arduino ke hub75.
    pernah dicoba menghidupkan tanpa library, namun hasilnya hanya berjalan untuk row dengan susunan yang acak saat dirubah setiap nilainya menjadi tidak urut, sedangkan coloum tidak dapat ditentukan.
    disini saya memberikan gambar contoh shield untuk arduino hub75.
    mohon saran nya.

referensi:

http://forum.arduino.cc/index.php?topic=222334.0
http://www.instructables.com/…/Arduino-UNO…/step2/The-board/

@JuliSuprapto
Copy link
Member Author

disini kami mencari tahu scaning rate dari panel led guna menentukan perhitungan yang akan digunakan dalam pembuatan alur pada panel.
dari source code yang didapatkan dari forum arduino (http://forum.arduino.cc/index.php?topic=310346.0) untuk mencari scanning mode yang digunakan papan dan didapatkan hasil scanning rate dari panel adalah 1/4.

1/4 didapat dari perhitungan

-Total pin IC LED drive modul.
IC driver dari satu papan berjumlah 8 kelompok , yang berisi 3 LED IC Driver.
8x3 = 24 LED IC Drive.
setiap IC memiliki 16 pin, sehingga 24x16 = 384 pin.

-Total LED pada modul Panel LED
Resolusi dari LED adalah 32x16 = 512 pixel, yang berisi 3 chip warna (R,G,B).
sehingga 512x3 = 1536 LED chip.

-Rumus "scan mode = total pin IC Drive/total LED chip"
hasil dari keseluruhan 384/1536 = 0,25 atau 1/4 scan rate.

setelah dicoba hasilnya seperti video dibawah.
selanjutnya kami akan belajar mengenai dasar pembangunan library dari arduino, guna membangun sebuah library untuk jembatan antara C/C++ programming language dengan perangkat melalui arduino.

kesulitan (minimnya referensi mengenai dasar penerapan C programming kedalam perangkat)
p_20161016_123828

@JuliSuprapto
Copy link
Member Author

alur led

Laporan hari ini 25 Oktober 2016,

Saya berhasil menemukan alur skema dari panel LED. Panel terdiri dari 1/4 scanning rate yang menghidupkan 512 LED dalam satu papan 32x16. Ukuran 16 dibagi menjadi 2 (8 atas 8 bawah). 8 dari setiap 8 baris diatur dengan pin R1,G1,B1,R2,G2,B2. Untuk 8 panel atas menggunakan pin R1,G1,B1 sedangkan 8 panel bawah menggunakan R2,G2,B2.
hal yang dilakukan :

  • mempelajari pembangunan library dengan C menggunakan CodeBlocks dan Avr GCC GNU. Namun permasalahan adalah ketika proses upload file .hex kedalam arduino, aplikasi uploader tidak memiliki flashing untuk ATMega328P yang merupakan IC dari Arduino Uno R3.
  • mempelajari sketch pengenalan scanning rate dari panel, setelah dipelajari lebih jauh saya dapat menemukan scanning untuk panel tersebut.
    target selanjutnya :
    -mempelajari secara detail alur dari panel, untuk menemukan setiap titik yang dibutuhkan. seperti membangun garis, menemukan nilai dari setiap titik dll.

@Marzuki001
Copy link

Sekemanya apakah masih perbaris atau sudah per led, Juli?

@JuliSuprapto
Copy link
Member Author

untuk per led sudah bisa pak, skema dari panelnya udah kebaca, jadi lebar panel 16 dibagi jadi 2 (8x8) yang dihidupkan pake pin R1,G1,B1 untuk 8 row atas dan R2,G2,B2 untu 8 row bawah.
pin penentuan row itu ada 3 (A,B,C) yang nilainya bakal sama dengan 8 row atas dan 8 row bawah.
penentuannya :
Pin A dikasih nilai 0; row 1 & 5 hidup. (8 row atas dan 8 row bawah).
Pin A dikasih nilai 1; row 2 & 6 hidup. (8 row atas dan 8 row bawah).
Pin B dikasih nilai 0; row 1 & 5 hidup. (8 row atas dan 8 row bawah).
Pin B dikasih nilai 1; row 3 & 7 hidup. (8 row atas dan 8 row bawah).
Pin C dikasih nilai 0/1; row 1 & 5 hidup. (8 row atas dan 8 row bawah).
Pin A dikasih nilai 1; dan Pin B dikasih nilai 1; row 4 & 8 hidup. (8 row atas dan 8 row bawah).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants