Blog Archive

Arduino Indonesia. Gambar tema oleh Storman. Diberdayakan oleh Blogger.

Supported by Electronics 3 in 1

1. Jasa pencetakan PCB single layer dengan harga paling murah.

(Metode Pembuatan dengan Transfer Toner)
>PCB design sendiri (siap cetak) : Rp.150,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

(Metode Sablon Full Masking dan Silk Screen minimal pemesanan 100 Pcs)
>PCB design sendiri (siap cetak) : Rp.200,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

2. Jasa perancangan, perakitan, dan pembuatan trainer pembelajaran elektronika untuk SMK dan Mahasiswa.

3. Jasa perancangan, perakitan, dan pembuatan berbagai macam kontroller, sensor, aktuator, dan tranduser.
>Design Rangkaian / Sistem Elektronika
>Design Rangkaian / Sistem Instrumentasi
>Design Rangkaian / Sistem Kendali
>Kerjasama Riset (data atau peralatan)
>Kerjasama Produksi Produk-Produk KIT Elektronika
>Produksi Instrumentasi Elektronika

4. Jasa Pembuatan Proyek, Tugas Akhir, Tugas Laboratorium, PKM, Karya Ilmiah, SKRIPSI, dll

Like My Facebook

Popular Posts

Tampilkan postingan dengan label Teknologi Tepat Guna. Tampilkan semua postingan
Tampilkan postingan dengan label Teknologi Tepat Guna. Tampilkan semua postingan

Jumat, 09 Juli 2021

PWM Signal Controller with Arduino Nano (Sinyal PWM Kontroler dengan Arduino Nano)

- 2 komentar

PWM atau kepanjangan Pulse Width Modulation, dalam bahasa Indonesia biasa disebut Modulasi Lebar Pulsa. Pada prinsipnya, PWM adalah salah satu teknik modulasi yang mengubah lebar pulsa (pulse width) dengan nilai frekuensi dan amplitudo (tinggi pulsa) yang tetap. PWM Signal ini digunakan menghasilkan sinyal analog dari perangkat Digital yang salah satu contohnya adalah dari Mikrokontroler.

 

Baca Juga : ESP32 PWM with Arduino IDE (Analog Output)


Berikut ini adalah Schematics Diagram dari PWM Signal Controller with Arduino Nano (Sinyal PWM Kontroler dengan Arduino Nano)




Berikut ini adalah Hardware yang dibutuhkan :
> 1 Pcs - Arduino Nano >>> BELI DISINI
> 1 Pcs - LCD 16x2 >>> BELI DISINI
> 1 Pcs - LCD I2C >>> BELI DISINI
> 1 Pcs - Potensiometer >>> BELI DISINI
> 1 Pcs - Resistor 330 Ohm >>> BELI DISINI
> 1 Pcs - Optocoupler PC817 >>> BELI DISINI
> 1 Pcs - Resistor 1K Ohm >>> BELI DISINI
> 1 Pcs - Transistor TIP142 >>> BELI DISINI
> 1 Pcs - Motor DC >>> BELI DISINI
> 1 Pcs - Sumber Tegangan 12V >>> BELI DISINI
> Kabel Jumper Secukupnya >>> BELI DISINI


Untuk project ini kita menggunakan pin ADC (Analog to Digital Converter) pada Arduino Nano sebagai pintu masuk untuk sinyal input dari Potensiometer. Hal ini dikarenakan memang data dari potensiometer adalah merupakan data analog. Tegangan dari Potensiometer yang berupa data Analog ini kemudian dirubah menjadi data digital berupa bilangan desimal 10 bit yang mempunyai range 0 – 1023.  Dalam bilangan desimal 10 bit, angka 0 ini adalah awal permulaan hitungan. Jadi total nilainya ada 1024. Berikut ini merupakan perhitungan dari konversi data tersebut :


 

Dari perhitungan diatas dapat disimpulkan bahwa setiap 4,88 mV data analog dari potensiometer akan dirubah atau dikonversi menjadi data desimal bernilai 1. Apabila potensiometer bergerak ke 20% dengan perhitungan 20 x 50 mV yaitu 1.000 mV atau sebesar 1 Volt, maka nilai desimalnya adalah 1.000 mV : 4,88 mV = 205. Nilai desimal 205 merupakan sebagian dari nilai maksimal 1024.

Untuk menuju output kita menggunakan pin 11 yang merupakan salah satu dari pin Digital PWM milik Arduino Nano. Berikut ini adalah data pin Digital PWM dari Arduino Nano :



Pemilihan Pin 11 dengan pertimbangan bahwa pin tersebut merupakan pin terluar dari Arduino Nano, sehingga mudah untuk pemasangan ke driver output. Selain itu juga merupakan salah satu pin dengan frekuensi paling rendah. Sehingga tidak mudah merusak komponen optocoupler di bagian driver output. Frekuensinya adalah 490 Hz, artinya dalam 1 detik pin tersebut mengeluarkan 490 kali gelombang penuh PWM. 

 

Dikarenakan pin digital PWM tersebut hanya mampu bekerja di bilangan desimal 8 bit yaitu pada range 0 – 255. Dalam bilangan desimal 8 bit, angka 0 ini adalah awal permulaan hitungan. Jadi total nilainya ada 256. Maka, default bilangan desimal ADC yang bernilai 0 -1023 tersebut harus dirubah dengan hitungan sebagai berikut :


