FIKRI IBRAHIM N

Blog tentang Robotik, Fisika, Fisika Instrumentasi, Elektronika, Komputasi dll.

Search

Sunday, August 19, 2018

Cara Membuat Smart Home Arduino



Desain Program dan Rangkaian Smart Home

Berikut adalah tahapan pembuatan program dan rangkaian Smart Home berbasis Arduino Microcontroller.
Susun rangkaian Smart Home berbasis  Arduino seperti gambar berikut:


Gambar  Rangkaian Smart Home 

























Hubungkan Arduino ke komputer dengan menggunakan kabel USB. kemudian buka software arduino, lalu ketik program untuk mengatur sudut derajat servo.

Baca Juga :




#include <Servo.h> 
char buffer[10]; 
Servo servo1;   

void setup() 
       //posisi pin servo
        servo1.attach(12);  
      
        Serial.begin(9600);
        Serial.flush();
       // kondisi awal servo
        servo1.write(90);  
       
       Serial.println("STARTING...");
  void loop() 
        if (Serial.available() > 0) { 
                int index=0;
                delay(1000); 
                int numChar = Serial.available(); 
                if (numChar>10) {
                numChar=10;
                }
                while (numChar--) {
                        
                        buffer[index++] = Serial.read();
                }
                splitString(buffer); 
        }
}
void splitString(char* data) {
        Serial.print("Data entered: ");
        Serial.println(data);
        char* parameter;
        parameter = strtok (data, " ,"); 
        while (parameter != NULL) { 
                setServo(parameter); 
                parameter = strtok (NULL, " ,"); 
        }                
        for (int x=0; x<9; x++) {
                buffer[x]='\0';
        }
        Serial.flush();
}
void setServo(char* data) {
        if ((data[0] == 'A') || (data[0] == 'a')) {
        // String to long integer
                int firstVal = strtol(data+1, NULL, 10);
        // Constrain values
                firstVal = constrain(firstVal,0,180);
                servo1.write(firstVal);
                delay(1000);
                Serial.print("Servo1 is set to: ");
                Serial.println(firstVal);
        }
      
        }


Setelah menemukan sudut yang sesuai, lalu ketik program di bawah ini. Untuk program ON/OFF Lampu

// kontrol lampu AC dengan Relay
int lampu = 11;
int output;

void setup()
{
  Serial.begin(9600);
  pinMode(lampu, OUTPUT);
   
  void loop()
{
  if (Serial.available()>0)
  {
    int baca = Serial.read();
    if (baca =='x')
    {
    output=1; // 1=HIGH
    }
    if (baca =='y')
    {
    output=0; // 0=LOW
    }
       if(output==1)
       {
       digitalWrite(lampu,HIGH);
       Serial.println("LED NYALA");
       }
       else if(output==0)
       {
       digitalWrite(lampu,LOW);
       Serial.println("LED MATI");
       }
  }


Naah jika udah ngerti cara kerja kedua program diatas, tinggal gabungin aja. seperti dibawah ini tinggal copas ya.


BACA JUGA :

  1. Cara Berbisnis Dropship, Jasa dan Menjadi Seorang Affiliate Tanpa Modal 
  2. Cara Advanced FB ADS dan IG ADS 
  3. Teknik List Building dan Email Marketing 
  4. Membuat Video Profesional dengan Power Point 




#include <SoftwareSerial.h>
#include <Servo.h>

Servo servo1;
int led = 11;
String voice;

void setup() {               
  Serial.begin(9600);
  pinMode(led, OUTPUT);

servo1.attach(12);

servo1.write(0);
}

void loop()
{
 if(Serial.available()>0){
 byte baca=Serial.read();
 Serial.println(baca);

    if(baca == 'a')
    {
     
 
  digitalWrite(led, HIGH);
  Serial.println("LAMPU NYALA");

 
}
 else if (baca == 'b')
{   
  digitalWrite(led,LOW);
  Serial.println("LAMPU MATI");
}
 if(baca == 'c')
    {
     
for(int x=0;x<=90;x++){servo1.write(x); delay(30);} //posisi buka
Serial.println("BUKA PINTU");

}
 else if (baca == 'd')
{
 
for(int x=90;x>=0;x--){servo1.write(x); delay(30);} //posisi menutup Serial.println("TUTUP PINTU"); 
}

 else if(baca == 'e')
    {
     
for(int x=0;x<=90;x++){servo1.write(x); delay(30);} //posisi buka
delay(10);

digitalWrite(led, HIGH);  
delay(1000);

for(int x=90;x>=0;x--){servo1.write(x); delay(30);} //posisi menutup
delay(3000); 
 
 
}
 else if (baca == 'f')
{
for(int x=0;x<=90;x++){servo1.write(x); delay(30);} //posisi buka
delay(1000);

for(int x=90;x>=0;x--){servo1.write(x); delay(30);} //posisi menutup
delay(100); 

digitalWrite(led,LOW);  
delay(10);
}}
}


Pilih Board dan Serial PORT yang di gunakan di menu Tools. Tekan tombol Verify (tanda centang P) di bawah menu file. Jika muncul pesan ”Done Compiling” menunjukkan bahwa tidak ada masalah pada program yang kita ketik.  Selanjutnya tekan tombol Upload (tanda panah ke kanan →) yang ada di kanan tombol Verify sampai muncul pesan “Done Uploading”.

2 comments: