Thursday, May 26, 2016

ANDROID KONTROL RGB LED

Setiap orang pasti punya mood yang berbeda-beda kali ini saya akan membagikan resep dan tentunya bukan resep kue..:D , resep kali ini adalah tentang suasana hati masing masing yang mungkin bisa di jinakan dengan warna, gak kepikiran kan kalo misal nya punya lampu tidur atau lampu kamar yang bisa di rubah warna nya sesuai keinginan dan suasana hati kita.., apa lagi kalo lagi berdua sama pasangan warna yang romantic pasti di perlukan mungkin resep ini bisa membantu, jaman sekarang siapa sih yang ngga punya ponsel pintar atau smart phone tentunya hampir semua masyarakt punya apa lagi dengan lahir nya sistem operasi ponsel berbasis linux ya itu android yang sudah menginstal banyak ponsel murah besutan cina tentunya sudah kaya kerupuk kan ada di mana-mana apalagi berbasis open source, ya kaya arduino juga yang mudah untuk di kembangkan seperti resep kali ini yang masih menggunakan arduino dan bluetooth, untuk bahan dari resep ini kita siapkan :

1.arduino board
2.RGB led
3.modul bluetooth HC-05

untuk pengaturan warna menggunakan aplikasi android yang di instal pada smarphone dengan bantuan koneksi serial dari bluetooth yang akan berkomunikasi dengan arduino untuk wiringnya seperti ini:


untuk wiring pemesangan bluetooth nya seperti berikut :

setlah semua komponen di rakit seperti gambar di atas maka kita lanjutkan eksekusi source code nya bisa copy source code di bawah ini :

#include <SoftwareSerial.h>
#include <Wire.h>//Include libraries: SoftwareSerial & Wire
SoftwareSerial BT(11,12); //Define PIN11 & PIN12 as RX and TX pins
 
//RGB LED Pins
int PIN_RED = 3;
int PIN_GREEN = 5;
int PIN_BLUE = 6;
//RED LED at Pin 13
int RED_LED = 13;
String RGB = ""; //store RGB code from BT
String RGB_Previous = "255.255.255)"; //preserve previous RGB color for LED switch on/off, default White
String ON = "ON"; //Check if ON command is received
String OFF = "OFF"; //Check if OFF command is received
boolean RGB_Completed = false;
 
void setup() {
  Serial.begin(9600); //Arduino serial port baud rate:9600
  BT.begin(9600);//My HC-05 module default baud rate is 9600
  RGB.reserve(30);
 
  pinMode(RED_LED, OUTPUT); 
  //Set pin13 as output for LED, 
  // this LED is on Arduino mini pro, not the RGB LED
}
 
void loop() {
  // put your main code here, to run repeatedly: 
  
  //Read each character from Serial Port(Bluetooth)
  while(BT.available()){
    char ReadChar = (char)BT.read();
 
    // Right parentheses ) indicates complet of the string
    if(ReadChar == ')'){
      RGB_Completed = true;
    }else{
       RGB += ReadChar;
    }
  }
  
  //When a command code is received completely with ')' ending character
  if(RGB_Completed){
   //Print out debug info at Serial output window
      Serial.print("RGB:");
      Serial.print(RGB);
      Serial.print("     PreRGB:");
      Serial.println(RGB_Previous);
      
      if(RGB==ON){
          digitalWrite(13,HIGH);
          RGB = RGB_Previous; //We only receive 'ON', so get previous RGB color back to turn LED on
          Light_RGB_LED();          
 
      }else if(RGB==OFF){
          digitalWrite(13,LOW);
          RGB = "0.0.0)"; //Send OFF string to turn light off
          Light_RGB_LED();
      }else{
          //Turn the color according the color code from Bluetooth Serial Port
          Light_RGB_LED();   
          RGB_Previous = RGB;     
      }
      //Reset RGB String  
 
      RGB = "";
      RGB_Completed = false;
      
    
  } //end if of check if RGB completed
  
} // end of loop
 