Dari perhitungan diatas dapat disimpulkan bahwa setiap 19,53 mV data analog dari potensiometer akan dirubah atau dikonversi menjadi data desimal bernilai 1. Apabila potensiometer bergerak ke 20% dengan perhitungan 20 x 50 mV yaitu 1.000 mV atau sebesar 1 Volt, maka nilai desimalnya adalah 1.000 mV : 19,53 mV = 51. Nilai desimal 51 merupakan sebagian dari nilai maksimal 256.


Berikut ini adalah Code Programnya :


/***************************

PWM Signal Controller with Arduino Nano (Sinyal PWM Kontroler dengan Arduino Nano)

Oleh : Arduino Indonesia
Website : www.arduinoindonesia.id
Toko Online : www.workshopelectronics3in1.com
Blog : www.edukasielektronika.com

Copyright @2021

****************************/ 


#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);

byte Potensiometer = A1;
byte Pin_Out = 11;
int Output;
int PWM_Value;
int DutyCycle;

void setup()
{
  Serial.begin(9600);
  lcd.init(); // initialize the lcd
  lcd.backlight();
  pinMode(Potensiometer, INPUT);
}

void loop()
{
  Output = analogRead(Potensiometer);
  PWM_Value = map(Output, 0, 1023, 0, 255);
  DutyCycle = PWM_Value/2.56;
  analogWrite(Pin_Out, DutyCycle);
  lcd.setCursor(0, 0); //baris pertama  
  lcd.print("Freq: ");
  lcd.print("490 Hz");  
  lcd.setCursor(0, 1); //baris kedua
  lcd.print("DutyCycle: ") ;
  lcd.print(DutyCycle);
  lcd.print("%      ");
  delay(2);
}


Perhitungan dan penjelasan diatas apabila di implementasikan ke dalam Code Program adalah sebagai berikut :

 

 

Dalam konsep sinyal PWM ada yang namanya Duty Cycle. Definisi Duty Cycle adalah representasi dari kondisi logika high dalam suatu periode sinyal dan di nyatakan dalam bentuk (%) dengan range 0% sampai 100%, sebagai contoh jika sinyal berada dalam kondisi high terus menerus artinya memiliki duty cycle sebesar 100%. Jika waktu sinyal keadaan high sama dengan keadaan low maka sinyal mempunyai duty cycle sebesar 50%

 

Aplikasi penggunaan PWM biasanya ditemui untuk pengaturan kecepatan motor dc, pengaturan cerah/redup LED, dan pengendalian sudut pada motor servo. Contoh penggunaan PWM pada pengaturan kecepatan motor dc semakin besar nilai duty cycle yang diberikan maka akan berpengaruh terhadap cepatnya putaran motor. Apabila nilai duty cylce-nya kecil maka motor akan bergerak lambat.

 

Cara menghitung Duty Cycle pada project ini menggunakan rumus sebagai berikut :

 

 

Implementasi ke dalam Code program adalah sebagai berikut :











Selasa, 23 Februari 2021

Tutorial Membuat Security System Kontak Sepeda Motor Menggunakan RFID dan Fingerprint Berbasis Arduino Nano dengan Notifikasi SMS

- 3 komentar

Sebelum Membuat Security System Kontak Sepeda Motor Menggunakan RFID dan Fingerprint Berbasis Arduino Nano dengan Notifikasi SMS, lebih baik anda membaca terlebih dahulu mengenai Arduino Nano, RFID, dan Fingerprint. Alat ini sangat bermanfaat untuk di daerah yang rawan pencurian kendaraan bermotor. Karena motor hanya bisa di nyalakan menggunakan Kartu RFID milik kita dan Sidik jari milik kita. Pengamanan berlapis. 


Baca Juga : Tutorial Membaca E-KTP (KTP Elektronik) dengan RFID Reader RC522 Berbasis Arduino Uno .


Berikut ini adalah Schematics Diagram dari Security System Kontak Sepeda Motor Menggunakan RFID dan Fingerprint Berbasis Arduino Nano dengan Notifikasi SMS :

 


 

Berikut ini adalah Hardware yang dibutuhkan :

> 2 Pcs - Arduino Nano >>> BELI DISINI
> 1 Pcs - RFID Reader RC522 >>> BELI DISINI
> 1 Pcs - Sensor Fingerprint >>> BELI DISINI
> 1 Pcs - Module SIM800L >>> BELI DISINI
> 3 Pcs - LM2596 >>> BELI DISINI
> 2 Pcs - Relay SPDT 5 Volt >>> BELI DISINI
> 2 Pcs - Transistor BC547 >>> BELI DISINI
> 2 Pcs - Resistor 560 Ohm >>> BELI DISINI
> 2 Pcs - Dioda 1N4148 >>> BELI DISINI
> 1 Pcs - Elco 470uF/16V >>> BELI DISINI
> 2 Pcs - Terminal Screw 3 Pin >>> BELI DISINI
> 2 Pcs - Terminal Screw 2 Pin >>> BELI DISINI
> 2 Pcs - Header Female 40 Pin >>> BELI DISINI
> 2 Pcs - Header Male 40 Pin >>> BELI DISINI
> 1 Pcs - PCB Polos 10x10 cm >>> BELI DISINI
> 1 Pcs - Feric Chlorida >>> BELI DISINI
> Kabel Jumper Secukupnya >>> BELI DISINI
> Timah Solder Secukupnya >>> BELI DISINI
> Kertas Art Paper Secukupnya >>> BELI DISINI
 
 
Berikut ini adalah Code Program untuk Arduino Nano 1 :


/***************************

Tutorial Membuat Security System Kontak Sepeda Motor Menggunakan RFID dan Fingerprint Berbasis Arduino Nano dengan Notifikasi SMS

Oleh : Arduino Indonesia
Website : www.arduinoindonesia.id
Toko Online : www.workshopelectronics3in1.com
Blog : www.edukasielektronika.com

Copyright @2021

****************************/

//Library and Declaration Finger Print
#include <Wire.h>
#include <Adafruit_Fingerprint.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(5, 4);
int fingerprintID = 00;
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

//Library and Declaration RFID
#include <SPI.h>
#include <RFID.h>
#define SS_PIN 10
#define RST_PIN 9
RFID rfid(SS_PIN,RST_PIN);

int serNum[5];          //Variable buffer Scan Card
int cards[10][5] = {{117, 201, 155, 115, 84},    //YOSHUA - 0
                    {36, 58, 122, 137, 237},    //ANITA - 1
                   };

bool access = false;
String Nama;
int count;

//Declaration Relay Output
const int Relay_Kontak = 6;
const int Relay_Starter = 7;

//Declaration Communication to SIM800L
const int SMS = 2;

void setup()
{
  Serial.begin(9600);
  finger.begin(57600);
  Wire.begin();
  SPI.begin();
  rfid.init();
  pinMode(Relay_Kontak, OUTPUT);
  pinMode(Relay_Starter, OUTPUT);
  pinMode(SMS, OUTPUT);
  digitalWrite(Relay_Kontak, LOW);
  digitalWrite(Relay_Starter, LOW);
  digitalWrite(SMS, LOW);
 
  if (finger.verifyPassword())
  {
    Serial.println("Sensor ditemukan");
    delay(500);
  }
  else
  {
    Serial.println("no sensor :(");
    delay(500);
    while (1)
    {
      delay(1);
    }
  }

  while (!Serial)
  {
    ; // wait for serial port to connect. Needed for native USB port only
  }
}

void loop()
{
  fingerprintID = getFingerprintIDez();
  delay(50);
 
  if(fingerprintID == 1)
  {
    String IDname_1 = "YOSHUA";
    digitalWrite(Relay_Starter, HIGH);
    delay(2500);
    digitalWrite(Relay_Starter, LOW);
    Serial.println(IDname_1);
    fingerprintID = 00;
  }  
  else if(fingerprintID == 2)
  {
    String IDname_2 = "ANITA";
    digitalWrite(Relay_Starter, HIGH);  
    delay(2500);
    digitalWrite(Relay_Starter, LOW);
    Serial.println(IDname_2);
    fingerprintID = 00;        
  }

  if(rfid.isCard())
  {
    if(rfid.readCardSerial())
    {
      for(int x = 0; x < sizeof(cards); x++)
      {
        for(int i = 0; i < sizeof(rfid.serNum); i++ )
        {
          if(rfid.serNum[i] == cards[0][i])
          {
            access = true;
            Nama = "YOSHUA";
          }
          else if(rfid.serNum[i] == cards[1][i])
          {
            access = true;
            Nama = "ANITA";
          }   
          else
          {
            access = false;
            break;
          }
        }
        if(access)break;
      }   
    }
    
    if(access)
    {
      count++;
      if(count==1)
      {
        Serial.println(Nama);
        digitalWrite(Relay_Kontak, HIGH);
      }
      if(count==2)
      {
        Serial.println("Motor Mati");
        digitalWrite(Relay_Kontak, LOW);
        count=0;
      }
    }
    else
    {
      Serial.println("SMS Dikirim");
      digitalWrite(SMS, HIGH);
    }
    delay(1000);        
  }    
  rfid.halt();
}

int getFingerprintIDez()
{
  uint8_t x = finger.getImage();
  if (x != FINGERPRINT_OK)  return -1;
 
  x = finger.image2Tz();
  if (x != FINGERPRINT_OK)  return -1;
 
  x = finger.fingerFastSearch();
  if (x != FINGERPRINT_OK)  return -1;
 
  //menulis di komunikasi serial
  Serial.print("Found ID #");
  Serial.print(finger.fingerID);
  Serial.print(" with confidence of ");
  Serial.println(finger.confidence);
  return finger.fingerID;
}


Berikut ini adalah Code Program untuk Arduino Nano 2 :

//Library and Declaration Variabel SIM800L
#include "SIM900.h"         
#include "sms.h"            
#include <SoftwareSerial.h>
SMSGSM sms;                 
char smsbuffer[160];        
char n[20];                 
boolean started=false;      

//Declaration Variabel From Sensor
const int Maling = 4;

