Jumat, 18 Januari 2019

Arduino I2C Scanner

Assalamu'alaikum WR.WB...

Hallo...
Apakabar hari ini?

kali ini saya ingin share tools yang sangat sering digunakan untuk kebutuhan informasi yaitu I2C Scanner.

Langsung saja ini code nya...





/*
   Jefri Herdi Triyanto
   Email: jefripunza@gmail.com
   Instagram: @jefripunza
*/

#include <Wire.h>






void setup() {
  Wire.begin();
  Serial.begin(9600);
  while (!Serial);

  Serial.println("#============o0o=============#");
  Serial.println("#         I2C Scanner        #");
  Serial.println("#   Explored by @jefripunza  #");
  Serial.println("#============================#");

  Cari_Alamat();
}




void loop() { }





void Cari_Alamat()  {
  byte respon, alamat, modul = 0;

  Serial.println("Scanning...");
  Serial.println();

  for (alamat = 0; alamat < 127; alamat++) {
    Wire.beginTransmission(alamat);
    respon = Wire.endTransmission();
    switch (respon) {
      case 0:
        Serial.print("  ");
        Serial.print(modul + 1);
        Serial.print(". Alamat = 0x");
        if ( alamat < 16 ) Serial.print("0");
        Serial.println(alamat, HEX);
        modul++;

        break;

      case 4:
        Serial.print("  - Error ");
        if ( alamat < 16 ) Serial.print("0");
        Serial.println(alamat, HEX);
    }
  }
  Serial.println();

  if (modul > 0) {
    Serial.print("Ditemukan ");
    Serial.print(modul);
    Serial.println(" modul I2C.");
  } else {
    Serial.println("Tidak ada modul I2C.");
  }

  delay(2000);
}





setelah di upload ke arduino, pasang perangkat apapun yang punya koneksi ke I2C lalu silahkan buka "Serial Monitor" dan lihatlah akan muncul address I2C yang kita butuhkan untuk informasi programming.

Have Fun....
Share:

Arduino Split | data String yang di pisah dan banyak data Integer dari data split

Assalamualaikum WR.WB...
 Apakabar semua, mudah2an tetap diberi kesehatan dan kemudahan dalam menjalani hari-hari.

disini saya akan memberikan sebuah code arduino untuk memisahkan beberapa data dalam satu data string (split) yang mana data2 itu bisa kita pakai dalam bentuk integer (convert).

Jadi beginilah code nya...




/*
   Jefri Herdi Triyanto
   Email: jefripunza@gmail.com
   Instagram: @jefripunza

  program ini berguna untuk mengganti jenis transfer data dari byte (susah) menjadi mudah dengan metode SPLIT menggunakan data string.
*/


//                                      1   2   3   4   5   6   7   8
String myString = "Tulis Bebas Di sini|123|456|789|010|101|135|246|110|";

unsigned long perhitungan; //menghitung data yang sudah di split/pisah

char delimited = '|'; //pemisah (bisa dirubah sesuai kebutuhan/samakan dengan format string data)




void setup() {
  Serial.begin(9600);
}






void loop() {

  //Pemisah / delimited (hitung jumlah delimited)
  int Index1 = myString.indexOf(delimited);
  int Index2 = myString.indexOf(delimited, Index1 + 1);
  int Index3 = myString.indexOf(delimited, Index2 + 1);
  int Index4 = myString.indexOf(delimited, Index3 + 1);
  int Index5 = myString.indexOf(delimited, Index4 + 1);
  int Index6 = myString.indexOf(delimited, Index5 + 1);
  int Index7 = myString.indexOf(delimited, Index6 + 1);
  int Index8 = myString.indexOf(delimited, Index7 + 1);
  int Index9 = myString.indexOf(delimited, Index8 + 1);

  //pembacaan split text dari data String
  String satuValue    = myString.substring(Index1 + 1, Index2);
  String duaValue     = myString.substring(Index2 + 1, Index3);
  String tigaValue    = myString.substring(Index3 + 1, Index4);
  String empatValue   = myString.substring(Index4 + 1, Index5);
  String limaValue    = myString.substring(Index5 + 1, Index6);
  String enamValue    = myString.substring(Index6 + 1, Index7);
  String tujuhValue   = myString.substring(Index7 + 1, Index8);
  String delapanValue = myString.substring(Index8 + 1, Index9);

  //convert data String ke Integer
  int satuValueInt     = satuValue.toInt();
  int duaValueInt      = duaValue.toInt();
  int tigaValueInt     = tigaValue.toInt();
  int empatValueInt    = empatValue.toInt();
  int limaValueInt     = limaValue.toInt();
  int enamValueInt     = enamValue.toInt();
  int tujuhValueInt    = tujuhValue.toInt();
  int delapanValueInt  = delapanValue.toInt();

  //print hasil ke Serial
  //*/
  perhitungan = perhitungan + 1;
  Serial.print("Data ke: ");
  Serial.print(perhitungan);
  Serial.print("= ");
  //*/
  Serial.print(satuValueInt);
  Serial.print(" ");
  Serial.print(duaValueInt);
  Serial.print(" ");
  Serial.print(tigaValueInt);
  Serial.print(" ");
  Serial.print(empatValueInt);
  Serial.print(" ");
  Serial.print(limaValueInt);
  Serial.print(" ");
  Serial.print(enamValueInt);
  Serial.print(" ");
  Serial.print(tujuhValueInt);
  Serial.print(" ");
  Serial.print(delapanValueInt);
  Serial.println();

  //delay(100);
}

Maka hasilnya seperti ini...

Share:

Cari Blog Ini

Tentang

Blog ini adalah sarana untuk mencari informasi tentang NeoPlan dan sub konsentrasi.