Kamis, 06 Desember 2018

Arduino SHif Register dengan 74HC595

Hallo sobat arduino  Indonesia, masih pada haus untuk belajar arduino kan.

Oke kali ini sobat aka belajar tentang menggunakan shift register 74HC595, kenapa menggunakan  shift register ini, barangkali sobat ingin mengendalikan 24 led atau 32 led dengan menggunakan arduino uno / nano (yang pinnya terbatas). Bisa di gunakan IC jenis tipe ini,

oke sobat langsung saja berikut komponen yang dibutuhkan
  1. Arduino nano
  2. SHif Register 74HC595(2 buah)
  3. Kabel jumper secukupnya
  4. breadboard besar
IC Shift register  74HC595 mempunyai pin sebagai berikut :


untuk rangkainnya bisa dilihat sebagai berikut :


dan untuk kodingan adalah sebagai berikut

#define SHIFT_DATA 2
#define SHIFT_CLK 3
#define SHIFT_LATCH 4

void setup() {
  pinMode(SHIFT_DATA, OUTPUT);
  pinMode(SHIFT_CLK, OUTPUT);
  pinMode(SHIFT_LATCH, OUTPUT);


}

void loop() {
  //  int address = 0b1111111111111111;  // Case 1
//int address = 0b0000000000000000;  // Case 2
//int address = 0b0101010101010101;  // Case 3
//int address = 0b1010101010101010;  // Case 4
int address = 0b0101100110101110;  // Case 5

  shiftOut(SHIFT_DATA, SHIFT_CLK, MSBFIRST, (address >> 8)); // Load first 8 bits
  shiftOut(SHIFT_DATA, SHIFT_CLK, MSBFIRST, address);        // Load second 8 bits

  digitalWrite(SHIFT_LATCH, LOW);
  digitalWrite(SHIFT_LATCH, HIGH);
  digitalWrite(SHIFT_LATCH, LOW);
}

Selamat belajar arduino

Selasa, 04 Desember 2018

Entry data Google Spreadsheet dengan arduino ESP8266


Hallo sobat Arduino Indonesia, setelah nyoba nyoba akhirnya bisa menulis data di google spreadsheet dengan menggunakan Arduino. Ya biasanya dalam bermain-main dengan IOT butuh database khusus dimana harus setting server dan lain-lain, sekarang bisa memanfaatkan google Spreadsheet untuk keperluan itu.

Oke langsung saja, yang perlu disiapkan adalah sebagai berikut
  1. Node MCU yang berbasis ESP8266 / atau bisa wemos dan sebagainya
  2. Koneksi wifi internet
  3. dan akun Google
Langkah langkahnya sebagai berikut :
  • download library HTTPSRedirect di githubnya JhonControl 
  • Sesudah di download, copy folder HTTPSRedirect dari hasil download ke Arduino/Library
  • Buka https://script.google.com/
 

  • klik New Script
 
  • Dan replace isinya dengan hasil download sebelumnya (file code.gs)
  • Save dengan nama sembarang aja
  • Langkah selanjutnya bikin di google drive file baru spreadsheet. (kasih nama sembarang aja)
  • Nanti di bagian url atass akan ada 
 
  • copy bagian yang di bold kuning ke file script code.gs sebelumnya tadi dan save
 
  • Kalau sudah, sekarang tinggal di publish 
 


  • buka file arduino yang sudah di download tadi, nama file nya GoogleDocs.ino
 
  • Setelah itu upload, lihat di serial monitor
 
  • lihat hasilnya di spreadsheet
 

 Selamat, sekarnag sudah bisa menggunakan google spreadsheet sebagai database.
Salam Arduino Indonesia

Senin, 26 November 2018

Mode AT Command untuk bluetooth HC-06

Hallo Sobat Arduino Indonesia, Belakangan ini sering posting tentang bluetooth module. Ya karena memang akhir akhir ini banyak project yang berkaitan dengan Bluetooth. mulai dengan update firmware bluetooth biar bisa jadi HID, trus  mengganti nama bluetooth HC-05, dan sekarang butuh untuk mengganti nama di Bluetooth HC-06.

