Sabtu, 09 Mei 2026

SET RTC

 

Berikut adalah kode dasar khusus untuk setting jam RTC DS1307

Kode ini cukup di-upload sekali saja ke ESP32 untuk mengisi waktu ke modul RTC. Setelah itu, RTC akan tetap berjalan sendiri selama baterai RTC terpasang.

#include 
#include "RTClib.h"

// Pin I2C ESP32
#define I2C_SDA_PIN 21
#define I2C_SCL_PIN 22

RTC_DS1307 rtc;

void setup() {
  Serial.begin(115200);
  delay(1000);

  Wire.begin(I2C_SDA_PIN, I2C_SCL_PIN);

  Serial.println("Inisialisasi RTC DS1307...");

  if (!rtc.begin()) {
    Serial.println("RTC DS1307 tidak terdeteksi!");
    Serial.println("Periksa kabel SDA, SCL, VCC, dan GND.");
    while (1);
  }

  Serial.println("RTC DS1307 terdeteksi.");

  /*
    PILIH SALAH SATU CARA SETTING WAKTU
  */

  // =====================================================
  // CARA 1: Set otomatis berdasarkan waktu compile/upload
  // =====================================================
  rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));

  // =====================================================
  // CARA 2: Set manual
  // Aktifkan baris di bawah ini jika ingin set waktu manual
  // Format: DateTime(tahun, bulan, tanggal, jam, menit, detik)
  // =====================================================
  // rtc.adjust(DateTime(2026, 5, 10, 14, 30, 0));

  Serial.println("Waktu RTC berhasil disetting.");

  DateTime now = rtc.now();

  Serial.print("Tanggal: ");
  Serial.print(now.day());
  Serial.print("/");
  Serial.print(now.month());
  Serial.print("/");
  Serial.println(now.year());

  Serial.print("Jam: ");
  Serial.print(now.hour());
  Serial.print(":");
  Serial.print(now.minute());
  Serial.print(":");
  Serial.println(now.second());

  Serial.println("Selesai. RTC sekarang sudah berjalan.");
}

void loop() {
  DateTime now = rtc.now();

  Serial.print("RTC: ");
  Serial.print(now.day());
  Serial.print("/");
  Serial.print(now.month());
  Serial.print("/");
  Serial.print(now.year());

  Serial.print(" ");
  Serial.print(now.hour());
  Serial.print(":");
  Serial.print(now.minute());
  Serial.print(":");
  Serial.println(now.second());

  delay(1000);
}



Upload kode di atas sekali saja ke ESP32. Setelah waktu RTC sudah benar, jangan gunakan kode rtc.adjust() lagi di aplikasi utama, karena baris itu akan mengatur ulang jam setiap ESP32 restart.

Di aplikasi lain nanti, cukup gunakan bagian seperti ini:

#include 
#include "RTClib.h"

#define I2C_SDA_PIN 21
#define I2C_SCL_PIN 22

RTC_DS1307 rtc;

void setup() {
  Serial.begin(115200);

  Wire.begin(I2C_SDA_PIN, I2C_SCL_PIN);

  if (!rtc.begin()) {
    Serial.println("RTC tidak terdeteksi!");
    while (1);
  }

  if (!rtc.isrunning()) {
    Serial.println("RTC belum berjalan atau baterai lemah.");
  } else {
    Serial.println("RTC sudah berjalan.");
  }
}

void loop() {
  DateTime now = rtc.now();

  Serial.print("Jam sekarang: ");
  Serial.print(now.hour());
  Serial.print(":");
  Serial.print(now.minute());
  Serial.print(":");
  Serial.println(now.second());

  delay(1000);
}

Intinya:

rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));

dipakai hanya saat setting awal RTC.

Sedangkan pada aplikasi utama, cukup pakai:

DateTime now = rtc.now();

Juga Pastikan baterai kecil pada modul DS1307 terpasang, biasanya tipe CR2032, supaya waktu tetap berjalan meskipun ESP32 dimatikan.

Sabtu, 20 Juli 2024

AT Command On UNO

