Minggu, 24 Maret 2019

Install PIXY 2 Arduino

Hallo sobat arduino, Pixy 2 ini sebenarnya sudah ada sejak tahun 2018 tapi saya baru sempat untuk mencobanya, karena yang pixy original yang dulu sudah pernah saya posting disini sudah bisa banyak membantu untuk kegiatan image processing dengan arduino.

Pixy 2 unboxing

Yang perlu di persiapkan adalah, 
- pixymon versi 2 bisa di download disini (download)
- pixy2 firmware (download)
- Arduino library pixy2 (download)

Setelah didownload semua, 
Install program pixymon v2

Install pixymon V2


Install complete

Jalankan pixymon dan install firmware, yang sebelumnya sudah di download

Pixy v2 siap digunakan.

Untuk membaca program dengan arduino install terlebih dahulu library pixy 2

Salam Arduino Indonesia


Rabu, 20 Maret 2019

membaca data IMU gy-25 dengan Arduino

Hallo Sobat Arduino, GY-25 merupakan IMU sensor dengan output yang berupa pitch, yaw, roll. Bedanya dengan IMU seri yang lainnya adalah gy25 mempunyai pemrosesan data tersendiri sehingga output langsung YPR, dan tidak memerlukan filter-filter lagi.


Pinout:
Pin1 VCC Power + (3v-5v)
Pin 2 RX Receiving data from serial
Pin 3 TX Serial data transmission
Pin 4 GND Power Ground
Pin 5 RST Internal use, no connection, vacant
Pin 6 B0 Internal use, no connection, vacant
Pin 7 SCL I2C clock
Pin 8 SDA I2C data

Spesifikasi:
Measuring range -180 ° 1 °
Resolution 0.01 °
measurement accuracy 1
Repeatability 1
Frequency response 100 HZ (115200bps)
Operating Voltage 35 V
Working current 15mA
Operating temperature -20 ° 8 °
Storage temperature -40 ° 1 °
size 11.5mm × 15.5mm

Komunikasi Serial UART
Baud rate: 115200 bps Parity bit: N Data bits: 8 Stop bits: 1 (DEFAULT)
Baud rate: 9600 bps Parity bit: N Data bits: 8 Stop bits: 1

ada beberapa perintah serial untuk melakukan konfigurasi dan pembacaan data dari sensor
  1. 0xA5 + 0x51: query mode, kirim data sensor ketika ada permintaan
  2. 0xA5 + 0x52: Automatic mode, kirim data sensor secara realtime dalam bentuk biner
  3. 0xA5 + 0x53: Automatic mode, kirim data sensor secara realtime dalam bentuk ASCII
  4. 0xA5 + 0x54: correction mode, Kalibrasi roll pitch. tahan beberapa detik sebelum melakukan kalibrasi
  5. 0xA5 + 0x55: correction mode, kalibrasi kompas. Kompas akan diset ke 0 ketika perintah ini dikirim
Untuk konfigurasi rangkaian, saat percobaan ini menggunakan arduino Mega, dengan memanfaatkan serial 3 di arduino mega

Susunan pin 
Mega - gy 25
5v  ---- vcc
gnd ---- gnd
TX3 --- RX
RX3 ---- TX

untuk coding programnya

void setup(){
 Serial.begin(115200); // Aktif Serial monitor
 Serial3.begin(115200); // Aktif Serial GY25
Serial.println("kalibrasi");
 delay(3000);

 // Kalibrasi Tilt
 Serial3.write(0xA5);
 Serial3.write(0x54);

 delay(1000);
 Serial.println("kalibrasi Tilt done");

 // Kalibrasi Heading
 Serial3.write(0xA5);
 Serial3.write(0x55);

 delay(100);
 Serial.println("kalibrasi Heading done");
 // Output ASCII
 Serial3.write(0xA5);
 Serial3.write(0x53);

 delay(100);
}

void loop(){
 // Baca data realtime
 Serial.println(Serial3.readStringUntil('\n'));
}

Hasil di serial monitor

Catatan :
Sensor akan kalibrasi ketika power di hidupkan, kurang lebih 3000ms, dan harus dalam keadaan diam (tidak bergerak).

Minggu, 13 Januari 2019

Menjalankan Servo tanpa menggunakan delay (servo milis)

Hallo sobat Arduino Indonesia. Servo merupakan salah satu jenis aktuator yang ada kontrol baliknya (loop) berupa potensiometer untuk mendapatkan putaran sesnuai dengan derajat yang dimasukkan.

Jenis Servo di bagi menjadi 2, servo continues (360 derajat) dan non contiunes (180 derajat).

pada kesempatan kali ini sobat akan belajar bagaimana mengendalikan motor servo tapi tidak menggunakan delay, artinya ada beberapa alasan kenapa perintah delay tidak digunakan dalamsuatu pemrograman. Salah satunya adalah jika ingin multitasking maka akan sulit untuk menentukan, karena delay tidak bisa di ganggu kecuali dengan perintah interupt.

Oke langsung saja,
bahan yang di butuhkan
  • Arduino Nano
  • Servo
  • Kabel Jumper
Cara Instalasi
Sambungkan Kabel Kuning/Orange ke pin 9
Kabel merah ke 5v
kabel  hitam ke GND


Program


#include<Servo.h>
Servo myServo;
int servoPin =  9;

int pos;

void setup() {
// put your setup code here, to run once:
 
  Serial.begin(9600); //default comm speed between arduino and serial monitor. no need to change.
  Serial.println("Servo with milis");  // so we know what sketch is running
  myServo.attach(servoPin);
}

void loop() {
  // put your main code here, to run repeatedly:
 
  currentMillis = millis();   // capture the latest value of millis()
  moveservo(70,110,500,500);

}

void moveservo(int pos1, int pos2, int interval1, int interval2) {

  if (pos == pos1) {
    if ((unsigned long) currentMillis - previousMillis >= interval1) {
      pos = pos2;
      myServo.write(pos);
      // and save the time when we made the change
      previousMillis += interval1;
      }
  }
  else { 
      if ((unsigned long) currentMillis - previousMillis >= interval2) {
      pos = pos1;
      myServo.write(pos);
      // and save the time when we made the change
      previousMillis += interval2;
    }
  }
Selamat Belajar Arduino, Salam Arduino Indonesia

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