Oke, yang pertama di lakukan adalah konfigurasi dengan arduino, karena masih menggunakan arduino untuk akses serial nya


BluetoothArduino
RX11
TX10
GNDGND
5V5V

untuk codingannya menggunakan codingan yang seperti postingan sebelumnya

Dan yang membedakan adalah
  • ganti baudrate menjadi 9600 semua, 
  • di setingan serial monitornya,di pojok bawah ganti dengan no line ending
Oke sekarang mari di cek firmware nya, Modul zs-040 HC-06 terbaru memiliki firmware yang diperbarui, hc01.comV2.0. Firmware ini memiliki default berikut:
  • baud rate = 9600
  • password = 1234
  • nl/cr line endings not required.
  • AT commands are required to be in upper case
  • Firmware version = hc01.comV2.0
  • Name = HC-06
  • No parity
  • SLAVE mode
dan untuk tampilan fisik bisa dilihat ada led biru yang berkedip kedip.

Untuk ke mode AT Command, agak berbeda dengan sebelumnya

AT – untuk test connection. dapat balasan di serial monitor OK

AT+NAME untuk set nama modul, maksimal 20 karakter
AT+NAMEnamaBluetooth sets nama menjadi namaBluetooth, dapat balasan OKsetname

AT+PIN merubah PIN/password.
AT+PIN9999 – merubah PIN to 9999, dapat balasan OKsetPIN

AT+VERSION
dapat balasan firmware version – hc01.comV2.0

AT+LED mematikan led pada board yang berwarna biru

AT+LED0 – matikan LED biru, dapat balasan LED ON
AT+LED1 – nyala LED biru, dapat balasan LED ON

AT+PN sets no parity
AT+PE sets even parity
AT+PO sets odd parity

AT+BAUD untuk set baudrate
AT+BAUD1 – set  baud rate 1200,  dapat balasan OK1200
AT+BAUD2 – set baud rate 2400, dapat balasan OK2400

Baud rate lainnya
1——— 1200
2——— 2400
3——— 4800
4——— 9600
5——— 19200
6——— 38400
7——— 57600
8——— 115200
9——— 230400
A——— 460800
B——— 921600
C——— 1382400

Selamat belajar arduino, Salam Arduino Indonesia

Membedakan Bluetooth HC-05 dan HC-06 Secara kasat mata

Halo sobat Arduino Indonesia, just info saja untuk kali ini, ada sedikit tips untuk membedakan antara bluetooth HC-05 dan HC-06 secara kasat mata. Tujuannya adalah biar waktu beli tidak di boongin sama yang jualan (*bukan curcol).

Oke berikut adalah perbedaannya


  1. Jumlah header pin, untuk HC-05 ada 6 pin yang di solder, sedangkan HC-06 cuman 4 pin
  2. tombol push button, perhatikan di HC-05 kebanyakan ada tombol push buttonnya, sedangkan HC-06 tidak ada
  3. Kalau mau merhatikan secara jeli, pada bagian yang di solder di board extensionnya. HC-05 lebih banyak solderannya, sedangkan HC-06 sedikit saja.
Oke sobat Arduino Indonesia, semoga bermanfaat

Minggu, 25 November 2018

Membaca data Analog Multiplexer dengan Arduino

Hallo sobat Arduino Indonesia, Arduino Nano mempunyai pin analog sebanyak 8 pin, nah permasalahannya bagaimana jika sewaktu waktu butuh baca data analog lebih dari 8. Ada 3 pilihan sebenarnya, menggunakan 2 arduino nano, atau ganti dengan arduino mega (yang pin Analognya lebih banyak), atau menggunakan multiplexer untuk membacanya.

Pada kesempatan kali ini, saya akan menggunakan multiplexer 16 channel, dimana multiplexer ini mampu membaca 16 data analog dan output analognya hanya 1 pin analog.

Komponen yang di butuhkan adalah sebagai berikut
  1. Arduino Nano
  2. Modul multiplexer 16 Pin
  3. kabel jumper
  4. resistor
Dengan susunan rangkaian sebagai berikut :





pin C0 s/d C15 di hubungkan dengan resistor 560 ohm dan dihubungkan ke vcc, dan pada C0 ada resistor 22K ohm yang disambung ke ground.