void setup()
{
  Serial.begin(9600);             
  pinMode(Maling, INPUT);

  if (gsm.begin(9600))            
  {
    Serial.println("\nstatus=READY");
    started=true;                     
  }
  else                                
  {
    Serial.println("\nstatus=IDLE");
  }
}

void loop()
{
  const int Peringatan = digitalRead(Maling);

  if(started)                                                           
  {  
    if(Peringatan == HIGH)                                                     
    {                                
      sms.SendSMS("08xxxxxxxxx", "Awas MALING !!!");
    }
    else                     
    {
      Serial.println("Motor Diakses oleh Pemilik");
    }
  }
  delay(1000);
}


Berikut ini adalah Video Uji Coba tanpa Notifikasi SMS :



 
 

 

Rabu, 09 September 2020

Alat Pengukur Ketinggian dan Aliran Air sebagai Pendeteksi Dini Banjir di Sungai Berbasis Arduino Uno

- 1 komentar

Indonesia merupakan daerah dengan 2 musim di setiap tahunnya. Musim tersebut adalah musim kemarau dan musim penghujan. Saat musim hujan tiba, biasanya akan banyak sungai yang meluap dan menyebabkan Banjir. Untuk melakukan mitigasi, maka kami mencoba membuat Alat Pengukur Ketinggian dan Aliran Air sebagai Pendeteksi Dini Banjir di Sungai Berbasis Arduino Uno


Alat ini mengukur Ketinggian dan Kecepatan Aliran Sungai yang kemudian apabila melebihi ambang batas tertentu akan mengirimkan notifikasi peringatan melalui SMS. Sehingga dapat menghindari kerugian dan korban jiwa, karena banjir bisa di deteksi secara Dini sebelum benar-benar meluap ke permukaan.


Baca Juga : Cara Program dan Akses Modul GSM SIM800L V.1 Menggunakan Arduino Nano/Uno .


Berikut ini adalah gambar Schematics Diagram Alat Pengukur Ketinggian dan Aliran Air sebagai Pendeteksi Dini Banjir di Sungai Berbasis Arduino Uno :


Berikut ini adalah Hardware yang dibutuhkan :

1. Arduino Uno R3 >>> BELI DISINI
2. Sensor Ultrasonic >>> BELI DISINI
3. Module SIM800L >>> BELI DISINI
4. Water Flow Sensor >>> BELI DISINI
5. Kabel Jumper Secukupnya >>> BELI DISINI
6. Dioda 1N4007 >>> BELI DISINI
7. Elco 470uF/16V >>> BELI DISINI


Berikut ini adalah Code Programnya :

/***************************

Alat Pengukur Ketinggian dan Aliran Air sebagai Pendeteksi Dini Banjir di Sungai Berbasis Arduino Uno

Oleh : Arduino Indonesia
Website : www.arduinoindonesia.id
Toko Online : www.workshopelectronics3in1.com
Blog : www.edukasielektronika.com

Copyright @2020

****************************/

//Declare GSM
#include "SIM900.h"
#include "sms.h"
SMSGSM sms;
char smsbuffer[160];
char n[20];
boolean started=false;
#include <SoftwareSerial.h>

//Declare Sensor Ultrasonic
#define triger 8 //mendefinisikan trigger pada pin 8
#define echo 9 //mendeklarasikan echo pada pin 9

//Declare Sensor Water Flow
byte sensorInt = 0;
byte flowSensor_pin = 5;
float konst = 4.5;
float debit_air;
volatile byte count;
unsigned int flow_mlt;
unsigned long total_volume;
unsigned long oldTime;
unsigned int frac;

void setup()
{
  Serial.begin(9600);
  pinMode (triger, OUTPUT); //trigger sebagai output
  pinMode (echo, INPUT); //echo sebagai input
 
  pinMode(flowSensor_pin, INPUT);
  digitalWrite(flowSensor_pin, HIGH);
 
  if (gsm.begin(9600))
  {
    Serial.println("\nstatus=READY");
    started=true;
  }
  else Serial.println("\nstatus=IDLE");
 
  if (started)
  {
    sms.SendSMS("0857xxxxxxxxxx", "Sistem Monitoring READY!!!");
  }

  count        = 0;
  debit_air    = 0.0;
  flow_mlt     = 0;
  total_volume = 0;
  oldTime      = 0;

  attachInterrupt(sensorInt, countPulse, FALLING);
  Serial.println("Menggunakan Water Flow Sensor");
}

void waterflow()
{
  if ((millis() - oldTime) > 1000)
  {
    detachInterrupt(sensorInt);
    debit_air = ((1000.0 / (millis() - oldTime)) * count) / konst;
    oldTime = millis();
    flow_mlt = (debit_air / 60) * 1000;
    total_volume += flow_mlt;

    frac;

    Serial.print("Debit air: ");
    Serial.print(int(debit_air));
    Serial.println(" L/min");

    Serial.print("Volume air: ");
    Serial.print(total_volume);
    Serial.println(" mL");

    count = 0;

    attachInterrupt(sensorInt, countPulse, FALLING);
  }
}