Untuk menghubungkan perangkat Arduino UNO dengan WiFi, Anda memerlukan modul WiFi tambahan karena Arduino UNO tidak memiliki kemampuan WiFi bawaan. Salah satu modul yang populer digunakan adalah ESP8266. Berikut adalah langkah-langkah untuk menggunakan modul ESP8266 dengan Arduino UNO:

Bahan yang Dibutuhkan:

  1. Arduino UNO
  2. Modul ESP8266 (misalnya ESP-01)
  3. Breadboard dan kabel jumper
  4. Komponen pendukung (seperti resistor, kapasitor, dan konverter level logika jika diperlukan)

Langkah-Langkah:

1. Koneksi Hardware:

Hubungkan ESP8266 dengan Arduino UNO sebagai berikut:

  • ESP8266 TX -> Arduino RX (pin 0)
  • ESP8266 RX -> Arduino TX (pin 1) (gunakan konverter level logika jika diperlukan karena ESP8266 bekerja pada 3.3V sementara Arduino bekerja pada 5V)
  • ESP8266 CH_PD -> 3.3V
  • ESP8266 VCC -> 3.3V
  • ESP8266 GND -> GND
  • ESP8266 GPIO0 -> GND (untuk mode pemrograman, lepaskan setelah pemrograman)

Pastikan untuk memasok daya 3.3V yang cukup ke modul ESP8266 karena modul ini tidak bisa bekerja dengan tegangan 5V langsung dari Arduino.

2. Menginstal Library:

Anda perlu menginstal beberapa library di Arduino IDE untuk memudahkan pengoperasian ESP8266.

  1. ESP8266WiFi Library:

    • Buka Arduino IDE.
    • Pergi ke Sketch -> Include Library -> Manage Libraries.
    • Cari "ESP8266WiFi" dan instal library.
  2. SoftwareSerial Library:

    • Ini diperlukan jika Anda menggunakan pin lain selain pin 0 dan 1 untuk berkomunikasi dengan ESP8266.

3. Kode Contoh:

Berikut adalah contoh kode untuk menghubungkan Arduino UNO dengan WiFi menggunakan modul ESP8266:
 

#include <SoftwareSerial.h>
SoftwareSerial espSerial(2, 3); // RX, TX 
void setup() {
  // Initialize serial for debugging
  Serial.begin(9600);
  // Initialize serial for ESP8266
  espSerial.begin(115200);

  // Set ESP8266 to WiFi mode
  sendCommand("AT+CWMODE=1", 1000);
  // Connect to WiFi network
  sendCommand("AT+CWJAP=\"SSID\",\"PASSWORD\"", 5000);
// Replace with your network SSID and password

  // Check IP address
  sendCommand("AT+CIFSR", 1000);
}

void loop() {
  if (espSerial.available()) {
    Serial.write(espSerial.read());
  }
  if (Serial.available()) {
    espSerial.write(Serial.read());
  }
}

void sendCommand(String command, int timeout) {
  String response = "";

  espSerial.println(command);
  long int time = millis();
  while ((time + timeout) > millis()) {
    while (espSerial.available()) {
      char c = espSerial.read();
      response += c;
    }
  }
  Serial.print(response);
}


Minggu, 25 Juli 2021

Hitung Fuzzy Manual Menggunakan Arduino

  


Dimensi Rule =4x2

0 1  =>0

0 0  =>0

1 1  =>1

1 0  =>1

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Baca Sensor Loop

Turun2: (5000.00-4000.00)/(5000.00-1000.00) = 0.25

Naik1: (4000.00-1000.00)/(5000.00-1000.00) =0.75

Turun2: (600.00-300.00)/(600.00-100.00) = 0.60

Naik1: (300.00-100.00)/(600.00-100.00) =0.40

1. Alpha1 Rule 0 + 1 => 0 (Turun) =Min(0.25,0.40)=>0.25