untuk program arduinonya adalah sebagai berikut :

#define MUX_CH_COUNT 16 // Reduce this number if you use less channels
#define PIN_D_MUX_S0 8  // bit 7 of PORTB 
#define PIN_D_MUX_S1 9  // bit 6 of PORTB
#define PIN_D_MUX_S2 10 // bit 5 of PORTB
#define PIN_D_MUX_S3 11 // bit 4 of PORTB
#define PIN_A_MUX_SIG 0 // This pin will read A0 the input from the mux.

void setup() {
  pinMode(PIN_D_MUX_S0,   OUTPUT);
  pinMode(PIN_D_MUX_S1,   OUTPUT);
  pinMode(PIN_D_MUX_S2,   OUTPUT);
  pinMode(PIN_D_MUX_S3,   OUTPUT);
  Serial.begin(9600); 

 
void loop() {
  for (byte i=0; i<MUX_CH_COUNT; i++) {
    PORTB = (PORTB & B11110000) | i;
    short val = analogRead(PIN_A_MUX_SIG);
    // "val" holds the value for input "i", so you can insert your custom code here.
   
    // Print the values...
    Serial.print(i);   
    Serial.print(": ");
    Serial.print(val);
    Serial.print(" | ");   
  }
 
  Serial.println("");
  delay(1000);
}

Sesudah di uplad ke arduino, dilihat di serial monitor

pada data C0 terlihat data analognya lebih kecil dari C1 s/d C15. Disini berarti data analog sudah kebaca di C0. Untuk percobaan lainnya bisa di lakukan dengan menggunakan sensor beneran, misal menggunakan line tracer multi sensor dan lain-lain

Selamat Belajar Arduino, Salam Arduino Indonesia


Rabu, 07 November 2018

Mengganti Nama Bluetooth HC05 dengan arduino

Hallo sobat arduino Indonesia, sebenernya dari dulu pengen posting ini tapi baru kesampaian sekarang. Oke seringkali kita menggunakan modul bluetooth HC05/HC06 untuk keperluan robotika, entah itu untuk mengendalikan robot atau untuk transfer data.

Nah terkadang kalau kita menggunakan banyak bluetooth, semuanya default namanya sama yaitu HC05 atau HC06, biar beda sebenarnya kita bisa merubah nama dari masing-masing bluetooth. sehingga mudah untuk dikenali.

yang harus dilengkapi adalah
  • Bluetooth HC05
  • Arduino Nano
  • Breadboard
BluetoothArduino
RX11
TX10
GNDGND
5V5V
EN9
untukcoding arduinonya bisa sebagai berikut :

/*

AUTHOR: Hazim Bitar (techbitar)
DATE: Aug 29, 2013
LICENSE: Public domain (use at your own risk)
CONTACT: techbitar at gmail dot com (techbitar.com)

*/


#include <SoftwareSerial.h>

SoftwareSerial BTSerial(10, 11); // RX | TX

void setup()
{
  pinMode(9, OUTPUT);  // this pin will pull the HC-05 pin 34 (key pin) HIGH to switch module to AT mode
  digitalWrite(9, HIGH);
  Serial.begin(9600);
  Serial.println("Enter AT commands:");
  BTSerial.begin(38400);  // HC-05 default speed in AT command more
}

void loop()
{

  // Keep reading from HC-05 and send to Arduino Serial Monitor
  if (BTSerial.available())
    Serial.write(BTSerial.read());

  // Keep reading from Arduino Serial Monitor and send to HC-05
  if (Serial.available())
    BTSerial.write(Serial.read());
}

  • setelah di upload, tekan button di modul bluetooth , kemudian colokkan usb ke komputer/leptop. Sampai led indikator pada bluetooth kedipnya pelan (pertanda sudah masuk ke ATCOMMAND)
  • Buka Serial monitor, set baudrate 9600 dan Both NL&CR
  • ketik AT maka akan mucul respond OK
  • ketik AT+NAME=namabluetooth 
  • kalau sudah ada respond OK berarti nama bluetooth sudah tergantikan
 
  • Selamat sobat arduino Indonesia sudah bisa menggantikan nama bluetooth 
Beberapa perintah AT COMMAND
AT : Ceck the connection.
AT+NAME : See default name
AT+ADDR : see default address
AT+VERSION : See version
AT+UART : See baudrate
AT+ROLE: See role of bt module(1=master/0=slave)
AT+RESET : Reset and exit AT mode
AT+ORGL : Restore factory settings
AT+PSWD: see default password

link atcommand

Selasa, 06 November 2018

Mengambil Foto dengan Arduino YUN

Hallo sobat Arduino Indonesia, masih dengan Arduino YUN (mumpung ada yang lagi dikerjakan). Oke setelah kemarin sudah sukses mengaktifkan streaming camera, sekarang adalah bagaimana mengambil gambar/foto trus di simpan kedalam memory card yang ada di arduino shield YUN.

Yang harus di persiapkan
  • Arduino Uno + Shield YUN
  • Memory Card
  • Camera UVC (saya menggunakan logitech C170)


Langkah sebagai berikut :
  • install UVC driver dll seperti postingan sebelumnya 
  • Buka smarTTY atau putty
  • Install fswebcam | Ketik : opkg install fswebcam



 

  • masuk ke memory card | ketik : cd /mnt/sda1
  • lihat file yang ada di memory card | ketik : ls 
  • capture gambar | ketik : fswebcam test1.jpg
  • buka lewat filezila dan download image (test1.jpg) yang ada di sdcard  

  • apabila mengalami gambar yang hitam full bisa di coba mengambil yang frame ke 21 dengan cara ketik : fswebcam  test2.jpg -S 20

Stream Camera USB dengan Dragino Yun Shield

Hallo Sobat Arduino Indonesia, Masih semangat belajar arduino nya :). Pada kesempatan kali ini saya akan share bagaimana cara mengaktifkan kamera usb dengan menggunakan shield Dragino Yun.
Oke yang perlu di siapkan adalah sebagai berikut

  • Arduino Uno R3 (minimal Grade ori) jangan pakai yang driver ch340 atau versi china lainnya biar mudah instalasinya
  • Shield Dragino Yun
  • Camera USB (Kebetulan saya menggunakan Logitech C170)
  • Power Supply arduino 12V
