Memori pada Sistem Mikroprosesor

Mikroprosesor memiliki berbagai macam memori dengan berbagai fungsi. Berikut ini uraian macam-macam memori pada komputer berdasarkan sifat baca tulis memori tersebut.

ROM : Read Only Memory

ROM atau Masked ROM adalah memori yang hanya dapat dibaca saja, dan isi memorinya sudah ditentukan di pabrik, tidak dapat diubah oleh pengguna. Memori ini harga satuannya (variable cost) murah, namun ongkos awalnya (fixed cost) besar, sehingga baru ekonomis kalau jumlah produksinya besar.

PROM: Programmable Read Only Memory

PROM adalah ROM yang dapat diprogram oleh user 1 kali saja. Memori jenis ini harga satuannya lebih mahal dibandingkan ROM, namun tidak perlu ongkos awal yang besar, sehingga cocok untuk produksi dalam jumlah kecil.

OTP : One Time Programmable

OTP adalah nama lain dari PROM.

Contoh komponen OTP adalah IC AT27C020 yang diproduksi oleh Microchip.

AT27C020
AT27C020

Referensi:

EPROM: Erasable Programmable Read Only Memory

EPROM adalah memori yang dapat ditulis, isinya tidak hilang ketika power supply dimatikan, namun dapat dihapus dengan menggunakan sinar ultra violet. Pada EPROM ini terdapat ‘jendela’ dari bahan kuarsa yang memungkinkan cahaya ultra violet mengenai chip silikon yang berisi transistor EPROM.

Berikut ini beberapa contoh EPROM.

EPROM Intel C1702A
EPROM Intel C1702A
ST Microelectronics M27C256B
ST Microelectronics M27C256B
EPROM NEC D8749
EPROM NEC D8749
EPROM NEC 02716
EPROM NEC 02716

EEPROM Electrically Erasable Programmable Read Only Memory

EEPROM adalah memori yang dapat dihapus dengan tegangan listrik tertentu.

Contohnya adalah Atmel AT24C512. Memori ini dihubungkan ke mikroprosesor dengan protokol Two Wire Serial Interface.

Atmel EEPROM AT 24C512
Atmel EEPROM AT 24C512

Beberapa mikrokontroler sudah dilengkapi dengan EEPROM di dalamnya, misalnya ATMega328 yang dipakai di Arduino sudah dilengkapi dengan EEPROM berkapasitas 1 kilobyte.

Datasheet: http://www.atmel.com/Images/doc1116.pdf

RAM: Random Access Memory

RAM adalah memori yang isinya dapat dibaca dan ditulis. Isi memori hilang kalau power supply dimatikan. RAM yang umum dipakai terbagi dua , yaitu static RAM dan dynamic RAM.

SRAM: Static RAM

SRAM adalah RAM yang dibuat dengan menggunakan transistor / flip-flop. Kecepatannya tinggi, namun harganya relatif mahal dibandingkan dengan dynamic RAM.

Rangkaian 1 bit static RAM
Rangkaian 1 bit static RAM (sumber)

Berikut ini komponen static RAM tipe 6264 yang berkapasitas 8 kilobyte. Komponen SRAM ini dulu favorit sebagai RAM untuk mikroprosesor Z80 dan mikrokontroler 8051.

SRAM tipe 6264
SRAM tipe 6264 (sumber)

DRAM: Dynamic RAM

DRAM adalah RAM yang dibuat dengan menggunakan kapasitor.

Keuntungannya lebih murah dibandingkan SRAM, namun isi tegangan di kapasitor akan hilang dalam beberapa milisekon, sehingga isi tegangan di kapasitor tersebut mesti diperbarui setiap beberapa milisekon.

RAM jenis ini adalah memori yang banyak dipakai untuk desktop dan laptop saat ini. Misalnya RAM tipe DDR berikut ini:

DDR4 SDRAM
DDR4 SDRAM berkapasitas 8 GB

Flash Memory

Memori yang isinya tidak hilang kalau power supply dimatikan, dan isinya juga dapat dihapus secara elektrik seperti EEPROM. Perbedaannya adalah pada flash memory penghapusan dan penulisan data mesti dilakukan pada suatu blok data, tidak dapat hanya 1 byte saja, sedangkan EEPROM dapat dihapus / ditulis pada setiap byte.

Mikrokontroler seperti ATMega328 dilengkapi dengan flash memory berkapasitas 32 kilobyte di dalamnya untuk diisi dengan program.

NVRAM : Non Volatile RAM

NVRAM adalah RAM yang diberi batere, sehingga ketika power supply rangkaian dimatikan, isi RAM di NVRAM ini tetap ada, tidak hilang.

NVRAM Dallas DS1225AD
NVRAM Dallas DS1225AD
NVRAM Dallas DS1225AD
NVRAM Dallas DS1225AD

Contoh lain komponen yang berisi NVRAM adalah real time clock (RTC) seperti DS3231 dan DS1307

Real Time Clock DS3231
DS1307 real time clock
DS1307 real time clock

Memori pada Arduino Nano

Dalam prakteknya, suatu sistem mikroprosesor pada umumnya menggunakan lebih dari 1 macam memori. Sebagai contoh, para Arduino Nano (ATmega328), memori di dalamnya adalah sebagai berikut:

  • Flash memory, untuk diisi program dan data yang permanen. Hanya dapat diubah dari luar dengan programmer atau dengan menggunakan bootloader.
  • SRAM ( Static RAM) sebagai memori untuk menyimpan variabel yang dapat diubah-ubah
  • EEPROM untuk menyimpan parameter yang dapat diubah oleh program dan tidak hilang ketika listrik dimatikan.

Selain memori tersebut di atas dapat juga ditambahkan memori lain menggunakan port serial atau pin-pin pada Arduino.

Referensi:

Diagram Alir Perangkat Lunak pada Mikroprosesor

Diagram alir (flow chart) adalah salah satu teknik untuk memodelkan perangkat lunak. Pada tulisan ini diuraikan secara ringkas diagram alir pada perangkat lunak desktop, mikroprosesor dengan superloop, mikroprosesor dengan interupsi dan mikroprosesor dengan multitasking.

Diagram alir adalah sebuah diagram dengan simbol-simbol grafis yang menyatakan aliran algoritma atau proses yang menampilkan langkah-langkah yang disimbolkan dalam bentuk kotak, beserta urutannya dengan menghubungkan masing masing langkah tersebut menggunakan tanda panah. Diagram ini bisa memberi solusi selangkah demi selangkah untuk penyelesaian masalah yang ada di dalam proses atau algoritma tersebut