void loop()
{
  digitalWrite (triger, HIGH); //mengirim suara
  delayMicroseconds(10); //selama 10 mikro detik
  digitalWrite (triger, LOW); //berhenti mengirim suara

  float jarak = pulseIn(echo, HIGH); //membaca data dan di masukkan ke variabel jarak
  jarak=jarak/1000000; //konversi mikro detik ke detik
  jarak=jarak*330/2; //data mentah di ubah ke dalam meter
  jarak=jarak*100; //mengubah data ke dalam centi meter
  Serial.println(jarak); //menampilkan nilai jarak pada serial

  if(started)
  {
    sms.GetSMS(1,n,20,smsbuffer,100);
    if(jarak <= 10.00)
    {
      sms.SendSMS("Nomor HP Anda","Ketinggian Berbahaya");
    }
    if(jarak > 10.00 && jarak <=20.00)
    {
      sms.SendSMS("Nomor HP Anda","Ketinggian Waspada");
    }
    if(jarak > 20.00)
    {
      sms.SendSMS("Nomor HP Anda","Ketinggian Normal");
    }
  }
  delay(5000);
 
  waterflow();
  if(started)
  {
    if(debit_air <=1 ) //Liter/Jam
    {
      sms.SendSMS("Nomor HP Anda","Debit Normal");
    }
    if(debit_air > 1 && debit_air <= 3) //Liter/Jam
    {
      sms.SendSMS("Nomor HP Anda","Debit Waspada");
    }
    if(debit_air > 3) //Liter/Jam
    {
      sms.SendSMS("Nomor HP Anda","Debit Berbahaya");
    }
  }
  delay(5000);           
}

void countPulse()
{
  count++;
}


Selamat Mencoba !!!





Rabu, 26 Agustus 2020

Tutorial Membuat Alat Penetas (Tetas) Telur Otomatis - Inkubator Tetas Telur Berbasis Arduino Uno

- 4 komentar

Alat ini khusus kami dedikasikan untuk para peternak Ayam skala kecil yang punya hobi untuk memelihara ayam dirumah. Kami berikan Tutorial Membuat Alat Penetas (Tetas) Telur Otomatis - Inkubator Tetas Telur Berbasis Arduino Uno. Suhu ideal yang tepat pada mesin penetas telur unggas seperti telur bebek, telur ayam, telur itik, dan telur puyuh biasanya diatur dan dipertahankan antara 37°C - 40°C. Sedangkan untuk kelembabannya bisa diatur pada kisaran antara 50-60%.

 

Ketepatan pemembacaan thermometer sangat penting bagi pengaturan suhu yang benar. Oleh sebab itu untuk pembacaan paling akurat adalah dengan meletakkan termometer di antara (tengah) barisan Telur. 


Prinsip kerja alat ini adalah menyalakan lampu pijar pemanas saat suhu dibawah 37°C dan mematikan lampu pijar pemanas saat suhu diatas 40°C. Namun mengingat pembacaan sensor suhu tidak mungkin 100% akurat, maka penyimpangan +/- 0,5°C masih bisa ditoleransi. Sehingga kami atur suhu berada di posisi antara 37.5°C sampai dengan 39.5°C.

 

Berikut ini adalah gambar Schematic Diagram Alat Penetas (Tetas) Telur Otomatis - Inkubator Tetas Telur Berbasis Arduino Uno :

 

Berikut ini adalah Hardware yang dibutuhkan :

1. Arduino Uno R3 >>> BELI DISINI
2. Module DHT11 >>> BELI DISINI
3. Module Relay 1 Channel >>> BELI DISINI
4. Lampu Pijar >>> BELI DISINI
5. Kabel Jumper Secukupnya >>> BELI DISINI


Silahkan Download Library DHT11 KLIK DISINI.


Berikut ini adalah Code Programnya :

/***************************

Alat Penetas (Tetas) Telur Otomatis - Inkubator Tetas Telur Berbasis Arduino Uno

Oleh : Arduino Indonesia
Website : www.arduinoindonesia.id
Toko Online : www.workshopelectronics3in1.com
Blog : www.edukasielektronika.com

Copyright @2020

****************************/

//DHT Library
#include "DHT.h"
#define DHTPIN 3
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

const int Relay = 2;

void setup()
{
  Serial.begin(9600);
  dht.begin();
  pinMode(Relay, OUTPUT);
  digitalWrite(Relay, LOW);
}

void loop()
{
  float temp = dht.readTemperature();
  int hum = dht.readHumidity();
  delay(1000);
 
  if (temp <= 37.5 || hum >= 60)
  {
    digitalWrite(Relay, LOW);
  }
  if (temp >= 39.5 || hum <= 50)
  {
    digitalWrite(Relay, HIGH);
  }
}


Selamat Mencoba !!!

Senin, 24 Agustus 2020

Tutorial Membuat Alat Pendingin Buah Otomatis Berbasis Arduino Uno

- 4 komentar

Untuk Anda yang tidak memiliki Kulkas atau Lemari ES dirumah, kami akan membagikan Tutorial Membuat Alat Pendingin Buah Otomatis Berbasis Arduino Uno. Alat ini bisa Anda gunakan untuk menyimpan buah agar sedikit lebih awet karena berada pada suhu dingin. Anda tidak perlu khawatir mengenai biaya, karena alat ini menggunakan Styrofoam bekas sebagai bahan utamanya. Berikut ini adalah gambar Box Styrofoam yang bisa Anda gunakan untuk membuat Alat Pendingin Buah Otomatis Berbasis Arduino Uno :

 

 