Langkah langkahnya sebagai berikut :
  • pasang jumper pada arduino uno
 
  • pasang shield dragino yun ke arduino nano
  • colokkan power supply
Langkah Pertama
  • untuk yang pertama kali makan di wifi leptop kalian akan muncul ssd :Dragino-xxxx
  
  • Setelah connect, maka bisa masuk ke dragino yun shieldnya (192.168.240.1)
  •  password standart (dragino)


  •  masuk ke system dan setting sesuai dengan wifi local yang sudah ada
  • Setelah semuanya selesai, akan restart sendiri, dan komputer/leptop kembali konek ke wifi local yang sudah ada.
  • Untuk mencari ip dragino yang sudah konek dengan wifi, bisa mnggunakan ipscanner.
Langkah kedua
  • setelah kamera usb di colokkan pada port usb
  • install putty atau smarTTY (pada kali ini saya menggunakan smarTTY)
  • untuk username isi root, password dragino (reguler)
  • Update terlebih dulu package installer database | ketik : opkg update


  •  Selanjutnya install UVC Driver | ketik : opkg install kmod-video-uvc
  • install streaming video library | ketik : opkg install mjpg-streamer
  • cek apakah kamera sudah konek dengan usb | ketik : ls -l /dev/video0 




  • jika responnya 'No such file or directory' berarti camera belum terkonekkan, atau bukan kamera uvc cam
  • Start broadcast dari video stream, dimana setelah -r adalah ukuran gambarnya, setelah -f adalah nomor frame per second, setelah -p adalah port streaming
mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 640x480 -f 24" -o "output_http.so -p 8080 -w /www /webcam"

  • buka browser dan ketik http://nomoripkamu:8080/stream.html
  • maka akan muncul sebagai berikut 

  • Selamat sobat arduino sudah bisa akses camera usb lewat arduino

Jumat, 19 Oktober 2018

Kontrol BLDC Hoverboard motor dengan Arduino