Secara umum diagram alir dipakai untuk melakukan analisis, perancangan, dokumentasi, ataupun manajemen suatu proses atau program dalam berbagai bidang ilmu.

Dalam tulisan ini disajikan penggunaan diagram alir untuk melihat perbedaan antara 3 macam perangkat lunak:

  • Perangkat lunak desktop
  • Perangkat lunak sistem mikroprosesor tanpa sistem operasi
  • Perangkat lunak sistem mikroprosesor dengan sistem operasi

Diagram Alir Perangkat Lunak Desktop

Perangkat lunak desktop yang dibahas di sini maksudnya adalah perangkat lunak yang dijalankan pada suatu sistem operasi (misal Windows / Linux). Perangkat lunak seperti ini dijalankan pada suatu saat dan kemudian selesai pada beberapa waktu kemudian. Jadi pada perangkat lunak ini ada bagian START sebagai permulaan dan ada bagian END yang menyatakan akhir pelaksanaan perangkat lunak tersebut.

Diagram alir perangkat lunak desktop
Diagram alir perangkat lunak desktop

Pada contoh di atas, program melaksanakan 3 buah pekerjaan yaitu Inisialisasi, Proses 1 dan Proses 2, kemudian berhenti. Pekerjaan dapat bermacam-macam, namun intinya adalah ada START di awal dan END di akhirnya.

Contoh perangkat lunak seperti ini misalnya adalah web browser yang anda pakai sekarang (Firefox,Chrome, Internet Explorer, Safari, dsb). Contoh lainnya adalah perangkat lunak command line di Windows maupun Linux.

Diagram Alir Perangkat Lunak Berbasis Super Loop Tanpa Interupsi

Model berikutnya adalah model perangkat lunak yang umum dipakai pada sistem mikroprosesor/mikrokontroler. Pada sistem mikroprosesor perangkat lunak diharapkan untuk berjalan selamanya sampai perangkat tersebut dimatikan atau direset. Ciri diagram alir pada sistem ini adalah ada bagian START namun tidak END, dan ada suatu loop yang dijalankan selamanya. Karena ada loop yang dijalankan selamanya ini, maka arsitektur seperti ini sering disebut sebagai superloop.

Bagian utama software ada 2 yaitu bagian inisialisasi dan proses/pekerjaan. Bagian inisialisasi hanya dilakukan satu kali saja di awal, umumnya untuk melakukan konfigurasi pada sistem mikroprosesor yang digunakan. Contohnya adalah mengaktifkan port-port tertentu sebagai input maupun output, mengatur port serial, mengatur timer/pewaktu, dan lain-lain perangkat di dalam mikroprosesor/mikrokontroler tersebut.

Diagram alir superloop tanpa interupsi
Diagram alir superloop tanpa interupsi

Teknik pembuatan superloop dalam bahasa C umumnya menggunakan loop while(1) {} ataupun for(;;){}.

Diagram Alir Perangkat Lunak Berbasis Super Loop Dengan Interupsi

Model ini adalah perkembangan dari model sebelumnya. Perbedaannya adalah pada perangkat lunak ini ada fungsi / subroutine yang bertugas menangani adanya interupsi. Software untuk menangani interupsi ini sering disebut juga sebagai Interrupt Service Routine (ISR).

ISR ini berjalan seolah-olah tidak tergantung pada diagram alir utama, sehingga untuk memodelkan perangkat lunak ISR kita mesti membuat sebuah diagram alir terpisah. ISR dimulai dari adanya sebuah IRQ (Interrupt Request) yaitu sinyal dari hardware yang menandakan adanya suatu interupsi yang mesti dilayani. Setelah IRQ tersebut, maka ISR melaksanakan proses yang diperlukan untuk melayani IRQ tersebut sampai selesai. Setelah selesai maka ISR akan menjalankan RETI (Return from Interrupt) untuk mengakhiri ISR.

Diagram alir superloop dengan interupsi
Diagram alir superloop dengan interupsi

Suatu perangkat lunak dapat memiliki beberapa ISR, sehingga untuk masing-masing ISR ini mesti dibuatkan flowchart sendiri. Pada contoh berikut ini ada 2 buah interupsi, yaitu IRQ 1 yang menjalankan Proses 3, dan IRQ 2 yang menjalankan Proses 4.

Diagram alir superloop dengan 2 interupsi
Diagram alir superloop dengan 2 interupsi

Diagram Alir Perangkat Lunak Dengan Multithread

Berikutnya yang paling kompleks adalah diagram alir perangkat lunak dengan sistem operasi multithread. Pada perangkat lunak ini terdapat superloop dan interupsi seperti sebelumnya, namun ada lagi 1 fitur software yang tidak ada di software sebelumnya, yaitu multithreading. Pada multithreading, sistem mikroprosesor dapat menjalankan beberapa thread software sekaligus walaupun hanya memiliki 1 CPU saja. Tekniknya adalah dengan membagi waktu CPU antara beberapa thread yang aktif, sehingga meskipun hanya ada 1 CPU namun seolah-olah komputer ini memiliki beberapa CPU yang masing-masing menjalankan program tersendiri.

Perbedaan utamanya adalah pada multithread kita dapat membuat beberapa superloop, 1 di main loop, sedangkan loop lain dapat diaktifkan sebagai thread.

Diagram alir perangkat lunak dengan sistem operasi
Diagram alir perangkat lunak dengan sistem operasi