Turun1 =7000.00 - (0.25 * (7000.00-2000.00) = 5750.00

   #Predikat1 5750.00

2. Alpha2 Rule 0 + 0 => 0 (Turun) =Min(0.25,0.60)=>0.25

Turun1 =7000.00 - (0.25 * (7000.00-2000.00) = 5750.00

   #Predikat2 5750.00

3. Alpha3 Rule 1 + 1 => 1 (Naik) =Min(0.75,0.40)=>0.40

Naik1 = (0.40 *(7000.00-2000.00)) + 2000.00 = 4000.00

   #Predikat3 4000.00

4. Alpha4 Rule 1 + 0 => 1 (Naik) =Min(0.75,0.60)=>0.60

Naik1 = (0.60 *(7000.00-2000.00)) + 2000.00 = 5000.00

   #Predikat4 5000.00

Data Pembilang Fuzzy: 

(0.25 * 5750.00) + (0.25 * 5750.00) + (0.40 * 4000.00) + (0.60 * 5000.00) = 7475.00 =7475.00

Dibagi Penyebut Alpha: 

0.25 + 0.25 + 0.40 + 0.60 =1.50

HASIL DEFUZZYFIKASI: 4983.33

---------------------------------------------------------------

--------HITUNG ULANG BACA SENSOR-----------

---------------------------------------------------------------



Sebagai Berikut Engine Utamanya:

float cekMin(float dV1,float dV2){

    float hslMin=dV1;

    if(dV2<dV1){hslMin=dV2;}

  return hslMin;

}

float getFuzzy(String lvl,float Vz,float Vmx,float Vmn){

float fuzzy=-1; 

String gab="";

  if(lvl=="Turun"){

      if (Vz<=Vmn){fuzzy=1;gab="Turun1: "+String(fuzzy);}

      else if (Vz<=Vmx){

        fuzzy=(Vmx-Vz)/(Vmx-Vmn);

        gab="Turun2: ("+String(Vmx)+"-"+String(Vz)+")/(" +String(Vmx)+"-"+String(Vmn)+") = "+String(fuzzy);

      }

      else if (Vz>=Vmx){fuzzy=0;gab="Turun3: "+String(fuzzy);}

  }//lvl

  else if(lvl=="Naik"){

      if (Vz<=Vmn){fuzzy=0;gab="Naik1: "+String(fuzzy);}

      else if (Vz<=Vmx){

        fuzzy=(Vz-Vmn)/(Vmx-Vmn);

        gab="Naik1: ("+String(Vz)+"-"+String(Vmn)+")/("+String(Vmx)+"-"+String(Vmn)+") =" +String(fuzzy);

      }

      else if (Vz>=Vmx){fuzzy=1;gab="Naik3: "+String(fuzzy);}

  }//lvl

  cetak (gab);

return fuzzy;

 }//float


float getPredikat(String lvl,float Vz,float Vmx,float Vmn){

float predikat=-1; 

String gab="";

  if(lvl=="Turun"){

      if (Vz<=Vmn){predikat=Vmx - (Vz * (Vmx-Vmn));gab="Turun1 ="+String(Vmx)+" - ("+String(Vz)+" * ("+String(Vmx)+"-"+String(Vmn)+") = "+String(predikat);}

      else if (Vz<=Vmx){predikat=Vmx - (Vz * (Vmx-Vmn));gab="Turun2 ="+String(Vmx)+" - ("+String(Vz)+" * ("+String(Vmx)+"-"+String(Vmn)+") = "+String(predikat);}

      else if (Vz>=Vmx){predikat=Vmx - (Vz * (Vmx-Vmn));gab="Turun3 ="+String(Vmx)+" - ("+String(Vz)+" * ("+String(Vmx)+"-"+String(Vmn)+") = "+String(predikat);}

  }//lvl

  else if(lvl=="Naik"){

      if (Vz<=Vmn){predikat=(Vz *(Vmx-Vmn)) + Vmn;gab="Naik1 = ("+String(Vz)+" *("+String(Vmx)+"-"+String(Vmn)+")) + "+String(Vmn)+" = "+String(predikat);}

      else if (Vz<=Vmx){predikat=(Vz *(Vmx-Vmn)) + Vmn;gab="Naik2 = ("+String(Vz)+" *("+String(Vmx)+"-"+String(Vmn)+")) + "+String(Vmn)+" = "+String(predikat);}

      else if (Vz>=Vmx){predikat=(Vz *(Vmx-Vmn)) + Vmn;gab="Naik3 = ("+String(Vz)+" *("+String(Vmx)+"-"+String(Vmn)+")) + "+String(Vmn)+" = "+String(predikat);}

  }//lvl

cetak (gab);  

return predikat;

 }//float



Senin, 12 Juli 2021

Arduino Code Naive Bayes LP2mARAY

 String inputString = "";

bool stringComplete = false;


#define MR 6

#define MC 3

#define JS 2



 


void printArray ( const int [][ MC ] );

float arIn[ MR][ MC] = {{1, 1,0},{ 2, 1,0},{3, 1,1},{1, 2,0},{2, 2,0},{3, 2,1}};

 

int jON=0;

int jOFF=0;



//int NB(int sensor,int kolom) {

int * NB(int sensor,int kolom) {

jON=0;

jOFF=0;  

int jONkolom=0;

int jOFFkolom=0;

   for (int i = 0; i < MR; i++) {

      if(arIn[i][2]==1){jON++;}

      else if(arIn[i][2]==0){jOFF++;}

          //--------------------------

           if(arIn[i][kolom]==sensor && arIn[i][2]==1){jONkolom++;}

          else if(arIn[i][kolom]==sensor && arIn[i][2]==0){jOFFkolom++;}

   }//i

  int arout[JS];

  arout[0]=jOFFkolom;

  arout[1]=jONkolom;

  return arout;

}



void setup() {

  Serial.begin(115200);

    

}//setup


String s(long var){

  return String(var);

 }

  

void loop() {

  if (stringComplete) {

    Serial.println(inputString);

    inputString = "";

    stringComplete = false;

  } 


cetak("Baca Sensor Loop");

//POMPA= OFF=0, ON=1

//1 Basah <=300

//2 Lembab  >301

//3 Kering  <=701

long sensor1=300;

  int sen1=3;

  if(sensor1<=300){sen1=1;}

  else if(sensor1<701){sen1=2;}


//1  Dingin  <=25 C

//2 Panas >25

long sensor2=25;

  int sen2=2;

  if(sensor2<25){sen1=1;}

//============================================

    int io1=0;

    int io2=1;

      //int arx[JS];

      int *arx=NB(sen1,io1);

        //int ary[JS];

        int *ary=NB(sen2,io2); 

    cetak("Jika Sensor1: "+s(sensor1)+" ["+s(sen1)+"] dan Sensor2:"+s(sensor2)+" ["+s(sen2)+"]");

    cetak("Jumlah ON:"+s(jON)+" |Jumlah OFF:"+s(jOFF));

    cetak("Jumlah :"+s(sen1)+"-ON="+s(arx[0]));

    cetak("Jumlah :"+s(sen1)+"-OFF="+s(arx[1]));

    cetak("Jumlah :"+s(sen2)+"-ON="+s(ary[0]));

    cetak("Jumlah :"+s(sen2)+"-OFF="+s(ary[1]));

    int total=jON+jOFF;

    float probON=(jON/total) * (arx[0]/jON) * (ary[0]/jON);

    float probOFF=(jOFF/total) * (arx[1]/jOFF) * (ary[1]/jOFF);

    cetak("Probablitias ON:  ("+s(jON)+"/"+s(total)+") * ("+s(arx[0])+"/"+s(jON)+") * ("+s(ary[0])+"/"+s(jON)+")");

    cetak("Probablitias OFF: ("+s(jOFF)+"/"+s(total)+") * ("+s(arx[1])+"/"+s(jOFF)+") * ("+s(ary[1])+"/"+s(jOFF)+")");

    String dom="ON";

    int hasil=1;

    if(probOFF > probON){

      dom="OFF";hasil=0;

      cetak("Karena Probablitias OFF Lebih tinggi "+s(probOFF)+" >"+s(probON)+" => Sistem akan:"+dom);

      }    

    else{

      dom="ON";hasil=1;

      cetak("Karena Probablitias ON Lebih tinggi "+s(probON)+" >"+s(probOFF)+" => Sistem akan:"+dom);

      }

  //============================================    

  delay(5000);

}



void cetak(String lap) {

  Serial.println(lap);

}

void serialEvent() {

  while (Serial.available()) {

    char inChar = (char)Serial.read();

    inputString += inChar;

    if (inChar == '\n') {

      stringComplete = true;

    }

  }

}


void printArray( float a[][ MC ] ) {

  for ( int i = 0; i < MR; ++i ) {

    for ( int j = 0; j < MC; ++j )

      Serial.print (String(a[ i ][ j ]) + " " );

    Serial.print ("\n" ) ;

  }

}



//=======================================================









REFF ARRAY FUNGSI:
int *array(int nbelt) {   int *toret=0L, *ptr;  // we must get 2 pointers   toret = (int *) malloc (nbelt*sizeof(int));  // try to allocate memory   if (toret)    // toret != null so memory allocation success   {       ptr = toret;    // ptr is pointing to toret       for (int i=0; i<nbelt; i++)           *ptr++ = 2*i;                  // assign a value to ptr and move the pointer       return toret;                    // return the pointer for address allocation   }   else                                  // memory allocation failed, return 0L        return 0L; } void setup(void) {    int *p=0L;    p = array(10);            // Function returning an array of 10 int   if (p)                          // we have a result (p != OL)   {     for (int i=0; i<10; i++)     {       Seria.println(*(p+i), DEC);    // print each elements       free(p);                          // don't forget to free Ram !   } } void loop(void) { }

Selasa, 17 Desember 2019

Fuzzy Arduino UNO


float pompvA1=1;//speedMax
float pompvA2=0;//speedMin
float vA1=42;//suhumax
float vA2=20;//suhumin
float vB1=115;//lembabmax
float vB2=70;//lembabmin

float uji1=35;//suhuUji
float uji2=80;//lembabUji

int a=2;
int v=3;
int arA[] = {0, 1, 2};
int arV[] = {0, 1, 2}; 
float arP[] = {0, 0, 0}; 
//$arV[0]="Tinggi";
//$arV[1]="Sedang";
//$arV[2]="Rendah";
float arN[]={0,0};
float arMin[]={0,0};
float arMax[]={0,0};
float arM[]={0.0,0.0};

void setup() {
 
  arN[0]=uji1;
  arN[1]=uji2;
 
  arMin[0]=vA1;
  arMin[1]=vB1;
 
  arMax[0]=vA2;
  arMax[1]=vB2;

}

void loop() {
  for(int i=0;i<a;i++){
    cetak("Kategori: "+String(arA[i])+" (:Tinggi Sedang Rendah)");
     for(int j=0;j<v;j++){
           String proses="?";
           float hproses=0;
             if(arV[j]==0){proses=getTinggiS(arN[i],arMax[i],arMin[i]);hproses=getTinggi(arN[i],arMax[i],arMin[i]);}
             else if(arV[j]==1){proses=getSedangS(arN[i],arMax[i],arMin[i]);hproses=getSedang(arN[i],arMax[i],arMin[i]);}
             else if(arV[j]==2){proses=getRendahS(arN[i],arMax[i],arMin[i]);hproses=getRendah(arN[i],arMax[i],arMin[i]);}

            arP[j]=hproses;
            String gab="LVL-"+String(arA[i])+" "+String(arV[j])+" =>Uji "+String(arN[i])+"#"+String(proses) +"="+hproses;
            cetak(gab);
           
         
        }//j
        arM[i]=getMin(arP);
        cetak("Nilai Minimum ="+String(arM[i])+" ");   
    }//i




float MIN=getMin(arM);
float MAX=getMax(arM);
float sel=pompvA1 - pompvA2;
float vA1 = ( pompvA2 + ( MIN * ( sel )));
float vA2 = ( pompvA2 + ( MAX * ( sel )));

float up=vA1*vA1;
float M1= MIN/(pow(2,up));

    float MA=(vA2*vA2*vA2)/(3*sel);
    float MB=(vA2*vA2)*(sel)/(2*(sel));
    float MC =MA-MB;
   
    float MD=(vA1*vA1*vA1)/(3*sel);
    float ME=((vA1*vA1)*sel) / (2*sel);
    float MF = MD-ME;
   
float M2 = MC-MF;
float M3 = (MAX/2*(pompvA1*pompvA1)) - (MAX/2*(vA2*vA2));   

float L1 = MIN* vA1;

      float LA=((vA2*vA2)/(2*sel));
      float LB=sel / (sel*vA2);
      float LC=LA-LB;
     
      float LD=(vA1*vA1) / (2*sel);
      float LE=sel/(sel*vA1);
      float LF=LD-LE;
     
float L2=LC-LF;
float L3=(MAX*pompvA1) - (MAX*vA2);

float Z1= M1+M2+M3;
float Z2=L1+L2+L3;
float Z3=Z1/Z2;



cetak("Nilai keanggotaan Terendah="+String(MIN));
cetak("Nilai keanggotaan Tertinggi="+String(MAX));

cetak("Nilai vA1="+String(vA1));
cetak("Nilai vA2="+String(vA2));
cetak("Nilai Momen1="+String(M1));
cetak("Nilai Momen2="+String(M2));
cetak("Nilai Momen3="+String(M3));

cetak("Nilai L1-L2-L3="+String(L1)+"#"+String(L2)+"#"+String(L3)+"#");
cetak("Nilai Z1="+String(Z1));
cetak("Nilai Z3="+String(Z3));
}//loop

       

float getRendah(float vx,float vmax,float vmin){
  float vr=(vmax-vx)/(vmax-vmin);
  if(vx<=vmin){vr=1;}
  else if(vx>=vmax){vr=0;}
  return vr;
}
float getSedang(float vx,float vmax,float vmin){
  float avg=(vmax-vmin)-vmin;
  float vmax2=(vmax+(vmax-avg));
 
  float vr=(vx-avg)/(vmax-avg);
  if(vx<=avg || vx>=vmax2){vr=0;}
  else if(vx>=vmax && vx<=vmax2){vr=(vmax2-vx)/(vmax2-vmax);}
  return vr;
}
float getTinggi(float vx,float vmax,float vmin){
  float vr=(vx-vmax)/(vmax-vmin);
  if(vx<=vmax){vr=0;}
  else if(vx>=(vmax+(vmax-vmin))){vr=1;}
  return vr;
}



String getRendahS(float vx,float vmax,float vmin){
 String vr="(vmax-vx)/(vmax-vmin)";
  if(vx<=vmin){vr="karena vx<=vmin maka v=1";}
  else if(vx>=vmax){vr="karena vx>=vmax maka v=0";}
  return vr;
}
String getSedangS(float vx,float vmax,float vmin){
  float avg=(vmax-vmin)-vmin;
  float vmax2=(vmax+(vmax-avg));
 
  String vr="(vx-avg)/(vmax-avg)";
  if(vx<=avg || vx>=vmax2){vr="karena vx<=avg || vx>=vmax2 maka v=0";}
  else if(vx>=vmax && vx<=vmax2){vr="karena vx>=vmax && vx<=vmax2 maka v=(vmax2-vx)/(vmax2-vmax)";}
  return vr;
}
String getTinggiS(float vx,float vmax,float vmin){
  String vr="(vx-vmax)/(vmax-vmin)";
  if(vx<=vmax){vr="karena vx<=vmax maka v=0";}
  else if(vx>=(vmax+(vmax-vmin))){vr="karena vx>=(vmax+(vmax-vmin)) maka v=1";}
  return vr;
}


void cetak(String var){
  Serial.println(var);
  }
 
int getMin(float* myArray){
int jd=3;//myArray.length();
int minIndex = 0;
 int var= myArray[minIndex];
 for (int i=1; i<jd; i++){
   if (var>myArray[i]){
     minIndex = i;
     var = myArray[i];
   }
 }
 return minIndex;
}
int getMax(float* myArray){
int jd=3;//myArray.length();
int minIndex = 0;
 int var = myArray[minIndex];
 for (int i=1; i<jd; i++){
   if (var<myArray[i]){
     minIndex = i;
     var = myArray[i];
   }
 }
 return minIndex;
}
 









Jumat, 23 September 2016

Jasa pembuatan alat / aplikasi mikrokontroller -android/web


Aplikasi yang menggunakan kombinasi elektronika digital, diskrit, analog, sensor dan pemrograman Assembly, bahasa C ataupun bascom.Juga jika diperlukan aplikasi pengontrol atau monitoringnya bisa menggunakan VB.net, Matlab, VB6, Delphi, Android, J2me, Blackberry, Iphone, Web PHP/ASP/JSP dll. Untuk pengerjaan perusahaan butuh waktu 3 hari kerja.Untuk pengerjaan Skripsi atau tugas akhir biasanya 5 x pertemuan @4-8jam..siswa diwajibkan hadir untuk mempelajari rangkaian dan pemrogramannya. Untuk jarak jauh siswa disediakan penginapan dan pengerjaan max 2 sd 3 hari kerja.

Beberapa referensi aplikasi menggunakan mikrokontroller yang telah kami implementasikan:

+ Sistem monitoring dan pengendali perangkat listrik
+ Control gate system android
+ Pengontrolan alat listrik
+ Penghitung beban istrik mednggunakan sms gateway
+ Peneggak pintu otomatis menggunakan rfid berbasis mikron
+ Miniatur pemilah barang berdasarkan jenis materialnya
+ Absensi digital dgn finger print berbasis wireless
+ Alat pembersih sampah pada pintu air
+ Sistem kontrol listrik berbasis Web
+ Perancangan sistem aplikasi , smoke detector pada android
+ Aplikasi kontrol lampu ruangan menggunakan bahasa pemograman vb.net
+ Prototype pengidentifikasi karyawan menggunakan jaringan wifi berbasis raspberry pi
+ Rancang bangun meter air digital menggunakan keypad token berbasis arduino uno r3
+ Absensi digital dgn finger print berbasis wireless
+ Sistem security car
+ Mematikan tv dan memilah channel via android
+ Rancang bangun sistem monitoring tegangan dan arus suhu pada sistem pencatu daya listrik gedung
bertingkat secara wireless berbasis mikrokontroller
+ Prototype sistem keamanan rumah menggunakan image capturing dan fingerprint berbasis sms dan web
+ Rancang bangun mesin hot print berbasis mikrokontroller
+ Prototype sistem keamanan rumah menggunakan image capturing dan fingerprint berbasis sms dan web
+ Perancangan sistem parkir berbasis sensor infrored menggunakan rfid dan java
+ Perancangan prototipe smart movie theater berbasis zebree
+ Aplikasi pintar layanan masyarakat berbasis Raspberry PI
Beberapa aplikasi Android:
+ Steganografi dengan metode pority coding berbasis android
+ Aplikasi pariwisata jakarta berbasis android
+ Pembuatan object monas dengan augmentreality mobile menggunakan android
+ E-commerce spare part motor di android
+ Pembelajaran bahasa inggis untuk kelas 3 sd
+ Sistem monitoring dan pengendali perangkat listrik
+ Aplikasi location service smp dan sma di bogor berbasis android
+ Aplikasi panduan diet berdasarkan gol darah
+ Pembuatan sistem informasi olahraga berbasis android
+ Aplikasi android lokasi terminal bus
+ Sistem penyewaan lapangan bulu tangkis
+ Sistem pakar pendeteksi penyakit dengan titik pemijatan refleksi berbasis android
+ Aplikasi pariwisata bersejarah di diy untuk membantu wisatawan berbasis android
+ Implementasi algoritma djisktra sistem informasi lokasi spbu wilayah jakarta timur
+ Pembuatan aplikasi mobile commerce berbasis android pd jidi shop
+ Aplikasi client server pemasaran farmasi menggunakan android
+ Rancang Bangun Game Animasi Truk pembuang sampah
+ Pembuatan mobile media and information center psm suara Kampus X berbasis phonegap android
+ Aplikasi dokter gigi
+ Sistem monitoring data inventoring berbasis android
+ Mobile assistant masa kehamilan berbasis android
+ Pengenalan Matematika berbasis android
+ Aplikasi penentuan rute busway berbasis android
+ Sistem informasi cherry lamp pare kediri berbasis android
+ Pemahaman pembelajaran ilmu tajwid
+ Aplikasi informasi jenis penyu menggunakan android
+ Aplikasi android menggunakan client server database
+ Implementasi kecerdasan buatan dalam menentukan kelayakan obat
+ Sistem pendukung keputusan uji kelayakan krim wajah dengan metode wd
+ Rancang bangun Tps elektronik + qrcode
+ Gis biro perjalanan di dki jakarta dngan client server berbasis android
+ Perancangan aplikasi turorial colorguard marching band berbasis android
+ Sistem antrian pasien rumah sakit menggunakan kartu qr code bpjs kesehatan berbasis android gn tansmisi wifi
+ aplikasi akademik online berbasis android
+ Aplikasi pencarian rumah sakit di jakarta selatan berbasis mobile android dengan location basd service
+ Perancangan aplikasi pengenalan benda angkasa dengan teknologi augmented reality berbasis android
+ Aplikasi proses pengiriman dan tracking barang menggunakan metode stepping stone
+ Alarm location pada commuterline berbasis android
+ Aplikasi Antrian virtual berbasis android
+ Aplikasi pemesanan makanan menggunakan sistem down timer
+ Implementasi ssl pada rancangan bangun online banking berbasis android
+ Pengendali & pemantauan mobil rental dgn notif sms & cctv
+ Sistem pengamanan sms dengan enkripso super berbasis android
+ Perancangan app secure message berbasis android
+ Lbs objek wisata di jakarta berbasis mobile android
+ Aplikasi sistem pakar diagnosa penyakit batuk metode certainty factor berbasis android
+ Pengendali & pemantauan mobil rental dgn notif sms & cctv
+ Aplikasi latihan soal tes cpns berbasis android
+ Pengenalan warna untuk pembelajaran anak usia dini
+ Text to speech bahasa indonesia based on android
+ Pengembangan sistem pakar penyakit menular seksual dengan metode forward chaining
+ Sistem pakar tes iq minat bakat anak berbasis android dengan menggunakan forward chaining
+ Implementasi aplikasi sistem pakar utk mendeteksi minat anak
+ Aplikasi sistem pakarutk mendiagnosa penyakit hewan anjing dengan metode certainty factor berbasis android
+ Located based service (lbs) restoran , rumah sakit , atm, dan spbu di wilayah depok
+ Aplikasi penjualan sparepart motor berbasis android berbasis client server pada android
+ Aplikasi Restoran cepat saji berbasis android meggunakan coontdown timer
+ Aplikasi restorant menggunakan phonegap
+ Rancang bangun akses database bts gsm via android
+ Monitoring server menggunakan ponsel berbasis android
+ Aplikasi lagu daerah berbasis android
+ Pengenalan bangun datr berbasis android freme work utk sekolah dasar
+ Aplikasi sistem pakar utk mendiagnosa penyakit hamster menggunakan metode certaining factor berbasis android
+ Implementasi pada sistem aplikasi administrasi pada sekolah sma 1 berbasis android
+ Aplikasi karate berbasis android dgn php dan phonegap
+ Lbs perumahan rumah bogor
+ Pengenalan huruf dan angka berbahasa inggri menggunakan eclipse
+ Aplikasi pemesanan taksi
+ Pencarian rute terdekat menggunakan algoritma Astar berbasis android
+ dll
hub : 085279959498 / adiarray
dibuka juga paket trainingnya :
RASPBERRY PI
Harga Kursus: Rp. 600.000,00 (Paket u Mhs)
Kategori : Hardware Hibies
Durasi : Lama Belajar 12 jam

Dalam kelas Pemrograman Raspberry Pi dan Aplikasi Mikrokontroler, 
peserta tidak sekedar diajak untuk bermain Raspberry Pi dengan menggunakan bahasa pemrograman tertentu, namun meng-eksplorasi 
banyak sisi terkait dengan antarmuka dengan divais lain, termasuk mikrokontroler; 
serta mengembangkan mikrokontroler sebagai partner.

Pembelajaran dimulai dengan mengenal Raspberry Pi dan lingkungan pemrogramannya, 
serta hal-hal yang perlu diperhatikan untuk menghindari kerusakan. 
Dilanjutkan dengan mendalami General Purpose I/O, memrogram sejumlah periferal dan menggunakan fasilitas komunikasi data. 

Pada bagian berikutnya, peserta akan mempelajari konsep dan penerapan interupsi dalam sejumlah aplikasi dan 
tantangan. 
Di penghujung pertemuan, peserta akan diajak untuk mengenal dan mendalami konsep master slave, dengan melibatkan mikrokontroler sebagai partner. 

Materi kursus meliputi juga implementasi web base (web server), Databse (mysql), dan Pemrograman menggunakan Python.


Terimakasih.....