Hallo, sobat Arduino Indonesia, bagaimana kabar hari ini? :)
pada postingan kali ini kita akan membahas bagaimana cara mengontrol BLDS Hoverboard motor dengan menggunakan driver motor BLDC-8015A

Hardware yang digunakan:
- Arduino Nano.
- BLDC-8015A.

Software:
- Arduino IDE.

BLDC Hoverboard Wheel (U,V,W dan HU,HV,HW)

BLDC Motor ini dilengkapi dengan 3 kabel power yaitu: U, V, W dan juga terdapat Hall sensor dengan kabel HU, HV, HW.

berikut ini penampakan dari Driver motor yang akan kita gunakan:

BLDC Motor Driver

Sobat bisa membelinya di BLDC Driver motor Aliexpress, Silahkan untuk membaca datasheet dari official websitenya untuk mengetahui apakah dapat berkerja dengan sistem yang akan sobat buat.

Oke, langsung saja kita lanjutkan pada rangkaian koneksi dari driver motor ke Arduino.

Diagram by: Muchammad Sobrun Ibnu Atfal
Berikut program pada Arduino IDE:

#define Pin13LED         13 

int speedInput  = 5;
int brake       = 6;
int enableInput = 7;
int dir         = 8;

int maxpwm = 255;
int minpwm = -255;

void setup() {
  // put your setup code here, to run once:
pinMode(speedInput, OUTPUT);
pinMode(brake, OUTPUT);
pinMode(enableInput, OUTPUT);
pinMode(dir, OUTPUT);

pinMode(Pin13LED, OUTPUT);
}

void sobsegway(int a)
{
digitalWrite(enableInput, LOW);

if (a > maxpwm){
   a = maxpwm;
  }
else if(a < minpwm){
   a = minpwm;
  }

if( a < 0 )
  {
    int c = a*-1;
    analogWrite(speedInput,c);
    digitalWrite(dir,LOW);     
  }
  else
  {
    analogWrite(speedInput,a);
    digitalWrite(dir,HIGH);   
  }

  digitalWrite(brake,HIGH);
}


void loop() {
  sobsegway(100); // maju kecepatan 100
  delay(1000);    // delay 1 second
  sobsegway(-100);// mundur kecepatan 100
  delay(1000);    // delay 1 second
}

Dengan memanfaatkan salah satu pin hall sensor pada motor yang dikoneksikan dengan pin interrupt Arduino, kita dapat melihat berapa kecepatan motor saat motor berputar.

Kamis, 18 Oktober 2018

Komunikasi Serial RS485, Dari PC ke Arduino.

Hallo sobat Arduino Indonesia, pada postingan kali ini kita akan membangun sebuah komunikasi serial RS485 antara PC ke Arduino dengan menggunakan modul RS485 TTL Converter. Menurut datasheet panjang kabel yang bisa kita gunakan menggunakan komunikasi ini bisa mencapai 1,200m. namun sejauh ini yang sudah pernah dicoba hanya sepanjang 1m.

Hardware yang kita gunakan antara lain:
1. Arduino NANO 4 buah sebagai slave.
2. Modul MAX485 4 buah.
3. USB to RS485 1 buah.
4. PC/Notebook sebagai master.

Software:
- Arduino IDE (saya menggunakan versi 1.8.3)

Berikut rangkaian schematicnya:


Oke, sekarang langsung saja ke program:

#include <SoftwareSerial.h> 

#define SSerialRX        10  //Pin R1 pada RS485 TTL Converter 
#define SSerialTX        11  //Pin D1 pada RS485 TTL Converter 
#define SSerialTxControl 3   //Pin DE dan RE pada RS485 TTL Converter

#define RS485Transmit    HIGH 
#define RS485Receive     LOW  

String inputString = "";
boolean stringComplete = false;

SoftwareSerial RS485Serial(SSerialRX, SSerialTX);

void setup() {
// put your setup code here, to run once:
pinMode(SSerialTxControl, OUTPUT);
digitalWrite(SSerialTxControl, RS485Receive);
RS485Serial.begin(115200);   //setting baudrate
inputString.reserve(200);
}

void serialEvent() {
  while (RS485Serial.available()) {
    char inChar = (char)RS485Serial.read();
    inputString += inChar;
    if (inChar == '\n') {
      stringComplete = true;
      digitalWrite(SSerialTxControl, RS485Transmit);
    }
  }
}

