Tempat Sampah Buka Tutup Otomatis Sensor Proximity dan Deteksi Asap / Gas Sensor MQ-2 ARDUINO
Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat berupa tong sampah namun buka tutupnya secara otomatis dan juga tong sampah ini memiliki sensor gas yang dapat mendeteksi adanya gas atau asap sehingga bisa juga sebagai early warning di suatu ruangan. untuk lebih jelasnya berikut adalah program dan daftar komponennya.
Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat dengan menggunakan board Wemos D1 sebagai pengendali jam digital dengan menggunakan modul Ds3231 dengan interface yang digunakan adalah lcd 16x2 + I2c. alat ini adalah basic pembelajaran mikrokontroller, jika sudah bisa menguasai alat ini maka dapat lanjut ke level berikutnya dengan lebih mudah. untuk lebih jelasnya berikut adalah program dan daftar komponennya.
void setDS3231time(byte second, byte minute, byte hour, byte dayOfWeek, byte
dayOfMonth, byte month, byte year)
{
// sets time and date data to DS3231
Wire.beginTransmission(DS3231_I2C_ADDRESS);
Wire.write(0); // set next input to start at the seconds register
Wire.write(decToBcd(second)); // set seconds
Wire.write(decToBcd(minute)); // set minutes
Wire.write(decToBcd(hour)); // set hours
Wire.write(decToBcd(dayOfWeek)); // set day of week (1=Sunday, 7=Saturday)
Wire.write(decToBcd(dayOfMonth)); // set date (1 to 31)
Wire.write(decToBcd(month)); // set month
Wire.write(decToBcd(year)); // set year (0 to 99)
Wire.endTransmission();
}
// retrieve data from DS3231
readDS3231time(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month,
&year);
lcd.setCursor(0,0);
// send it to the serial monitor
lcd.print(hour, DEC);
// convert the byte variable to a decimal number when displayed
lcd.print(":");
if (minute<10)
{
lcd.print("0");
}
lcd.print(minute, DEC);
lcd.print(":");
if (second<10)
{
lcd.print("0");
}
lcd.print(second, DEC);
Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang bisa digunakan untuk pengaman pintu atau lemari dengan fitur yaitu password dan eeprom. alat ini bisa jadi solusi untuk menjadikan rumah anda menjadi smart home atau smart key karena tidak perlu menggunakan kunci konvensional untuk buka tutup pintu melainkan hanya menggunakan password untuk buka tutup pintunya dengan solenoid door lock. untuk lebih jelasnya berikut adalah program dan daftar komponennya.
Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang berfungsi untuk timer count down sebagai waktu untuk kendali on/off relay. fungsi utama dari alat ini yaitu untuk mengatur berapa lama waktu relay ON dan berapa lama waktu relay OFF. alat ini dilengkapi dengan fitur EEPROM sebagai backup data saat power dimatikan sehingga nilai setting masih tersimpan. untuk lebih jelasnya berikut adalah program dan daftar komponennya.
float timertcm = 1.5;
int timertcmdetik = 5;
int timertcmmenit = 1;
int timertdm = 1;
int timertdmdetik;
int timertdmmenit = 1;
int savetdmdetik;
int savetdmmenit;
int savetcmdetik;
int savetcmmenit;
float counter = 0;
int aState;
int aLastState;
int btrotary = 11; //pin bt rotary
int x;
int relay = 10; //pin relay
int tanda;
int cacah;
int waktu;
int bttrigger = 12; //pin trigger
int y;
int mark;
int addr1 = 0;
int addr2 = 1;
int addr3 = 2;
int addr4 = 3;
aState = digitalRead(outputA); // Reads the "current" state of the outputA
// If the previous and the current state of the outputA are different, that means a Pulse has occured
if (aState != aLastState){
// If the outputB state is different to the outputA state, that means the encoder is rotating clockwise
if (digitalRead(outputB) != aState) {
timertcmdetik = timertcmdetik + 1;
} else {
timertcmdetik = timertcmdetik - 1;
}
}
aLastState = aState; // Updates the previous state of the outputA with the current state
if(x == 0){
lcd.clear();
delay(2000);
return;
}
setting1();
}
void setting2(){
x = digitalRead(btrotary);
aState = digitalRead(outputA); // Reads the "current" state of the outputA
// If the previous and the current state of the outputA are different, that means a Pulse has occured
if (aState != aLastState){
// If the outputB state is different to the outputA state, that means the encoder is rotating clockwise
if (digitalRead(outputB) != aState) {
timertdmmenit = timertdmmenit + 1;
} else {
timertdmmenit = timertdmmenit - 1;
}
WEMOS D1 Monitoring Suhu dan Kelembaban Sensor DHT11 via Internet / IOT Server Thingspeak
Pada kesempatan kali ini saya akan menjelaskan mengenai bagamana cara membuat sebuah alat dengan menggunakan Wemos D1 untuk monitor suhu dan kelembaban menggunakan sensor DHT11 via internet dengan servernya yaitu Thingspeak. keunggulan dari alat ini yaitu bisa monitoring jarak jauh tanpa kabel karena berbasis IOT. untuk lebih jelasnya berikut adalah program dan daftar komponennya.
a. Wemos D1
b. Sensor DHT11
c. Program Arduino IDE
#define BLYNK_PRINT Serial // Comment this out to disable prints and save space
#include <SPI.h>
#include <ESP8266WiFi.h>
#include <DHT.h>
#define DHTPIN 0 //nodemcu pin D3
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
String apiKey = "AABBCCDDEEFFGGHHIIJJ"; // Enter your Write API key from ThingSpeak
const char* resource = "/update?api_key=";
const char *ssid = "Hotspot Hpku"; // replace with your wifi ssid and wpa2 key
const char *pass = "123456789";
const char* server = "api.thingspeak.com";
WiFiClient client;
void setup()
{
Serial.begin(115200);
delay(10);
Serial.println("Connecting to ");
Serial.println(ssid);
// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
ARDUINO PID CONTROL SUHU SENSOR DS18B20 DAN PELTIER
Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang menggunakan prinsip PID untuk stabilsasi suhu pada heater. Alat ini menggunakan sensor suhu ds18b20 dan pemanas menggunakan peltier. driver yang digunakan untuk peltier adalah transistor TIP3055, jika ingin menggunakan pemanas sumber AC maka bisa diganti dengan TRIAC atau sejenisnya. untuk lebih jelasnya berikut adalah program dan daftar komponennya.
a. Arduino Nano
b. Heater Peltier
c. LCD 16x2 dan I2C
d. Sensor Ds18b20
e. Program Arduino IDE
#include "Wire.h"
#include <OneWire.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
OneWire ds(12); // on pin 10 (a 4.7K resistor is necessary)
float kp = 1.08;
float ki = 1.17;
float kd = 1.15;
float p,ix,d,suhu,pid;
float error,errorx,sumerr;
float sp;
float spx = 50; //set point
int pinpwm = 11;
byte i;
byte present = 0;
byte type_s;
byte data[12];
byte addr[8];
float celsius, fahrenheit;
void setup() {
pinMode(pinpwm,OUTPUT);
Serial.begin(9600);
lcd.begin();
lcd.clear();
lcd.noCursor();
}
void loop() {
if ( !ds.search(addr)) {
ds.reset_search();
delay(250);
return;
}
for( i = 0; i < 8; i++) {
}
if (OneWire::crc8(addr, 7) != addr[7]) {
return;
}
switch (addr[0]) {
case 0x10:
type_s = 1;
break;
case 0x28:
type_s = 0;
break;
case 0x22:
type_s = 0;
break;
default:
return;
}
ds.reset();
ds.select(addr);
ds.write(0x44, 1); // start conversion, with parasite power on at the end
delay(1000); // maybe 750ms is enough, maybe not
present = ds.reset();
ds.select(addr);
ds.write(0xBE); // Read Scratchpad
for ( i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds.read();
}
int16_t raw = (data[1] << 8) | data[0];
if (type_s) {
raw = raw << 3; // 9 bit resolution default
if (data[7] == 0x10) {
raw = (raw & 0xFFF0) + 12 - data[6];
}
} else {
byte cfg = (data[4] & 0x60);
if (cfg == 0x00) raw = raw & ~7; // 9 bit resolution, 93.75 ms
else if (cfg == 0x20) raw = raw & ~3; // 10 bit res, 187.5 ms
else if (cfg == 0x40) raw = raw & ~1; // 11 bit res, 375 ms
WEMOS D1 MONITOR SUHU ONLINE / INTERNET SENSOR LM35 SERVER THINGSPEAK (IOT PROJECT)
Pada kesempatan kali ini saya akan menjelaskan mengenai sebuah alat yang dapat difungsikan sebagai alat monitor suhu secara online atau menggunakan intenet. alat ini menggunakan WEMOS D1 namun jika diganti dengan Nodemcu juga bisa. alat ini memiliki keuntungan yaitu jarak yang jauh karena berbasis internet. alat ini menggunakan server THINGSPEAK. untuk lebih jelasnya berikut adalah daftar komponen dan programnya.
a. Wemos D1
b. Sensor suhu LM35
c. LCD 16x2 + i2c
d. Program Arduino IDE
#include <ESP8266WiFi.h>
#include "Wire.h"
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
String apiKey = "3KAB1MLFRXT7VU3W"; // Enter your Write API key from ThingSpeak
const char* resource = "/update?api_key=";
const char *ssid = "Hotspotku"; // replace with your wifi ssid and wpa2 key
const char *pass = "1234567";
const char* server = "api.thingspeak.com";
int adcsensor;
float suhu;
WiFiClient client;
void setup() {
WiFi.begin(ssid, pass);
Serial.begin(9600);
lcd.begin();
lcd.clear();
lcd.noCursor();
}
void loop(){
adcsensor = analogRead(A0);
suhu = adcsensor * (4.84 /1023.0) * 100;
lcd.setCursor(0,0);
lcd.print("Suhu= ");
lcd.print(suhu);
lcd.print(" c ");
if (client.connect(server,80)) // "184.106.153.149" or api.thingspeak.com