Berikut ini adalah Rancang Bangun Alat Pendingin Buah Otomatis Berbasis Arduino Uno :

 

Berikut ini adalah Gambar Schematic Alat Pendingin Buah Otomatis Berbasis Arduino Uno:

Berikut ini adalah Hardware yang dibutuhkan :
1. Arduino Uno R3 >>> BELI DISINI
2. Module LCD 1602 >>> BELI DISINI
3. Module I2C LCD >>> BELI DISINI
4. Resistor 10K Ohm >>> BELI DISINI
5. Tombol Push Button >>> BELI DISINI
6. Module Peltier+Kipas In/Out >>> BELI DISINI

7. Module Relay 4 Channel >>> BELI DISINI

8. Kabel Jumper Secukupnya >>> BELI DISINI

 

Berikut ini adalah Code Programnya : 

/***************************

Tutorial Membuat Alat Pendingin Buah Otomatis Berbasis Arduino Uno

Oleh : Arduino Indonesia
Website : www.arduinoindonesia.id
Toko Online : www.workshopelectronics3in1.com
Blog : www.edukasielektronika.com

Copyright @2020

****************************/

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);

const int Tombol1 = 4;
const int Tombol2 = 5;
const int Tombol3 = 6;
const int Peltier = 8;

const int pSuhu = A0;
float suhu, data;

int setPoint;
byte setSP, f_awal;
long lastButton = 0;
long delayAntiBouncing = 50;

void setup()
{
  analogReference(INTERNAL);
  pinMode(pSuhu, INPUT);
  pinMode(Tombol1, INPUT);
  pinMode(Tombol2, INPUT);
  pinMode(Tombol3, INPUT);
  pinMode(Peltier, OUTPUT);
  lcd.init(); // initialize the lcd
  lcd.backlight();
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("ALAT PENDINGIN  ");
  lcd.setCursor(0, 1);
  lcd.print("& PENGAWET BUAH ");
  delay(5000);
  lcd.clear();
  setPoint = 14;
}

void loop()
{
  lcd.setCursor(0,0);
  lcd.print("SP=");
  lcd.print(setPoint);
  lcd.print((char)223);
  lcd.print("C");
 
  data = analogRead(pSuhu);
  suhu = data / 9.309;
  lcd.setCursor(8, 0); //baris pertama
  lcd.print("T=");  
  lcd.print(suhu);
  lcd.print((char)223);
  lcd.print("C");
 
  if (suhu<(setPoint-1) || f_awal == 0)
  {
    lcd.setCursor(0,1);
    lcd.print(" Pendingin OFF  ");
    digitalWrite(Peltier, LOW);
    f_awal=1;
  }
  else if (suhu>=setPoint)
  {
    lcd.setCursor(0,1);
    lcd.print("  Pendingin ON  ");
    digitalWrite(Peltier, HIGH);
  }
  tombol();
  delay(100);
}

void tombol()
{
  digitalWrite(Tombol1, LOW);
  digitalWrite(Tombol2, LOW);
  digitalWrite(Tombol3, LOW);

  if (digitalRead(Tombol1)==1)
  {
    lcd.clear();
    lcd.print("Setting SetPoint");
    lcd.setCursor(9,0);
    delay(1000);
    lcd.clear();
    setSP++;

    do
    {
      if(digitalRead(Tombol1)==1)
      {
        if ((millis()-lastButton)>delayAntiBouncing)
        {
          setSP++;
        }
        lastButton = millis();
      }
     
      else if(digitalRead(Tombol2)==1)
      {
        if((millis()-lastButton)>delayAntiBouncing)
        {
          setPoint++;
        }
        lastButton = millis();
      }

      else if(digitalRead(Tombol3)==1)
      {
        if((millis()-lastButton)>delayAntiBouncing)
        {
          if(setPoint>0)
          {
            setPoint--;
          }
        }
        lastButton=millis();
      }
      lcd.setCursor(0,0);
      lcd.print("SP=");
      lcd.print(setPoint);
      lcd.print((char)223);
      lcd.print("C");
    }
    while (setSP<2);
    setSP=0;
    f_awal=0;
    lcd.clear();
    lcd.print("Set Point OK!");
    delay(1000);
    lcd.clear();
  }
}

 

Selamat Mencoba !!!

 

Sabtu, 22 Agustus 2020

Tutorial Membuat GPS Tracker menggunakan GPS NEO 6M dan SIM800L Berbasis Arduino Uno

- 21 komentar

Disaat Pandemi Covid-19 saat ini angka kejahatan meningkat. Hal ini karena berbanding lurus dengan Angka pengangguran yang meningkat. Kejahatan yang paling banyak adalah begal dan pencurian kendaraan bermotor. Kali ini kami akan berbagi tentang Tutorial Membuat GPS Tracker menggunakan GPS NEO 6M dan SIM800L Berbasis Arduino Uno. Alat ini berfungsi untuk melakukan pelacakan Posisi kendaraan kita menggunakan GPS. 

 

Baca Juga : Cara Program dan Akses Modul GSM SIM800L V.1 Menggunakan Arduino Nano/Uno.

 

Cara kerjanya adalah jika kita mengirimkan perintah pelacakan pada GPS Tracker, maka SIM800L akan mengirimkan SMS berupa link Koordinat Posisi Kendaraan kita. Link tersebut bisa digunakan untuk melacak Posisi Kendaraan menggunakan Google Maps. 

 

Berikut ini adalah Bentuk Fisik dari GPS NEO 6M:

 

Berikut ini adalah Schematic Diagram GPS Tracker menggunakan GPS NEO 6M dan SIM800L Berbasis Arduino Uno

Berikut ini adalah Hardware yang dibutuhkan :

1. Arduino Uno R3 >>> BELI DISINI

2. Module GPS NEO 6M >>> BELI DISINI

3. Module SIM800L >>> BELI DISINI

4. Dioda 1N4007 >>> BELI DISINI

5. Elco 470uF/16 Volt >>> BELI DISINI

6. Kabel Jumper Secukupnya >>> BELI DISINI


Berikut ini adalah Code Programnya :

 

/***************************

Tutorial Membuat GPS Tracker menggunakan GPS NEO 6M dan SIM800L Berbasis Arduino Uno

Oleh : Arduino Indonesia
Website : www.arduinoindonesia.id
Toko Online : www.workshopelectronics3in1.com
Blog : www.edukasielektronika.com

Copyright @2020

****************************/

#include "SIM900.h"
#include "sms.h"
SMSGSM sms;
char buffer[160];
char smsbuffer[160];
char n[20];
unsigned long last = 0UL;

#include "SoftwareSerial.h"

#include <TinyGPS++.h>
TinyGPSPlus gps;

#include <PString.h>
PString str(buffer, sizeof(buffer));
String kirim="";

int Buzzer = 12;

void setup()
{
  pinMode(Buzzer,OUTPUT);
  Serial.begin(9600);
  if (gsm.begin(9600))
  {
    sms.SendSMS("Nomor HP Anda", "GPS TRACKER ONLINE");
    delsms();
    digitalWrite(Buzzer,HIGH);
    delay(1000);
    digitalWrite(Buzzer,LOW);
    delay(1000);
    digitalWrite(Buzzer,HIGH);
    delay(1000);
    digitalWrite(Buzzer,LOW);
    delay(1000);
    digitalWrite(Buzzer,HIGH);
    delay(1000);
    digitalWrite(Buzzer,LOW);
    delay(1000);
  }
}

void loop()
{
  kirim="";
  while (Serial.available() > 0)
  if( gps.encode(Serial.read()))
  info();
}

void(* resetFunc) (void) = 0;

void delsms()
{
  for (int i=0; i<10; i++)
  { 
    int pos=sms.IsSMSPresent(SMS_ALL);
    if (pos!=0)
    {
      if (sms.DeleteSMS(pos)==1)
      {
      }
      else
      {
      }
    }
  }
}