Contoh sistem operasi yang dapat dipakai pada sistem semacam ini adalah FreeRTOS (http://www.freertos.org/) dan CoOS (https://github.com/coocox/CoOS)

Daftar Istilah

  • ISR (Interrupt Service Routine)
  • IRQ (Interrupt Request)

Referensi

Instalasi TP-LINK WN725N pada Beaglebone Black

Wireless TP-LINK WN725N
Wireless TP-LINK WN725N

Driver untuk Wireless TP-Link WN725N belum tersedia pada OS yang diinstall pada Beaglebone Black, jadi kalau kita mau menggunakan WN724N kita mesti compile sendiri driver tersebut. Berikut ini beberapa prosedur yang berhasil dikumpulkan.

Beaglebone Black Ubuntu

Sumber: Install TP-LINK Wireless N Adapter TL-WN725N on Ubuntu

Prosedur:

  1. sudo apt-get update (makes sure you have an up to date list of packages in case you need to install something, like git)
  2. mkdir ~/beaglebone-ubuntu-scripts
  3. cd ~/beaglebone-ubuntu-scripts
  4. wget https://raw.github.com/gkaindl/beaglebone-ubuntu-scripts/master/bb-get-rcn-kernel-source.sh (downloads gkaindl’s script which will install all the arm kernel headers you’ll need to compile your driver)
  5. chmod +x bb-get-rcn-kernel-source.sh (give yourself access to run the script)
  6. ./bb-get-rcn-kernel-source.sh (run the script)
  7. sudo reboot (for good measure)
  8. cd /usr/src
  9. sudo chown -R ubuntu /linux-3.8.13-bone30 (ensure total control of this folder)
  10. cd linux-3.8.13-bone30
  11. sudo make oldconfig
  12. sudo make prepare (build the linux kernel!)
  13. sudo make modules_prepare (build more things)
  14. mkdir ~/RTL8188EU
  15. cd ~/RTL8188EU
  16. git clone git://github.com/lwfinger/rtl8188eu.git (clone lwfinger’s driver from github)
  17. sudo chown -R ubuntu /rtl8188eu (ensure total control of this folder)
  18. If you don’t have git, do this and try step 9 again:
    sudo apt-get install git
  19. cd rtl8188eu (change to directory with all the driver source code)
  20. sudo make (build the driver’s source code)
  21. If you don’t have make, do this and try step 11 again:
    sudo apt-get install make
  22. If you run sudo make and it now complains you don’t have gcc do this then try step 11 again:
    sudo apt-get install gcc
  23. sudo make install (install the driver)
  24. sudo reboot (required for next step to work)
  25. ifconfig
  26. You should see this text come up:

    wlan0     unassociated  Nickname:“<WIFI@REALTEK>”

              Mode:Auto  Frequency=2.412 GHz  Access Point: Not-Associated

              Sensitivity:0/0

              Retry:off   RTS thr:off   Fragment thr:off

              Power Management:off

              Link Quality=0/100  Signal level=0 dBm  Noise level=0 dBm

              Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0

              Tx excessive retries:0  Invalid misc:0   Missed beacon:0

    lo        no wireless extensions.

    eth0      no wireless extensions.

  27. cd /etc/network
  28. sudo pico interfacesThen uncomment or add in the following text:
    # wireless network interface
    auto wlan0
    iface wlan0 inet dhcp
    wpa-ssid “Wifi Network Name”
    wpa-psk “wifipassword”
  29. sudo reboot
  30. The green light should now be blinking! You should be able to ping it. Check your router status to find the IP address. If you’re plugged in with an ethernet cable, keep reading. Else skip to step 33!
  31. If you have an ethernet cable, unplug it. You will now no longer be able to ping/connect to the wireless IP address of the beaglebone black.
  32. Remove the power from the beaglebone black.
  33. Hold the reset button and plug the power back in and let it boot up.
  34. You should now be able to ping/connect to the beaglebone black wirelessly. Congrats!

Beaglebone Black Debian

Sumber: Beaglebone Black USB Wifi & TP Link WN725N

Installing WN725N in Debian is very similar with Ubuntu, since Ubuntu is derived from Debian.

Step By Step install driver usb wifi model TP-LINK WN725N

  • apt-get update
  • apt-get install lsb-release
  • apt-get install git
  • apt-get install make
  • apt-get install gcc
  • apt-get install build-essential python-dev python-pip python-smbus -y
  • apt-get install chkconfig
  • apt-get upgrade
  • mkdir ~/beaglebone-ubuntu-scripts
  • cd ~/beaglebone-ubuntu-scripts
  • wget https://raw.github.com/gkaindl/beagle…
  • chmod +x bb-get-rcn-kernel-source.sh
  • ./bb-get-rcn-kernel-source.sh
  • reboot
  • cd /usr/src
  • cd linux-3.8.13-bone67
  • make oldconfig
  • make prepare
  • make modules_prepare
  • mkdir ~/RTL8188EU
  • cd ~/RTL8188EU
  • git clone git://github.com/lwfinger/rtl8188eu.git
  • cd rtl8188eu
  • make
  • make install
  • reboot
  • apt-get install wireless-tools wpasupplicant
  • Edit network interface setting:
    nano /etc/network/interfaces
    Add or uncomment the following lines:
    Then uncomment or add in the following text in the file:
    # wireless network interface
    auto wlan0
    iface wlan0 inet dhcp
    wpa-ssid “Wifi Network Name”
    wpa-psk “wifipassword”
  • reboot

If everything is right, output of ‘ifconfig -a’ should be like this:

eth0      Link encap:Ethernet  HWaddr d0:39:72:3b:b9:3e
inet addr:192.168.1.90  Bcast:192.168.1.255  Mask:255.255.255.0
inet6 addr: fe80::d239:72ff:fe3b:b93e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:423 errors:0 dropped:0 overruns:0 frame:0
TX packets:365 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:76737 (74.9 KiB)  TX bytes:44862 (43.8 KiB)
Interrupt:40

lo        Link encap:Local Loopback
inet addr:127.0.0.1  Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING  MTU:65536  Metric:1
RX packets:1 errors:0 dropped:0 overruns:0 frame:0
TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:79 (79.0 B)  TX bytes:79 (79.0 B)

usb0      Link encap:Ethernet  HWaddr 42:fc:99:7c:c4:4c
inet addr:192.168.7.2  Bcast:192.168.7.3  Mask:255.255.255.252
inet6 addr: fe80::40fc:99ff:fe7c:c44c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:612 errors:0 dropped:0 overruns:0 frame:0
TX packets:520 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:65825 (64.2 KiB)  TX bytes:148666 (145.1 KiB)

wlan0     Link encap:Ethernet  HWaddr 64:66:b3:1b:b7:76
inet addr:192.168.1.112  Bcast:192.168.1.255  Mask:255.255.255.0
inet6 addr: fe80::6666:b3ff:fe1b:b776/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:338 errors:0 dropped:52 overruns:0 frame:0
TX packets:58 errors:0 dropped:3 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:66371 (64.8 KiB)  TX bytes:11340 (11.0 KiB)

Beaglebone Black Angstorm

Sumber: How to install a rtl8192cu on the Beaglebone Black (BBB) running Angstrom

 

opkg update
opkg upgrade
opkg install kernel-dev
opkg install kernel-headers

You may need to reboot.

cd /usr/src/kernel
make scripts
ln -s /usr/src/kernel /lib/modules/$(uname -r)/build
cd ~
git clone git://github.com/cmicali/rtl8192cu_beaglebone.git
cd rtl8192cu_beaglebone
make CROSS_COMPILE=""

Then follow 2.2 from bonenotes.tumblr.com:

Install the driver

mv 8192cu.ko /lib/modules/$(uname -r)
depmod -a
cd /etc/modules-load.d
echo "8192cu" > rtl8192cu-vendor.conf

Blacklist the old rtlwifi drivers

cd /etc/modprobe.d
echo "install rtl8192cu /bin/false" >wifi_blacklist.conf
echo "install rtl8192c_common /bin/false" >>wifi_blacklist.conf
echo "install rtlwifi /bin/false" >>wifi_blacklist.conf

Edit /var/lib/connman/settings and enable WIFI

[global]
OfflineMode=false
 
[Wired]
Enable=true
Tethering=false
 
[WiFi]
Enable=true
Tethering=false

Encrypt your passphrase

wpa_passphrase YourSSID YourPassphrase

Edit /var/lib/connman/wifi.config and set it to the following

[service_home]
Type=wifi
Name=YourSSID
Passphrase=YourEncryptedPassphrase

Plug in your WIFI adaptor and reboot

shutdown -r 0

Referensi

 

 

BeagleBone Black (Rev C)

Berikut ini beberapa foto Beaglebone Black (Rev C)

beagleboard-box-atas-IMG_5775
Kardus bagian depan

beagleboard-box-bawah-IMG_5776
Kardus bagian belakang

 

Manual Beaglebone Black
Manual Beaglebone Black

beagleboard-manual-chinese-IMG_5773
Manual bahasa Tiongkok
Penampakan bagian atas
Penampakan bagian atas

 

 

 

beagleboard-bawah-IMG_5772
Penampakan board bagian bawah

 

 

Manual untuk akses HDMI

Buku untuk Beaglebone

Pengukuran Detak Jantung Dengan Sensor Detak Jantung

Pengukuran Detak Jantung dengan sensor yang dibahas di artikel Sensor Detak Jantung

Data mentah, delimited dengan semicolon:

Interval sampling adalah 1 ms

Board yang dipakai adalah Arduino Nano V3 clone

Software yang dipakai adalah Arduino sebagai berikut:

/*
Sumber: http://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
*/

// constants won’t change. Used here to set a pin number :
const int ledPin =  13;      // the number of the LED pin
// Variables will change :
int ledState = LOW;             // ledState used to set the LED
// Generally, you shuould use “unsigned long” for variables that hold time
// The value will quickly become too large for an int to store
unsigned long previousMillis = 0;        // will store last time LED was updated
// constants won’t change :
const long interval = 1;           // interval at which to blink (milliseconds)
unsigned long counter=0;
int sensorPin = A0;    // select the input pin for the potentiometer
int sensorValue = 0;  // variable to store the value coming from the sensor
void setup() {
// set the digital pin as output:
pinMode(ledPin, OUTPUT);
Serial.begin(115200);
}

void loop()
{
// here is where you’d put code that needs to be running all the time.

// check to see if it’s time to blink the LED; that is, if the
// difference between the current time and last time you blinked
// the LED is bigger than the interval at which you want to
// blink the LED.
unsigned long currentMillis = millis();

if(currentMillis – previousMillis >= interval) {
// save the last time you blinked the LED
previousMillis = currentMillis;
// set the LED with the ledState of the variable:
digitalWrite(ledPin, ledState);
counter++;
sensorValue = analogRead(sensorPin);
Serial.print(counter);
Serial.print(“;”);
Serial.println(sensorValue);

}
}

 

Grafik hasil pengukuran (sekitar 30000 sampel pertama). Nampak amplitude maksimum berubah-ubah, tergantung posisi dan tekanan jari pada sensor.

Pengukuran detak jantung 2900 sampel
Pengukuran detak jantung 2900 sampel

 

Grafik hasil pengukuran (hanya sekitar 1000 sampel pertama saja). Nampak ada noise pada hasil pengukuran.

Pengukuran detak jantung 1000 sampel
Pengukuran detak jantung 1000 sampel

 

Rentang angka ADC adalah 0 sampai 1023 (ADC 10 bit di ATMega328)

Angka maksimum yang tercatat adalah 536. Angka minimum yang tercatat adalah 496. Rentang angka yang tercatat adalah 40. Hal ini konsisten dengan hasil tampilan dengan software Processing di artikel Sensor Detak Jantung yang menunjukkan rentang angka pengukuran sempit dibandingkan dengan sensor asli.

Tampilan sensor ex Banggood
Tampilan sensor ex Banggood. Rentangnya sempit

 

Data mentah:

  • 1khz-data dalam format CSV, delimited dengan semicolon

Perbandingan Kecepatan I/O Digital pada Arduino

Dalam percobaan ini dibandingkan kecepatan I/O digital untuk beberapa board Arduino dan Arduino compatible sebagai berikut:

  • Arduino UNO R3 (http://www.arduino.cc/en/Main/ArduinoBoardUno)
  • Arduino Due (http://www.arduino.cc/en/Main/ArduinoBoardDue)
  • Arduino Nano clone
  • Nuvoton NuEdu-UNO
  • Intel Galileo (http://www.arduino.cc/en/ArduinoCertified/IntelGalileo)
Berbagai board Arduino yang diuji
Berbagai board Arduino yang diuji

Pengujian adalah dengan mengukur frekuensi output dari program Blink dari Arduino dengan delay dan tanpa delay.

Berikut ini program Blink asli dengan delay

void setup() {
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
delay(1000);              // wait for a second
digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
delay(1000);              // wait for a second
}

Berikut ini program Blink asli tanpa delay

void setup() {
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
}

Compiler yang digunakan adalah Intel-Arduino versi 1.6.0 untuk Intel Galileo dan Arduino ver 1.5.8 untuk board lainnya. Source code yang digunakan sama persis untuk semuanya. Pemrograman dilakukan di komputer berbasis Windows.

Pengukuran dilakukan dengan mengukur frekuensi sinyal di pin 13. Alat ukur frekuensi yang dipakai adalah multimeter Kyoritsu model 1009.

Pengukuran frekuensi I/O pada Nuvoton NuEdu-UNO
Pengukuran frekuensi I/O pada Nuvoton NuEdu-UNO

Berikut ini rangkuman hasil pengukurannya:

Board Arduino Prosesor Clock CPU
Dengan delay Tanpa delay
Arduino UNO ATmega328 16 MHz 499.1 Hz 93.9 kHz
Arduino Due Atmel SAM3X8E ARM Cortex-M3 (AT91SAM3X8E) 84 MHz 499.9 Hz 145.4 kHz
Arduino Nano clone ATmega328 16 MHz 499.9 Hz 94.1 kHz
Nuvoton NuEdu-UNO ARM Cortex-M0 NUC131SD2AE 50 MHz max 500.0 Hz 384.2 kHz
Intel Galileo Intel® Quark SoC X1000 400 MHz max 498.6 Hz 220.1 Hz

Analisis

  • Arduino UNO dan Arduino Nano menggunakan prosesor yang sama, jadi hasilnya praktis sama.
  • Pengujian ini hanya menunjukkan kecepatan akses ke I/O digital, tidak menunjukkan kemampuan umum.
  • Kecepatan I/O pada CPU jenis mikrokontroler lebih tinggi dibandingkan CPU general purpose. ATMega dan ARM Cortex-M0 adalah jenis CPU mikrokontroler.
  • Jika ingin melihat performance yang lebih umum perlu ditest dengan software benchmark yang standar.

Instalasi Arduino Untuk NuEdu-UNO

Board NuEdu-UNO di paketnya tidak dilengkapi dengan manual yang lengkap. Setelah lihat-lihat sana sini dan tanya-tanya sana-sini, berikut ini kesimpulan saya tentang instalasi Arduino dan pengujian board NuEdu.

Berikut ini tahap-tahap instalasi Arduino untuk NuEdu-UNO:

#1 Download Arduino for Windows versi 1.5.8 dari http://www.arduino.cc/en/Main/OldSoftwareReleases

#2 Install software Arduino for Windows versi 1.5.8

#3 Download NuMicro_Patch_For_Arduino1.5.8 dari http://sourceforge.net/projects/numicroedu/files/Tools/.

#4 Jalankan NuMicro_Patch_For_Arduino1.5.8.exe. Software ini akan meminta direktori instalasi Arduino, umumnya di C:\Program Files (x86)\Arduino. Software ini akan menambahkan board NuEdu ke daftar board Arduino.

#5 Download software ICP untuk NuMicro dari http://sourceforge.net/projects/numicroedu/files/Tools/. Pada saat tulisan ini dibuat, versi terbaru ICP adalah NuMicro_ICP_Programming_Tool_1.29.6425.zip.

#6 Unzip file ICP NuMicro_ICP_Programming_Tool_1.29.6425.zip tersebut.

#7 Jalankan installer ICP yaitu NuMicro ICP Programming Tool 1.29.6425.exe . Install driver-driver USB yang diperlukan.

#8 Sambungkan board NuEdu-UNO dengan kabel mini-USB. Windows akan melakukan proses deteksi USB.

#9 Jalankan software ICP tersebut. Cara mudahnya pada Windows 7 adalah mengetik ‘icp’ di Start Menu. Nama softwarenya adalah ‘NuMicro ICP Programming Tool’.

NuMicro ICP Programming Tool 1.29
NuMicro ICP Programming Tool 1.29

#10 Pilih NUC100 Series sebagai target chip, kemudian klik ‘Continue’.

#11 Klik ‘Connect’ jika belum tersambung.

ICP belum tersambung ke NuEDU
ICP belum tersambung ke NuEDU

#12 Jika muncul string ‘Chip Connected with Nu-Link (ID: xxxxxx)’ maka artinya software ICP sudah terhubung dengan baik ke board NuEdu. Dalam kasus saya, ICP tidak dapat langsung terhubung, namun ICP meminta untuk melakukan proses upgrade firmware NuLink di board NuEdu. Saya konfirmasi untuk melakukan proses upgrade firmware. Setelah proses upgrade firmware ini selesai, barulah muncul string ‘Chip Connected with Nu-Link (ID: xxxxxx)’.

ICP sudah tersambung ke NuEDU
ICP sudah tersambung ke NuEDU

#13 Pada tahap ini Arduino dan ICP sudah siap untuk dipakai. Selanjutnya adalah mencoba software dari Arduino.

Percobaan Arduino

#1. Cek port berapakah yang terhubung ke NuEdu. Caranya adalah dengan menjalankan Device Manager di Windows. Carilah ‘Nuvoton Virtual Com Port (COMxx)’.

#2. Jalankan Arduino. Jika terhubung ke internet, kadang-kadang Arduino akan memberitahu ada versi baru Arduino. Abaikan saja, karena patch NuEdu hanya berfungsi pada Arduino 1.5.8

Device Manager Windows 7
Device Manager Windows 7

#3. Ubahlah setting port pada Arduino sesuai dengan Nuvoton Virtual Com Port yang terdeteksi.

Setting port serial di Arduino
Setting port serial di Arduino

#4. Pilihlah board NuEdu-UNO

Memilih board NuEdu UNO
Memilih board NuEdu UNO

#5. Siap untuk menjalankan Arduino seperti biasa. Untuk mencoba, pilihlah ‘File -> Examples -> 01.Basics -> Blink’.

Memilih contoh program Blink
Memilih contoh program Blink

#6. Compile dan upload. Status upload akan muncul di bagian bawah

Status upload software NuEdu-UNO
Status upload software NuEdu-UNO

#7. Setelah software diupload kemungkinan software belum langsung jalan. Tekan tombol reset pada board NuEDU untuk mulai menjalankan software. Fitur ini berbeda dengan Arduino berbasis ATMega yang biasa saya pakai, yang umumnya langsung reset sendiri setelah softwarenya diupload.

Tombol reset pada NuEdu
Tombol reset pada NuEdu

#7. Cek apakah LED pada board berkedip. Jika LED berkedip artinya software berjalan baik.

Referensi:

Development Board Nuvoton NuTiny NuEdu-UNO V1.4

Berikut ini beberapa foto kemasan Nuvoton NuEdu-UNO yang dibeli dari Digiware:

Kemasan NuEdu-UNO
Kemasan NuEdu-UNO

Kemasan bagian depan
Kemasan bagian depan

 

Kemasan bagian belakang
Kemasan bagian belakang

 

Bonus ballpoint gel dari Digiware
Bonus ballpoint gel dari Digiware

Bonus ballpoint gel dari Digiware
Bonus ballpoint gel dari Digiware

Berikut ini foto boardnya

NuEdu bagian atas
Papan rangkaian NuEdu-UNO bagian atas

NuEdu bagian bawah
Papan rangkaian NuEdu-UNO bagian bawah

Berikut ini  foto close-up beberapa komponen.

 

Regulator 78M05

Regulator 78M05, ada kode yang dihilangkan

Regulator AMS1117
Regulator AMS1117 dengan output 3.3 volt

Kapasitor Tantalum 100 uF
Kapasitor Tantalum 100 uF

Dioda MDD SS24
Dioda MDD SS24

LED dan resistor
LED dan resistor

Prosesor NUC12SRE3DE
Prosesor NUC12SRE3DE yang dipakai di sebagai komponen utama programmer / debugger NuLink

Prosesor NUC131SD2AE
Komponen utama NuEDU, prosesor ARM Cortex-M0 NUC131SD2AE

Prosesor yang digunakan adalah NUC131SD2AE.

Penjelasan tipe prosesor NUC131SD2AE:

  • NUC131: Nuvoton NUC131 Family
  • S: kemasan LQFP64
  • D: Ukuran memori flash: 68 KB Flash ROM
  • 2: Ukuran memori SRAM 8 KB
  • A: Version A
  • E: Temperatur kerja -40 ~ 105 derajat Celcius

Prosedur untuk mengaktifkan Arduino pada board ini dapat dilihat di artikel [Instalasi Arduino Untuk NuEdu-UNO]

 

Sensor Detak Jantung

Berikut ini catatan singkat mengenai percobaan sensor detak jantuk yang didapat dari situs Banggood

 

Foto barang di situs banggood
‘Pulse Heart Rate Sensor Module’ di situs Banggood

Berikut ini foto sensor tersebut yang sampai setelah 18 hari di pengiriman. Lumayan cepat, sebelum-sebelumnya lama pengiriman dapat mencapai 1 bulan.

Rangkaian bagian depan sensor detak jantung
Rangkaian bagian depan sensor detak jantung

 

Rangkaian bagian belakang sensor detak jantung
Rangkaian bagian belakang sensor detak jantung

Deskripsi komponen menurut situs Banggood:

Pulse Heart Rate Sensor Module Heart Rate Monitor

Description:

Heart rate data can be really useful whether you’re designing an exercise routine, studying your activity or anxiety levels or just want your shirt to blink with your heart beat. The problem is that heart rate can be difficult to measure. Luckily, the Pulse Sensor Amped can solve that problem!

The Pulse Sensor Amped is a plug-and-play heart-rate sensor for Arduino. It can be used by students, artists, athletes, makers, and game & mobile developers who want to easily incorporate live heart-rate data into their projects.It essentially combines a simple optical heart rate sensor with amplification and noise cancellation circuitry making it fast and easy to get reliable pulse readings. Also, it sips power with just 4mA current draw at 5V so it’s great for mobile applications.

Simply clip the Pulse Sensor to your earlobe or finger tip and plug it into your 3or5 Volt Arduino and you’re ready to read heart rate! Of course Arduino example code is available as well as a Processing sketch for visualizing heart rate data.

Package included:

1 x Pulse Heart Rate Sensor Module Heart Rate Monitor

Pada situs Banggood tidak disebutkan lebih jauh tentang cara menggunakan sensor tersebut.

Setelah dicari di sana-sini, nampaknya komponen tersebut adalah clone dari sensor yang dijual di pulsesensor.com.

Sensor detak jantung dari pulsesensor.com
Sensor detak jantung dari pulsesensor.com

Sensor detak jantung dari pulsesensor.com
Sensor detak jantung dari pulsesensor.com

Cloning yang cukup mirip, namun harganya beda jauh. Sensor dari pulsesensor dijual USD 24, dengan beberapa aksesoris tambahan, sedangkan sensor dari Banggood dijual sekitar USD 7 tanpa tambahan aksesoris.

Perbedaan visual hanyalah pada teks ‘pulsesensor.com’ yang diganti dengan ‘CJMCU’. Entah apa artinya CJMCU itu.  CJMCU ini nampaknya nama pabrik pembuatnya (http://www.cjmcu.com/)

Rangkaian sensor tersebut adalah rangkaian open source di situs pulsesensor. Namun kurang jelas apakah rangkaiannya di clone tersebut sama dengan rangkaian opensource tersebut..

Rangkaian pulse sensor - open source hardware
Rangkaian pulse sensor – open source hardware

Dari situs pulsesensor diketahui bahwa sensor tersebut menggunakan power supply 3.3 v ~ 5 V, dan outputnya adalah tegangan analog. Nantinya di mikroprosesor mesti menggunakan ADC untuk diubah menjadi besaran digital.

Sebelum dipakai, sensor dibungkus dulu dengan lem dan plastik supaya tidak terkena kontaminasi garam dari keringat. Hal dilakukan ini berdasarkan saran di http://pulsesensor.com/pages/code-and-guide

Sensor detak jantung sudah dibungkus lem dan plastik
Sensor detak jantung sudah dibungkus lem dan plastik

Sementara ini dicoba dulu tegangan outputnya dengan osiloskop.

Hasil pengukuran sinyal dengan osiloskop. 10 mV/div, 0.2 s /div.

Gambar ditangkap dengan kamera digital, dengan waktu pencahayaan 2 detik. Pada layar osiloskop terdapat 10 div, dengan masing-masing div adalah 0.2 s, maka untuk menyapu selebar layar diperlukan waktu 2 detik.

Pengukuran sinyal dari sensor detak jantung dengan osiloskop
Pengukuran sinyal dari sensor detak jantung dengan osiloskop

Pengukuran sinyal dari sensor detak jantung dengan osiloskop
Pengukuran sinyal dari sensor detak jantung dengan osiloskop

Pengukuran sinyal dari sensor detak jantung dengan osiloskop
Pengukuran sinyal dari sensor detak jantung dengan osiloskop

Pengukuran sinyal dari sensor detak jantung dengan osiloskop
Pengukuran sinyal dari sensor detak jantung dengan osiloskop

Pengukuran sinyal dari sensor detak jantung dengan osiloskop
Pengukuran sinyal dari sensor detak jantung dengan osiloskop

Berikut ini rekaman video dari osiloskop:

Tahap berikutnya adalah mempelajari tulisan di situs pulsensor dengan harapan dapat dipakai untuk mengaktifkan sensor detak jantung tersebut. Cara kerja software dijelaskan di http://pulsesensor.com/pages/pulse-sensor-amped-arduino-v1dot1, dan nampaknya cukup kompleks.

Software untuk sensor tersebut tersedia untuk platform Arduino. Untuk menampilkan sinyal di PC juga tersedia modul processing.org-nya. Berikut ini foto rangkaian Arduino nano kloning dengan pulse sensor kloning.

Rangkaian Arduino dengan sensor detak jantung
Rangkaian Arduino dengan sensor detak jantung

Untuk menampilkan output dalam bentuk grafik digunakan software PulseSensor Processing Visualizer

Tampilan processing sensor asli
Tampilan processing sensor asli

Tampilan sensor ex Banggood
Tampilan processing sensor ex Banggood

Dari perbandingan tersebut nampak bahwa sinyal dari sensor ex Banggood tegangannya lebih kecil dibandingkan sensor buatan pulsesensor.com.

Kesimpulan

  • sejauh ini oprekan masih berlangsung, jadi belum ada hasil kesimpulan

Referensi Artikel

Memilih Kemasan Mikrokontroler

Komponen mikrokontroler sering tersedia dalam berbagai kemasan, sehingga kadang membingungkan ketika kita akan membuat skema rangkaian untuk kemudian membuat layout PCB.

Misal kita mau membuat rangkaian mikrokontroler dengan ATMega8535. Cek dulu datasheet ATMega8535 untuk melihat kemasan apa saja yang tersedia.

Kemasan ATMega8535
Kemasan ATMega8535 menurut datasheet halaman 301

Misal kita ingin menggunakan kemasan yang paling mudah dipasang, yaitu PDIP (Plastic Dual Inline Package), maka kita cari kodenya, yaitu 40P6. Selanjutnya kita cek di tabel Ordering Information untuk mencari tipe ATmega8535 yang kita perlukan.

ATMega8535 ordering information
ATMega8535 ordering information

Pada tabel tersebut nampak bahwa kemasan 40P6 dipakai pada beberapa tipe ATmega8535 , yaitu:

  • ATmega8535L-8PC
  • ATmega8535L-8PI
  • ATmega8535L-8PU
  • ATmega8535L-16PC
  • ATmega8535L-16PI
  • ATmega8535L-16PU

Jadi pada software skematik yang kita pakai, kita cari satu di antara 4 tipe tersebut. Semuanya punya kemasan yang sama, hanya berbeda frekuensi dan temperatur kerjanya saja.

 

ATmega8535 dengan kemasan PDIP
ATmega8535 dengan kemasan PDIP

Berikut ini wujud fisik ATmega8535-PU dengan kemasan PDIP

ATmega8535-16PU, tentu saja dengan kemasan PDIP
ATmega8535-16PU, tentu saja dengan kemasan PDIP

Referensi

Berbagai Rangkaian Antarmuka Serial RS232

Berikut ini beberapa tips & link tentang antarmuka serial RS232.

Berikut ini rangkaian antarmuka serial dari artikel sistem Rangkaian Mikrokontroler ATMega 40 pin Serbaguna

atmega-serial-circuit
Antar muka serial RS232

Contoh rangkaian dari http://sodoityourself.com/max232-serial-level-converter/

Rangkaian antarmuka RS232
Rangkaian antarmuka serial RS232

Datasheet MAX232: http://www.ti.com/lit/ds/symlink/max232.pdf

Contoh rangkaian dari http://www.coolcircuit.com/circuit/rs232_driver/

Rangkaian RS232 dengan IC MAX232
Rangkaian RS232 dengan IC MAX232

 

Rangkaian RS232 dengan transistor
Rangkaian RS232 dengan transistor

Saran saya untuk konektor DB9 menggunakan jenis female. Alasannya:

  • konektor RS232 di PC desktop adalah DB9 male
  • konektor RS232 di USB to serial adalah DB9 male
  • Jika kita pakai DB9 female di rangkaian mikroprosesor, maka kita dapat menggunakan kabel RS232 tipe straight through/ lurus.

Berikut ini ilustrasi kabel serial dan USB serial untuk memperjelas.

Berikut ini skema kabel tipe straight through:

Skema straight through RS232 cable
Skema straight through RS232 cable.

Berikut ini foto kabel tipe straight through:

Kabel serial RS232 straight through
Kabel serial RS232 straight through

Perbedaan dengan kabel tipe lain dapat dibaca di http://digital.ni.com/public.nsf/allkb/1EE0DD8AF67922FA86256F720071DECF

Berikut ini USB to Serial dengan konektor DB9 male.

Bafo USB to Serial
Bafo USB to Serial

Berikut ini contoh sistem mikroprosesor dengan MAX232 dan konektor DB9 female. Rangkaiannya serupa dengan yang dijelaskan di  Rangkaian Mikrokontroler ATMega 40 pin Serbaguna

Konektor serial DB9 female dan MAX232
Konektor serial DB9 female dan MAX232

Jika ingin tegangan serial menggunakan TTL 5 volt ataupun 3,3 volt, dapat menggunakan modul USB to serial dengan chipset FTDI maupun CH340. Contohnya: “Konverter USB Serial FTDI” dan Konverter USB Serial CH340

Referensi:

Arduino Nano Dengan LCD Matrix JHD12864E

Spesifikasi LCD Matrix JHD12864E

  • Blue backlight
  • White dot color
  • Module size(W x H x T) : 93.0 X 70.0 X 13.0 mm
  • Viewing area(W x H) : 72.0 X 40.0 mm
  • Number of dots : 128 X 64 dots
  • Dots size(W x H) : 0.48 X 0.48 mm
  • Dots pitch(W x H) : 0.52 X 0.52 mm

Dalam contoh ini library yang digunakan untuk mengakses LCD adalah openGLCD (https://bitbucket.org/bperrybap/openglcd/wiki/Home)

Berikut ini contoh software dan outputnya:

/*
*  openGLCD Library – Hello World
*
* This sketch prints “Hello World!” to the LCD
* and shows the time in seconds since Arduino board was reset.
*
*  2013-06-15 bperrybap   – updates for openGLCD
*  2011-09-14 Bill Perry  – original creation
*      bperrybap@opensource.billsworld.billandterrie.com
*/

// include the library header
// no font headers have to be included
#include <openGLCD.h>

void setup()
{
// Initialize the GLCD
GLCD.Init();

// Select the font for the default text area
GLCD.SelectFont(System5x7);

//  GLCD.print(F(“hello, world!”)); // keep string in flash on AVR boards with IDE 1.x
//  GLCD.Puts(F(“hello, world!”)); // Puts() supports F() with any version of IDE

// print() below uses RAM on AVR boards but works
// on any version of IDE with any processor
// note: Same is true for Puts()
GLCD.print(“hello, world!”);
GLCD.CursorTo(0, 1);
GLCD.print(“EL3014 Sismik!”);
}

void loop()
{
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
GLCD.CursorTo(0, 2);

// print the number of seconds since reset:
GLCD.print(millis()/1000);
}

Arduino Nano V3 mengendalikan LCD dot matrix JHD12864

Arduino Nano V3 mengendalikan LCD dot matrix JHD12864

 

LCD Matrix JHD12864E bagian belakang
LCD Matrix JHD12864E bagian belakang

LCD Matrix JHD12864E bagian depan
LCD Matrix JHD12864E bagian depan

Menggunakan openGLCD-v1.0rc2.zip

Referensi:

 

 

 

Tegangan Mikroprosesor

Berapa tegangan untuk menyalakan rangkaian mikroprosesor?

Jawab: Tegangan yang dipakai mikroprosesor bervariasi. Beberapa tegangan yang umum dipakai adalah sebagai berikut:

  • 5 volt
  • 3.3 volt

Untuk detailnya mesti melihat datasheet mikroprosesor tersebut.

Contoh untuk ATMega16, tegangan VCC maksimal yang dapat diberikan adalah 6 volt. Hal tersebut dapat dilihat di datasheet di bagian ‘Electrical Characteristics‘, terutama di ‘Absolute Maximum Ratings‘.

ATMega16 electrical characteristics, absolute maximum ratings
ATMega16 electrical characteristics, absolute maximum ratings

Menurut datasheet tersebut, tegangan yang dapat diberikan ke ATMega16 maksimal adalah 6 volt. Pada umumnya yang diberikan adalah 5 volt, karena komponen digital lain umumnya memerlukan 5 volt.

Tegangan yang diberikan tersebut akan mempengaruhi frekuensi kerja dan arus yang dapat diberikan. Berikut ini kaitan antara arus, tegangan dan frekuensi kerja pada ATMega16.

Arus, Tegangan dan frekuensi kerja ATMega16
Arus, tegangan dan frekuensi kerja ATMega16

Demikianlah contoh untuk ATMega16. Untuk mikroprosesor tipe lain mesti dilihat detailnya di datasheet masing-masing.

Arduino Nano ex Banggood

Beberapa waktu lalu saya memesan beberapa unit clone Arduino Nano V3 melalui Banggood. Setelah hampir sebulan, barang pesanan itu akhirnya datang juga. Dari pengujian sekilas, board Arduino clone tersebut berfungsi baik.

Arduino Nano V3
Arduino Nano V3 cloning ex Tiongkok

Bulan lalu harga board tersebut adalah USD 3 per unit, sekarang nampaknya sudah naik sedikit. Tapi masih lebih murah dibandingkan beli di Indonesia.

Berikut ini perbandingan foto Arduino Nano V3 asli (sumber: http://arduino.cc/en/Main/arduinoBoardNano) dan foto Arduino Nano V3 clone

Arduino Nano V3 asli tampak atas
Arduino Nano V3 asli tampak atas

Arduino Nano V3 clone tampak atas
Arduino Nano V3 clone tampak atas

Arduino Nano V3 asli tampak bawah
Arduino Nano V3 asli tampak bawah

Arduino Nano V3 clone tampak bawah
Arduino Nano V3 clone tampak bawah

Dari foto-foto di atas, sepintas tidak ada perbedaan jauh antara Arduino Nano V3 asli dan clonenya.

Arduino Nano ukurannya jauh lebih kecil daripada Arduino Uno, dengan kemampuan yang relatif sama. Tentu saja ada kekurangannya, yaitu konektor power ditiadakan, dan konektor USB diganti menggunakan konektor mini-USB, bukan USB standar yang besar.

Arduino nano di latar depan dengan Arduino Uno di latar belakang
Arduino nano di latar depan dengan Arduino Uno di latar belakang

Salah satu keunggulan Arduino nano adalah sangat cocok untuk dipasang di breadboard, seperti nampak pada foto di bawah ini.

Arduino Nano di breadboard
Arduino Nano di breadboard

Berikut ini Arduino Nano tersebut mengendalikan sebuah LCD dot matrix

Arduino Nano V3 mengendalikan LCD dot matrix JHD12864
Arduino Nano V3 mengendalikan LCD dot matrix JHD12864

Arduino Nano V3 kloning

Arduino versi asli harganya lumayan mahal, dengan kualitas bagus.

Arduino Nano V3 versi China ada yang harganya USD 3.73, ongkos kirim ke Indonesia gratis, waktu pengiriman sekitar 35 hari biasanya.

Kalau bikin sendiri,  susah kalau mau harganya di bawah harga Shenzen 🙂 Berikut ini contoh Arduino kloningan yang dijual di situs jualan Banggood:

Arduino Nano V3 kloningan
Arduino Nano V3 kloningan di Banggood seharga USD 3.73

 

Arduino Nano v3 compatible seharga USD 3.27
Arduino Nano v3 compatible seharga USD 3.27

Arduino Nano V3 asli di Indonesia harganya sekitar Rp 150 ribuan, seperti di toko berikut ini di Jaya Plaza: http://www.centralelectro.com/catalog.php?action=show_custom&id=1801&cat=85

Arduino ini juga dapat difungsikan sebagai rangkaian ISP (In System Programming). Lumayan murah, karena USB-ASPISP programmer di Indonesia biasanya dijual seharga sekitar 100 ribuan.

UPDATE: akhirnya pesanan Arduino Nano V3 dari Banggood datang juga. Foto-fotonya ada di https://elektrologi.iptek.web.id/arduino-nano-ex-banggood/

Referensi: