• Tidak ada hasil yang ditemukan

Perancangan dan Pembuatan Alat Penyiram Tanaman Otomatis Dengan Smartphone Android Berbasis Arduino

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perancangan dan Pembuatan Alat Penyiram Tanaman Otomatis Dengan Smartphone Android Berbasis Arduino"

Copied!
5
0
0

Teks penuh

(1)

LISTING PROGRAM

1. Program Arduino

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

#define button 8 #define button1 2 #define relay 9

#include <DS1307RTC.h> #include <Wire.h> #include <TimeLib.h>

SoftwareSerial wifi(2,11); Servo servoMain;

int sensorPin = A0; int powerPin = 6; int kelembaban;

int data;

void setup() {

// put your setup code here, to run once: wifi.begin(115200);

Serial.begin(4800); servoMain.attach(10);

pinMode(button, INPUT);digitalWrite(button,HIGH); pinMode(relay, OUTPUT);digitalWrite(relay,HIGH); pinMode(wifi, INPUT);digitalWrite(wifi,LOW);

pinMode(powerPin, OUTPUT);

digitalWrite(powerPin, HIGH); }

void loop() {

// put your main code here, to run repeatedly:

tmElements_t tm;

if (RTC.read(tm)) {

Serial.print("Ok, Time = "); print2digits(tm.Hour);

Serial.write(':');

print2digits(tm.Minute); Serial.write(':');

print2digits(tm.Second);

Serial.print(", Date (D/M/Y) = "); Serial.print(tm.Day);

(2)

Serial.print(tmYearToCalendar(tm.Year)); Serial.println();}

if(wifi.available()>0){ data=wifi.read(); }

kelembaban = bacaSensor(); Serial.print("Kelembaban =" ); Serial.println(kelembaban);

if(digitalRead(button)==LOW){

digitalWrite(relay,LOW);

int i,x;

for(x=0;x<=2;x++) {

for(i=1;i<=180;i++) {

servoMain.write(i); delay(50);

}

for(i=180;i>=0;i--) {

servoMain.write(i);

digitalWrite(relay,LOW); delay(50);

} } }

else if(data == 'H'){ digitalWrite(relay,LOW); int i,x;

for(x=0;x<=2;x++) {

for(i=1;i<=180;i++) {

servoMain.write(i); delay(50);

}

for(i=180;i>=0;i--) {

servoMain.write(i); delay(50);

} } }

else if(tm.Hour == 20 && tm.Minute == 42 && tm.Second == 00) {

(3)

for(i=20;i<=160;i++) {

servoMain.write(i); delay(50);}

for(i=160;i>=20;i--) {

servoMain.write(i); delay(50);

} } }

else if(kelembaban >= 500) {

digitalWrite(relay,LOW); int i,a;

for(a=1;a<=3;a++) {

for(i=20;i<=160;i++) {

servoMain.write(i); delay(50);

}

for(i=160;i>=20;i--) {

servoMain.write(i); delay(50);

} } }

servoMain.write(90);

digitalWrite(relay,HIGH); }

int bacaSensor() { // hidupkan power

digitalWrite(powerPin, HIGH); //delay(500);

// baca nilai analog dari sensorzz

int nilaiSensor = analogRead(sensorPin); digitalWrite(powerPin, LOW);

//

return 1023 - nilaiSensor; }

void print2digits(int number) { if (number >= 0 && number < 10) { Serial.write('0');

}

(4)

2. Program Wifi

#include <ESP8266WiFi.h> #include<SoftwareSerial.h>

SoftwareSerial wifi(D7,D8); //RX,TX

const char* ssid = "Nisa_Icha"; const char* password = "nisa1234";

WiFiServer server(80);

void setup() {

Serial.begin(115200); wifi.begin(9600); delay(10);

// Connect to WiFi network Serial.println();

Serial.println();

Serial.print("Connecting to "); Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) { delay(500);

Serial.print("."); }

Serial.println("");

Serial.println("WiFi connected");

// Start the server server.begin();

Serial.println("Server started");

// Print the IP address

Serial.print("Use this URL to connect: "); Serial.print("http://");

Serial.print(WiFi.localIP()); Serial.println("/");

}

void loop() {

// Check if a client has connected WiFiClient client = server.available(); if (!client) {

return; }

// Wait until the client sends some data Serial.println("new client");

(5)

// Read the first line of the request

String request = client.readStringUntil('\r'); Serial.println(request);

client.flush();

// Match the request

if (request.indexOf("/LED=ON") != -1) { wifi.write("H");

}

// Set ledPin according to the request //digitalWrite(ledPin, value);

// Return the response

client.println("HTTP/1.1 200 OK");

client.println("Content-Type: text/html"); client.println(""); // do not forget this one client.println("<!DOCTYPE HTML>");

client.println("<html>");

client.print("PENYIRAM TANAMAN OTOMATIS");

client.println("<br><br>"); client.println("<a

href=\"/LED=ON\"\"><button>Hidupkan</button></a>"); client.println("</html>");

delay(1);

Referensi

Dokumen terkait

Tujuan penelitian ini dilakukan untuk merancang alat penyiraman tanaman otomatis yang dapat mendeteksi kelembaban tanah dengan Smartphone Android menggunakan Mikrokontroler

PERANCANGAN ALAT PENYIRAMAN TANAMAN OTOMATIS DENGAN SMARTPHONE ANDROID MENGGUNKAN.. MIKROKONTROLER

Rancang Bangun Prototype Alat Penyiram Otomatis dengan Sistem Timer RTC DS1307 Berbasis Mikrokontroler Atmega16 pada Tanaman Aeroponik.. Rancang Bangun Sistem

2014 – 2016 Ikatan Alumni SMA N 2 plus Sipirok HUMAS 2009 – 2010 Osis SMA N 2 Plus Sipirok Seksi Kewirausahaan. Pengalaman Kerja

Penelitian dilakukan dengan merancang alat penetas telur serta temperature dan kelembaban menggunakan sensor DHT11, yang memiliki banyak kelebihan yang membuatnya menjadi pilihan yang

Pompa air dan fan berfungsi dengan baik, untuk menyiram akar tanaman kentang yang menggantung di dalam ruang penyiraman dan dapat menurunkan suhu ruangan tempat akar, sehingga waktu

Maka dari itu dibutuhkan perancangan kerangka alat sebagai tempat untuk meletakkan semua peralatan yang digunakan, seperti Arduino Uno R3, Sensor kelembaban

Pembahasan Tabel 1 Analisa kebutuhan Pengguna NO Analisa Kebutuhan Keterangan 1 Alat dapat menyiram tanaman secara otomatis Berhasil 2 Dapat menggunakan aplikasi Berhasil 3