void Light_RGB_LED(){
 
  int SP1 = RGB.indexOf('.');
  int SP2 = RGB.indexOf('.', SP1+1);
  int SP3 = RGB.indexOf('.', SP2+1);
  String R = RGB.substring(0, SP1);
  String G = RGB.substring(SP1+1, SP2);
  String B = RGB.substring(SP2+1, SP3);
 
  //Print out debug info at Serial output window
  Serial.print("R=");
  Serial.println( constrain(R.toInt(),0,255));
  Serial.print("G=");
  Serial.println(constrain(G.toInt(),0,255));
  Serial.print("B=");
  Serial.println( constrain(B.toInt(),0,255));
  //Light up the LED with color code
 
//**2014-09-21
//Because these RGB LED are common anode (Common positive)
//So we need to take 255 to minus R,G,B value to get correct RGB color code
  analogWrite(PIN_RED,  (R.toInt()));
  analogWrite(PIN_GREEN, (G.toInt()));
  analogWrite(PIN_BLUE,  (B.toInt()));
 
setelah di copy pada sofware arduino silakan di compile apakah terdapat eror , setelah di compile dengan sukses tanpa eror di lanjutkan mendownload program tersebut ke board arduino dan mari kita pasang supply project kita nah loh terus aplikasi nya gimana?? , tenang untuk aplikasi nya bisa download di link ini.

setelah di download dan di instal pada smartphone lalu kita pair device nya setelah terhubung lalu kita coba ganti warna lewat aplikasi tersebut , gimana keren kan..

setelah semua tahap di atas selesai bisa di buatkan case untuk lampu tersebut dan di pasang atau di letakan di mana yang di kehendaki. apabila ada eror atau membingungkan bisa berkomentar di bawah.


Tuesday, May 24, 2016

HAPUS BERSIH SISA FILE APLIKASI MAC OS X

kali ini saya akan membagikan aplikasi untuk MAC OS X , pengalaman yang terjadi pada saya memang melakukan instalasi aplikasi pada MAC cukup drop folder saja begitu juga saat uninstal aplikasi kita bisa langsung menghapus foleder nya namun dengan cara itu folder sisa dari aplikasi yang di ununstal tetap masih ada dan membuat memori masih menyimpan folder sampah dari aplikasi tersebut untuk mengatasi nya maka saya akan bagikan aplikasi untuk uninstal pada MAC OS X , sebenar nya aplikasi ini berbayar sekitar 12 dolar namun karena saya mendapatkan key nya maka saya share aja di blog saya ini contoh scren shoot aplikasi nya :

cara penggunaan aplikasi AppZapper cukup mudah ya itu tinggal pilih aplikasi mana yang akan di hapus / uninstal setelah itu tinggal click Zap! , ok selamat mencoba link download di bawah 

Monday, May 23, 2016

MEMBUAT POV DISPLAY ARDUINO

POV display atau PERSISTENCE OF VISION adalah suatu sarana yang di gunakan untuk hiburan atau periklanan yang dapat di aplikasikan pada benda yang bergerak atau berputar , di luar negeri sendiri sudah ada produsen yang membuat POV display salah satu nya Monkey Electric yang membuat pov display berwarna dan digunakan untuk periklanan ataupun style, untuk membuat pov display sederhan dengan arduino komponen yang di butuhkan adalah :

1. Arduino
2. led
3. Bateray 9 v

setelah mempunyai komponen yang di butuhkan sekarang kita lanjutkan membuat sorce code nya :

// defining the picts
 
int off[] = {
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0};
 
int heart[] = {
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,1,1,1,1,0,0,0,0,0,
  0,1,1,1,1,1,1,0,0,0,0,
  0,1,1,1,1,1,1,1,0,0,0,
  0,0,1,1,1,1,1,1,1,0,0,
  0,0,0,1,1,1,1,1,1,1,0,
  0,0,1,1,1,1,1,1,1,0,0,
  0,1,1,1,1,1,1,1,0,0,0,
  0,1,1,1,1,1,1,0,0,0,0,
  0,0,1,1,1,1,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0};
 
int greek[] = {
  1,1,0,0,0,0,0,0,0,0,0,
  1,1,0,0,0,0,0,0,0,0,0,
  1,1,0,0,1,1,1,1,1,1,0,
  1,1,0,0,1,1,1,1,1,1,0,
  1,1,0,0,1,1,0,0,1,1,0,
  1,1,1,1,1,1,0,0,1,1,0,
  1,1,1,1,1,1,0,0,1,1,0,
  0,0,0,0,0,0,0,0,1,1,0,
  0,0,0,0,0,0,0,0,1,1,0,
  1,1,1,1,1,1,1,1,1,1,0,
  1,1,1,1,1,1,1,1,1,1,0};
 
int butterfly[] = {
  0,0,0,0,0,0,0,0,0,0,0,
  0,1,1,1,1,0,1,1,1,1,0,
  0,1,0,0,1,0,1,0,0,1,0,
  0,0,1,0,1,1,1,0,1,1,0,
  1,1,1,1,1,1,1,1,1,1,1,
  0,1,1,0,0,0,0,0,0,0,0,
  1,1,1,1,1,1,1,1,1,1,1,
  0,0,1,0,1,1,1,0,1,1,0,
  0,1,0,0,1,0,1,0,0,1,0,
  0,1,1,1,1,0,1,1,1,1,0,
  0,0,0,0,0,0,0,0,0,0,0};
 
int chakana[] = {
  0,0,0,0,1,1,1,0,0,0,0,
  0,0,1,1,1,0,1,1,1,0,0,
  0,0,1,1,0,0,0,1,1,0,0,
  0,1,1,0,0,1,0,0,1,1,0,
  1,1,0,0,1,1,1,0,0,1,1,
  1,0,0,1,1,0,1,1,0,0,1,
  1,1,0,0,1,1,1,0,0,1,1,
  0,1,1,0,0,1,0,0,1,1,0,
  0,0,1,1,0,0,0,1,1,0,0,
  0,0,1,1,1,0,1,1,1,0,0,
  0,0,0,0,1,1,1,0,0,0,0};
 
int triangle[] = {
  1,1,0,0,0,0,0,0,0,0,0,
  1,1,1,0,0,0,0,0,0,0,0,
  1,1,1,1,1,0,0,0,0,0,0,
  1,1,1,1,1,1,1,0,0,0,0,
  1,1,1,1,1,1,1,1,1,0,0,
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,0,0,
  1,1,1,1,1,1,1,0,0,0,0,
  1,1,1,1,1,0,0,0,0,0,0,
  1,1,1,0,0,0,0,0,0,0,0,
  1,1,0,0,0,0,0,0,0,0,0};
 
int diagonal[] = {
  1,0,0,0,0,1,0,0,0,1,1,
  0,0,0,0,1,0,0,0,1,1,1,
  0,0,0,1,0,0,0,1,1,1,0,
  0,0,1,0,0,0,1,1,1,0,0,
  0,1,0,0,0,1,1,1,0,0,0,
  1,0,0,0,1,1,1,0,0,0,0,
  0,0,0,1,1,1,0,0,0,0,1,
  0,0,1,1,1,0,0,0,0,1,0,
  0,1,1,1,0,0,0,0,1,0,0,
  1,1,1,0,0,0,0,1,0,0,0,
  1,1,0,0,0,0,1,0,0,0,1};
 
int full[] = {
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,1,
  1,1,1,1,1,1,1,1,1,1,1};
 
int seta[] = {
  0,0,1,1,1,1,1,1,1,0,0,
  0,0,1,1,1,1,1,1,1,0,0,
  0,0,1,1,1,1,1,1,1,0,0,
  0,0,1,1,1,1,1,1,1,0,0,
  0,0,1,1,1,1,1,1,1,0,0,
  1,1,1,1,1,1,1,1,1,1,1,
  0,1,1,1,1,1,1,1,1,1,0,
  0,0,1,1,1,1,1,1,1,0,0,
  0,0,0,1,1,1,1,1,0,0,0,
  0,0,0,0,1,1,1,0,0,0,0,
  0,0,0,0,0,1,0,0,0,0,0};
 
int square2[] = {
  1,0,0,0,0,0,0,0,0,0,1,
  1,0,0,0,0,0,0,0,0,0,1,
  1,0,1,1,1,1,1,1,1,0,1,
  1,0,1,1,1,1,1,1,1,0,1,
  1,0,1,1,0,0,0,1,1,0,1,
  1,0,1,1,0,0,0,1,1,0,1,
  1,0,1,1,0,0,0,1,1,0,1,
  1,0,1,1,1,1,1,1,1,0,1,
  1,0,1,1,1,1,1,1,1,0,1,
  1,0,0,0,0,0,0,0,0,0,1,
  1,0,0,0,0,0,0,0,0,0,1};
 
char caracter;
int lastPict[] = {
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0,
  0,0,0,0,0,0,0,0,0,0,0};
 
int dotTime;
 
// this constant won't change:
const int  buttonPin = 2;    // the pin that the pushbutton is attached to
 
// Variables will change:
int buttonPushCounter = 0;   // counter for the number of button presses
int buttonState = 0;         // current state of the button
int lastButtonState = 0;     // previous state of the button
 
//#include
 
void setup()
{
  // POV setting the ports of the leds to OUTPUT
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
 
  // defining the time dots appear (ms)
  dotTime = 5;
 
  // initialize the button pin as a input:
  pinMode(buttonPin, INPUT);
 
  // initialize serial communication:
  Serial.begin(9600);
 
}
 
//POV
void printPict(int row[]){
 
  int y;
 
  // printing the y1 row of the pict
  for (y=0; y<11; y++)
  {
    digitalWrite(y+3, row[y]);
  }
  delay(dotTime);
 
  // printing the y2 row of the pict
  for (y=0; y<11; y++)
  {
    digitalWrite(y+3, row[y+11]);
  }
  delay(dotTime);
 
  // printing the y3 row of the pict
  for (y=0; y<11; y++)
  {
    digitalWrite(y+3, row[y+22]);
  }
  delay(dotTime);
 
  // printing the y4 row of the pict
  for (y=0; y<11; y++)
  {
    digitalWrite(y+3, row[y+33]);
  }
  delay(dotTime);
 
  // printing the y5 row of the pict
  for (y=0; y<11; y++)
  {
    digitalWrite(y+3, row[y+44]);
  }
  delay(dotTime);
 
  // printing the y6 row of the pict
  for (y=0; y<11; y++)
  {
    digitalWrite(y+3, row[y+55]);
  }
  delay(dotTime);
 
  // printing the y7 row of the pict
  for (y=0; y<11; y++)
  {
    digitalWrite(y+3, row[y+66]);
  }
  delay(dotTime);
 
  // printing the y8 row of the pict
  for (y=0; y<11; y++)
  {
    digitalWrite(y+3, row[y+77]);
  }
  delay(dotTime);
 
  // printing the y9 row of the pict
  for (y=0; y<11; y++)
  {
    digitalWrite(y+3, row[y+88]);
  }
  delay(dotTime);
 
  // printing the y10 row of the pict
  for (y=0; y<11; y++)
  {
    digitalWrite(y+3, row[y+99]);
  }
  delay(dotTime);
 
  // printing the y11 row of the pict
  for (y=0; y<11; y++)   {     digitalWrite(y+3, row[y+110]);   }   delay(dotTime); }
  void loop() { 
    checkSerial(); printPict(lastPict); } 
  int checkSerial () { 
    //button loop 
  // read the pushbutton input pin:  
  buttonState = digitalRead(buttonPin); 
  // compare the buttonState to its previous state 
  if (buttonState != lastButtonState) {  
    // if the state has changed, increment the counter    
  if (buttonState == HIGH) {   
    // if the current state is HIGH then the button    
    // wend from off to on:  
    buttonPushCounter++;     
  Serial.println("on");    
  Serial.print("number of button pushes:  ");    
  Serial.println(buttonPushCounter, DEC);     }  
  else {    
    // if the current state is LOW then the button    
    // wend from on to off:  
    Serial.println("off");   
    }   }   // save the current state as the last state, 
    //for next time through the loop
    lastButtonState = buttonState;      
    if(buttonPushCounter == 0) {   
    memcpy(lastPict, off, sizeof(lastPict));   } 
    if (buttonPushCounter == 1) {   
    memcpy(lastPict, triangle, sizeof(lastPict));   }   if (buttonPushCounter == 2) {     memcpy(lastPict, diagonal, sizeof(lastPict));   }    if (buttonPushCounter == 3) {     memcpy(lastPict, seta, sizeof(lastPict));   }    if (buttonPushCounter == 4) {     memcpy(lastPict, greek, sizeof(lastPict));   }    if (buttonPushCounter == 5) {     memcpy(lastPict, chakana, sizeof(lastPict));   }      if (buttonPushCounter > 5) {
    buttonPushCounter = 0;
 
  }
    

dari source code di atas output yang di gunakan adalah 11 buah LED yang akan menjadi tampilan sebuah POV display , dapat kita lihat pada source code di atas 0 berarti led OFF dan 1 berarti led ON jadi bilangan 0 dan 1 adalah logika untuk menyalakan dan mematikan LED sesuai urutan nya agar menampilkan informasi atau gambar yang kita buat , cara membuat nya bisa dengan mengkonversi dari Microsoft Excel ataupun sofware konversi Biner, setelah mengcompile source code di atas download ke arduino , untuk konfigurasi LED nya sesuai dengan output source code tersebut yaitu untuk kutub + LED di hubungkan ke PIN 3-13 stelah selesai bisa di coba dengan mengayunkan kekanan dan kekiri apabila berhasil maka akan ditampilkan gambar dan huruf dan posisi led berkedip dengan cepat.

gambar di atas adalah contoh POV display yang telah saya buat.

ARDUINO THERMOMETER

Setelah di bahas tentang pengertian arduino sekarang mulailah membuat sebuah project ya itu arduino thermometer atau alat pengukur suhu yang bisa di aplikasikan dengan perangkat lain ataupun memodifikasi nya untuk komponen yang di perlukan adalah :

1. Board arduino (uno R3, Mini, dll)
2. I2c LCD adapter
3. Thermistor
4. Resistor 10K

karena project ini menggunakan LCD I2C maka akan di butuhkan library dari perangkat LCD tersebut , untuk library nya bisa mencari di google, sekarang kita mulai pembuatan source code nya

// membuat thermometer

// pin untuk termistor
#define THERMISTORPIN A0
// resistance at 25 degrees C
#define THERMISTORNOMINAL 11420
// temp. for nominal resistance (25 C)
#define TEMPERATURENOMINAL 25
// how many samples to take and average, more takes longer
// but is more 'smooth'
#define NUMSAMPLES 5
// The beta coefficient of the thermistor (usually 3000-4000)
#define BCOEFFICIENT 3900
// the value of the 'other' resistor
#define SERIESRESISTOR 10000

// then define the LCD
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x3F // <<- Add your address here.
#define Rs_pin 0
#define Rw_pin 1
#define En_pin 2
#define BACKLIGHT_PIN 3
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
LiquidCrystal_I2C lcd(I2C_ADDR, En_pin, Rw_pin, Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin);

int samples[NUMSAMPLES];

void setup(void) {
  lcd.begin (16, 2); // <<-- change for your LCD size if needed
  //LCD Backlight ON
  lcd.setBacklightPin(BACKLIGHT_PIN, POSITIVE);
  lcd.setBacklight(HIGH);
  lcd.home (); // go home on LCD
  lcd.print("Your temperature:");
}

void loop(void) {
  uint8_t i;
  float average;

  // take N samples in a row, with a slight delay
  for (i = 0; i < NUMSAMPLES; i++) {
    samples[i] = analogRead(THERMISTORPIN);
    delay(10);
  }

  // average all the samples out
  average = 0;
  for (i = 0; i < NUMSAMPLES; i++) {
    average += samples[i];
  }
  average /= NUMSAMPLES;

 
  // convert the value to resistance
  average = 1023 / average - 1;
  average = SERIESRESISTOR / average;

  float steinhart;
  steinhart = average / THERMISTORNOMINAL;     // (R/Ro)
  steinhart = log(steinhart);                  // ln(R/Ro)
  steinhart /= BCOEFFICIENT;                   // 1/B * ln(R/Ro)
  steinhart += 1.0 / (TEMPERATURENOMINAL + 273.15); // + (1/To)
  steinhart = 1.0 / steinhart;                 // Invert
  steinhart -= 273.15;                         // convert to C
  lcd.setCursor (0,1); // go to start of 2nd line
  lcd.print(steinhart);
  lcd.print(" Celsius  ");
 
  delay(1000);
}


setelah selesain menyalin kode di atas coba di compile dengan sofware arduino apakah terdapat eror, apabila terdapat eror coba analisa di mana letak eror tersebut , setelah di pastikan tidak terdapat eror maka kita lanjutkan konfigurasi wiring nya seperti berikut

setelah memasang konfigurasi wiring seperti di atas maka dilanjutkan mendownload source code yang telah di compile ke arduino , untuk konfigurasi LCD telah terdefinisi pada source code ( LiquidCrystal_I2C lcd(I2C_ADDR, En_pin, Rw_pin, Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin); ) maka untuk wiring LCD di sambungkan ke pin D4, D5, D6, D7 setelah semua wiring terpasang dengan benar maka saat nya di coba , apabila berhasil maka akan menunjukan suhu pada LCD tersebut.

PENGERTIAN ARDUINO

Arduino adalah Mikrokontroler single board yg bersifat open source, dengan hardware Atmel AVR, saat ini arduino sangat terkenal di dunia, karena kemudahan nya banyak yang mengenal programer robotika dengan arduino ini, untuk bahasa pemrograman yang di gunakan arduino tidak lah sesulit mikrokontroler lain nya bahasa yang di gunakan pada arduino adalah bahasa C yang di sederhanakan dengan batuan pustaka ata library banyak kelebihan yang di tawarkan arduino salah satu nya adalah hardware dan software nya open source sehingga kita bisa dengan leluasa mengembangkan sebuah perangkat dengan arduino .


Arduino merupakan sarana pembelajaran robotika yang sangat simpel karena untuk pemrograman nya kita tidak memerlukan chip programer karena di dalam chip arduino sudah tertanam bootloader yang akan menangani upload program dari komputer dengan komunikasi usb printer yang sekaligus digunakan untuk catu daya arduino tersebut , pin out dan in pada arduino juga tersedia analog dan digital sehingga kita bisa menggunakan sensor untuk membuat sebuah project , kesimpulan bagi saya arduino adalah Mikrokontroler yang power full dengan segala fitur dan fungsi nya.