void loop() {
// put your main code here, to run repeatedly:
if (RS485Serial.available()> 0 ){
    inputString = RS485Serial.readString();
    String Start = inputString.substring(0,10);
    
    digitalWrite(SSerialTxControl, RS485Transmit);
    RS485Serial.println("OK");
    RS485Serial.print("Data : ");
    RS485Serial.println(Start);
    digitalWrite(SSerialTxControl, RS485Receive);  
    }}

Berikut ini merupakan hasil dari Serial Monitor pada Arduino IDE:




Senin, 08 Oktober 2018

DIY Bluetooth HID dari bluetooth HC05/HC06

hallo sobat arduino, pada kesempatan kali ini saya akan berbagi bagaimana caranya menjadikan bluetooth HC05/HC06 menjadi bluetooth HID (Human Interface Device). Sebenarnya sih sudah ada kalau beli langsung Bluetooth HID, tapi harganya bisa 20x lipat dari harga bluetooth HC05/HC06. jadi tinggal pilih mana, mau update atau mau beli langsung.

Oke langsung saja, pertama yang perlu disiapkan adalah
Langkah instalasi software
  • install bluesite
  • copy dan replace file usbisp.dll (dari csr-spi-ftdi-0.5.1\csr-spi-ftdi-0.5.1\lib-win32) ke dalam instalan bluesite, di folder (Program Files (x86)\CSR\BlueSuite 2.6.6) 
  • buka file zadig-2.4.exe dan sambungkan kabel downloader ke ftdi yang sudah di siapkan

  • replace driver dengan libusbK
  •  Jalankan blueflash
  • klik stop processor


  •  klik dump untuk mendapatkan firmware aslinya bluetooth yang akan dirubah, kemudian simpan file dump.xpv di hardisk
  • Start prosesor kembali 
  • Jalankan PSTOOL
  • pilih seperti di bawah ini

  • klik ok

  • Klik file -> dump dan simpan file dump.psr di folder yang sudah di tentukan.


  • buka file dump.psr yang sudah di create sebelumnya,
  • bikin new file  update.psr. kemudian copykan file berikut ini dari dump ke update (tiap-tiap bluetooth mempunyai alamat yang berbeda-beda)
    • // PSKEY_BDADDR
    • // PSKEY_ANA_FTRIM
    • // PSKEY_ANA_FREQ

  •  Buka kembali blueflash, kemudian klik stop prosesor, dan klik choose file, pilih rn-42.xpv dan klik download



  • Setelah complete, silahkan klik start prosesor kembali, kemudian buka pstool.
  • pada tahap ini adalah merubah adress bluetooth bawaannya software rn-42 dengan address sebelumnya yang sudah di amankan  terlebih dahulu.
  • klik file -> merge dan pilih update.psr, klik open.
  • klik entry-read entry

  • Alamat bluetooth akan berubah seperti sebelumnya

  • selamat anda berhasil merubah bluetooth biasa menjadi bluetooth HID
sambunkan hasil bluetooth HID dengan arduino
dengan konfigurasi
tx bluetooth ke pin 8
rx bluetooth ke pin 9
vcc ke 5v
gnd ke gnd

dan program berikut ini

/*nolineending
 * $$$
 * newline
 * SF,1
 * S~,6
 * SN,nama bluetooth
 * SH,0230
 * R,1 -->reboot
 */

#include <SoftwareSerial.h>

//#define RX_PIN 10
//#define TX_PIN 9

#define RX_PIN 8
#define TX_PIN 9

SoftwareSerial swSer(RX_PIN,TX_PIN);

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  swSer.begin(115200);
}

void loop() {
  // put your main code here, to run repeatedly:
while(swSer.available()>0)
{
  Serial.write(swSer.read());
}
while(Serial.available()>0)
{
  swSer.write(Serial.read());
}
}
buka serial monior dan ketikkan berikut ini

$$$ --> cmd
SF,1 -->AOK
S~,6 -->AOK
SN,nama bluetooth-->AOK
SH,0230-->AOK
R,1 -->reboot