void info()
{
  str.begin();
  str.print("https://maps.google.com/maps?q=");
  str.print(gps.location.lat(), 6);
  str.print(F(","));
  str.print(gps.location.lng(), 6);
  kirim=str;
   
  int pos=0;
  pos=sms.IsSMSPresent(SMS_ALL);
  if(pos)
  {
    sms.GetSMS(pos,n,20,smsbuffer,100);
    if(!strcmp(smsbuffer,"TrackingGPS"))
    {
      digitalWrite(Buzzer,HIGH);
      str.begin();
      str.print(kirim);
      sms.SendSMS(n,buffer);
      digitalWrite(Buzzer,LOW);
    }
    if(!strcmp(smsbuffer,"ResetGPS"))
    {
      sms.SendSMS(n,"GPS TRACKER RESET");
      delay(5000);
      resetFunc();
    }
    delsms();
  }


Selamat Mencoba.



 



Rabu, 19 Agustus 2020

Sistem Monitoring Lingkungan (SIMOLIN) - Kota Blitar - Jawa Timur | simolin.blitarkota.go.id

- Tidak ada komentar

Kota Blitar ditargetkan Menuju Smart City 4.0 di tahun 2021. Maka, semua hal yang bersifat publik sudah harus menggunakan teknologi cerdas sebagai tonggak utamanya. Salah satunya adalah Sistem Monitoring Lingkungan (SIMOLIN) - Kota Blitar - Jawa Timur.


Teknologi dari Sistem Monitoring Lingkungan (SIMOLIN) menggunakan "Internet of Things" (IoT). Salah satu bidang yang sedang digencarkan di Revolusi Industri 4.0. Fungsi utama sistem ini adalah untuk mengambil kebijakan publik yang diperoleh dari hasil analisis data yang tersimpan di Data Center milik pemerintah Kota Blitar.


Masyarakat Kota Blitar pada khususnya dan Masyarakat Umum di sekitar Kota Blitar dapat melakukan Monitoring 4 Parameter lingkungan. 4 Parameter tersebut adalah :
1. Suhu
2. Kelembaban
3. Polusi Udara
4. Curah Hujan

Semua data disimpan pada Data Center milik Pemerintah Kota Blitar. Real Time Update setiap 30 Menit Sekali. Untuk awal sementara ini IoT Node beserta Sensornya dipasang di 2 Tempat. Yaitu di PIPP Makam Bung Karno dan di Alun-Alun Kota Blitar.

Link Website : simolin.blitarkota.go.id 

Versi Full untuk Monitor Komputer : simolin.blitarkota.go.id/videotron

Versi Apps dalam masa pengembangan, silahkan download di PlayStore : SIMOLIN.

 

Video On Youtube :

 



Sistem ini adalah Kerjasama antara Pemerintah Kota Blitar dengan CV. Indoniaga Technology Corpora.

 

 

Jumat, 29 Mei 2020

Cara Membuat Alat Otomatis Desinfectan Chamber (Bilik Desinfektan) untuk Covid-19 Menggunakan Arduino Nano

- 3 komentar
Baru-baru ini dunia digegerkan dengan wabah pendemi Virus Corona atau biasa disebut dengan Covid-19. Virus ini sangat mudah menular dengan sentuhan atau sejenisnya. Ini menjadi masalah tersendiri jika berada di tempat umum yang kemungkinan sangat sulit untuk menjaga jarak.

Maka, kami melakukan inovasi untuk membuat sebuah Alat Otomatis Desinfectan Chamber (Bilik Desinfektan) yang bisa dipasang ditempat umum. Agar sebelum masuk ke tempat umum dapat dilakukan sterilisasi virus secara otomatis tanpa melakukan kontak dengan orang lain. Cairan yang digunakan sebagai desinfektan harus aman digunakan pada manusia.

Berikut ini kami berikan Tutorial Cara Membuat Alat Otomatis Desinfectan Chamber (Bilik Desinfektan) untuk Covid-19 Menggunakan Arduino Nano. Dibawah ini adalah Video dari bentuk Fisik dan uji coba dari  Alat Otomatis Desinfectan Chamber (Bilik Desinfektan) untuk Covid-19 Menggunakan Arduino Nano :


Berikut ini adalah Schematic Alat Otomatis Desinfectan Chamber (Bilik Desinfektan) untuk Covid-19 Menggunakan Arduino Nano :

Schematic Desinfectan Chamber

Berikut ini adalah Hardware yang dibutuhkan :
1. Arduino Nano V.3 >>> BELI DISINI
2. Module LCD 16x2 With I2C >>> BELI DISINI
3. Sensor Ultrasonic >>> BELI DISINI
4. Module Relay 1 Channel >>> BELI DISINI
5. Buzzer 12 Volt >>> BELI DISINI
6. Kabel Jumper >>> BELI DISINI

Berikut ini adalah Code Programnya :

/***************************

Alat Otomatis Desinfectan Chamber (Bilik Desinfektan) untuk Covid-19 Menggunakan Arduino Nano

Oleh : Arduino Indonesia
Website : www.arduinoindonesia.id
Toko Online : www.workshopelectronics3in1.com
Blog : www.edukasielektronika.com

Copyright @2020

****************************/

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);

const int TRIGPIN = 8;        
const int ECHOPIN = 9;
long timer;
int jarak;

const int Relay = 2;
const int Buzzer = 12;
 
void setup()
{
  Serial.begin(9600);
  lcd.init(); // initialize the lcd
  lcd.backlight();
  pinMode(Relay, OUTPUT);
  pinMode(Buzzer, OUTPUT);
  pinMode(ECHOPIN, INPUT);
  pinMode(TRIGPIN, OUTPUT);
  digitalWrite(Buzzer, HIGH);
  delay(250);
  digitalWrite(Buzzer, LOW);
  delay(250);
  digitalWrite(Buzzer, HIGH);
  delay(250);
  digitalWrite(Buzzer, LOW);
  delay(250);
  lcd.setCursor(0,0);
  lcd.print("  DESINFECTION  ");
  lcd.setCursor(0,1);
  lcd.print("     CHAMBER    ");
  delay(5000);
  lcd.clear();
  digitalWrite(Relay,LOW);
}

void loop()
{
  digitalWrite(TRIGPIN, LOW);                  
  delayMicroseconds(2);
  digitalWrite(TRIGPIN, HIGH);                 
  delayMicroseconds(10);
  digitalWrite(TRIGPIN, LOW);                  

  timer = pulseIn(ECHOPIN, HIGH);
  jarak = timer/58;
  delay(250);             

  if(jarak < 60)
  {
    digitalWrite(Buzzer, HIGH);
    delay(1000);
    digitalWrite(Buzzer,LOW);
    lcd.clear();
    lcd.setCursor (0,0);
    lcd.print(F("   DESINFECTAN  "));
    lcd.setCursor (0,1);
    lcd.print(F(" SEDANG MENYALA "));
    digitalWrite(Relay,HIGH);
    delay(7000);
    lcd.clear();
    lcd.setCursor (0,0);
    lcd.print(F("   DESINFECTAN  "));
    lcd.setCursor (0,1);
    lcd.print(F(" SELESAI BEKERJA"));
    digitalWrite(Relay,LOW);
    digitalWrite(Buzzer, HIGH);
    delay(1000);
    digitalWrite(Buzzer,LOW);
  }
  else
  {
    lcd.setCursor (0,0);
    lcd.print(F(" Selamat Datang "));
    lcd.setCursor (0,1);
    lcd.print(F(" Silahkan Masuk "));
    digitalWrite(Relay,LOW);
    digitalWrite(Buzzer,LOW);
  }
}


Selamat Mecoba !!!