Okay, today project is creating a humidity and hydrogen leak detector/measurement. In this project i use arduino uno, cheap dht11 module, mq8 module, lcd 2x16 with i2c, and buzzer.
The main goal is i want to know the humidity and temperature of the air in the room. the second goal is i want to know is there any hydrogen leak in that room, because i'm doing testing on fuel cell stack using hydrogen as fuel so if there a leak buzzer will on and running the switch to cut off all fuel inlet.
Currently i have cheap room humidity and temperature display so if i compare the value it have a slightly different on humidity display, so which one do i trust for now? because i don't have a calibration tool for two variable above.
Tampilkan postingan dengan label arduino. Tampilkan semua postingan
Tampilkan postingan dengan label arduino. Tampilkan semua postingan
Rabu, 23 Oktober 2019
Jumat, 09 November 2018
Arduino desktop on Ubuntu Studio 18.04
Buat bro n sis yang baru install ubuntu studio kaya ane yang 18.04 terus pengen nambahin Arduino IDE buat oprekan kudu download dulu disini karena di repo pusatnya gak ada. (kalo buat internal mah dah ane taruh di drive).
setelah download berikut cara-caranya:
- Extract the package
Senin, 24 September 2018
arduino simulation
Buat penggemar arduino buat yang belum tau nih ada simulatornya sama visual programingnya Simulide and XOD ada juga programino tapi sayang gak gratis wkkk...free trial bro.
buat yng download monggo...kesitus aslinya aja klik link diatas. or kalo mau ke koleksi pribadi link dibawah
Simulide 0.2.8.SR1.win32
XOD IDE 0.23.0
Programino 1.6.0.1
Cekidot juga myopenlab
buat yng download monggo...kesitus aslinya aja klik link diatas. or kalo mau ke koleksi pribadi link dibawah
Simulide 0.2.8.SR1.win32
XOD IDE 0.23.0
Programino 1.6.0.1
Cekidot juga myopenlab
Selasa, 27 Februari 2018
Arduino one line scrolling text
Pagi bro, koding kali ini tentang scrolling text lcd pakai arduino uno. Di contoh sebetulnya sudah ada tapi scrollling text nya 2 baris nah ini kode untuk satu baris saja jadi kita bisa nampilin text statis dan text bergerak saat bersamaan. lihat hasilnya
kodenya seperti ini disini ane pake lcd menngunakan i2c dan sensor sht11
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <SHT1x.h>
#define dataPin 10
#define clockPin 11
LiquidCrystal_I2C lcd(0x27, 16, 2);
SHT1x sht1x(dataPin, clockPin);
float temp_c;
float humidity;
float temp_f;
int screenWidth = 16;
int screenHeight = 2;
// ini text untuk scrolling
String line1 = "Ini scrolling text bro";
int stringStart, stringStop = 0;
int scrollCursor = screenWidth;
void setup() {
lcd.begin();
Serial.begin(9600);
}
void loop() {
temp_c = sht1x.readTemperatureC();
humidity = sht1x.readHumidity();
temp_f = sht1x.readTemperatureF();
lcd.setCursor(0,0);
lcd.print("T: C H: %");
lcd.setCursor(2,0);
lcd.print(temp_c,1);
lcd.setCursor(11,0);
lcd.print(humidity,1);
delay(100);
lcd.setCursor(scrollCursor, 1);
lcd.print(line1.substring(stringStart,stringStop));
delay(50);
lcd.print(" ");
//lcd.clear();
if(stringStart == 0 && scrollCursor > 0){
scrollCursor--;
stringStop++;
} else if (stringStart == stringStop){
stringStart = stringStop = 0;
scrollCursor = screenWidth;
} else if (stringStop == line1.length() && scrollCursor == 0) {
stringStart++;
} else {
stringStart++;
stringStop++;
}
}
kodenya seperti ini disini ane pake lcd menngunakan i2c dan sensor sht11
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <SHT1x.h>
#define dataPin 10
#define clockPin 11
LiquidCrystal_I2C lcd(0x27, 16, 2);
SHT1x sht1x(dataPin, clockPin);
float temp_c;
float humidity;
float temp_f;
int screenWidth = 16;
int screenHeight = 2;
// ini text untuk scrolling
String line1 = "Ini scrolling text bro";
int stringStart, stringStop = 0;
int scrollCursor = screenWidth;
void setup() {
lcd.begin();
Serial.begin(9600);
}
void loop() {
temp_c = sht1x.readTemperatureC();
humidity = sht1x.readHumidity();
temp_f = sht1x.readTemperatureF();
lcd.setCursor(0,0);
lcd.print("T: C H: %");
lcd.setCursor(2,0);
lcd.print(temp_c,1);
lcd.setCursor(11,0);
lcd.print(humidity,1);
delay(100);
lcd.setCursor(scrollCursor, 1);
lcd.print(line1.substring(stringStart,stringStop));
delay(50);
lcd.print(" ");
//lcd.clear();
if(stringStart == 0 && scrollCursor > 0){
scrollCursor--;
stringStop++;
} else if (stringStart == stringStop){
stringStart = stringStop = 0;
scrollCursor = screenWidth;
} else if (stringStop == line1.length() && scrollCursor == 0) {
stringStart++;
} else {
stringStart++;
stringStop++;
}
}
Rabu, 03 Januari 2018
Modul SHT11 dan arduino UNO
Nah tempo hari kan udah ketemu tuh kenapa tampilan LCD eror, sekarang langsung koding lagi, mumpung sensor bekas yang dulu mikrokontroler ATMega dah gak terpakai lagi.
lebih wiringnya seperti dibawah ini, yang board merah ini rencana kedepanya menggunakan RTC sama simpan log ke SDcard, jika gak mau pakai juga gapapa. oya yang ane pake LCD 20x4 bukan yang 16x2…CATAT, btw ini LCD lagi nganggur.
Untuk kodenya akan segera diupload.

lebih wiringnya seperti dibawah ini, yang board merah ini rencana kedepanya menggunakan RTC sama simpan log ke SDcard, jika gak mau pakai juga gapapa. oya yang ane pake LCD 20x4 bukan yang 16x2…CATAT, btw ini LCD lagi nganggur.
Untuk kodenya akan segera diupload.
Labels:
arduino,
lcd,
Mikrokontroler,
sensor,
sht11
Selasa, 12 Desember 2017
arduino lcd display topway162A
Halo masbro lagi iseng-iseng oprek Arduino ngetes LCD pakai sample arduino liquid crystal yang hello word menggunakan LCD topway LMB162A gak tampil, kayaknya ada yang eror
Oprek sana sini akhirnya cuma ganti pin
const int rs = 12, en = 11
ubah menjadi
const int rs = 11, en = 8,
Sisanya sama...gak tau tuh soketnya kendor atau apanya yang eror intinya setelah ganti pin displaynya baru bener nampilin tulisan.
download DATASHEET
Sedikit link tentang LCD dan I2C, meluncur.
Labels:
arduino,
lcd,
LM162A,
Mikrokontroler,
topway
Kamis, 23 November 2017
Modul Wifi ESP8266
Mas bro makasih nih udah beliin Modul Wifi ESP8266 sori belum sempet oprek. wkkk
Buat yang belum tau..ini adalah modul wifi, kecil-kecil cabe rawit, kita bisa bikin hotspot, extender, buat IoT ataupun webserver semua tergantung kreatifitas deh. Kalo pake huawei tempo hari kan gede banget tuh nah ane sekarang kalo ngoprek seneng yang kecil dan yang penting rendah daya (listrik mahal). Monggo di gugling.
Jangan lupa dia butuh power dari luar jangan ngambil dari arduino langsung, ente bisa pake AMS1117 3.3V.
Butuh 3 bulan buat solder tuh kaki-kaki wkkk...maklum nunggu pinjeman solder ama timah dulu.
Buat yang belum tau..ini adalah modul wifi, kecil-kecil cabe rawit, kita bisa bikin hotspot, extender, buat IoT ataupun webserver semua tergantung kreatifitas deh. Kalo pake huawei tempo hari kan gede banget tuh nah ane sekarang kalo ngoprek seneng yang kecil dan yang penting rendah daya (listrik mahal). Monggo di gugling.
Jangan lupa dia butuh power dari luar jangan ngambil dari arduino langsung, ente bisa pake AMS1117 3.3V.
Butuh 3 bulan buat solder tuh kaki-kaki wkkk...maklum nunggu pinjeman solder ama timah dulu.
Labels:
arduino,
diy,
elektronika,
Mikrokontroler,
oprek,
webserver,
wifi
Selasa, 21 November 2017
AMS1117 linear regulator
Perkenalkan ini namanaya AMS1117 linear regulator, AMS kepanjangan dari advanced-monolithic-system. Fungsinya sebagai regulator dengan keluaran 1A dan tegangan mulai dari 1,2V hingga 5V. Bedanya apa sih ama yang 7805 dan kawan2nya...banyak bedanya satu yang ane suka dia kecil bro cocob buat oprekan arduino buat supply modul WIFI esp8266 atau buat power lampu led.
Dijual banyak di toko online, iCnya cuma 500 rupiah, kl yang udah pakai pcb +5rb.
Datasheet.
Dijual banyak di toko online, iCnya cuma 500 rupiah, kl yang udah pakai pcb +5rb.
Datasheet.
Rabu, 13 September 2017
voltage monitor pakai arduino dan seven segment
Bikin voltage monitor pakai arduino ama seven segment meski cuma ampe 5 volt doang...(ngapain coba mahal2 bikin pake ini??) Maklum justru lagi ada yang nganggur kagak kudu beli sepeser pun.
kodenya nih.
/*
Read me
Use all this information at your own risk, i hold no responsibility for any and all indirect or dicrect damage to your arduino, hardware and software of your pc, any electronic devices if you choose to use this information.
This meter only can measure up to 5V
This meter cannot measure negative voltage and make sure you connect the probes to the battery in the correct way (red probe(A0) to the positive side of the battery and black probe(GND) to the negative side of the battery)
*/
int a=13;
int b=12;
int c=11;
int d=10;
int e=9;
int f=8;
int g=7;
int deci = 3;
int gnd1=6;
int gnd2=5;
int gnd3=4;
int inp=A0;
float Reading;
int OneDigit, TenDigit, HundredDigit;
void mask(int num, int aa, int bb, int cc, int dd, int ee, int ff, int gg)
{
switch (num)
{
case 0 :
digitalWrite(aa, HIGH);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, HIGH);
digitalWrite(ee, HIGH);
digitalWrite(ff, HIGH);
digitalWrite(gg, LOW);
break;
case 1 :
digitalWrite(aa, LOW);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, LOW);
digitalWrite(ee, LOW);
digitalWrite(ff, LOW);
digitalWrite(gg, LOW);
break;
case 2 :
digitalWrite(aa, HIGH);
digitalWrite(bb, HIGH);
digitalWrite(cc, LOW);
digitalWrite(dd, HIGH);
digitalWrite(ee, HIGH);
digitalWrite(ff, LOW);
digitalWrite(gg, HIGH);
break;
case 3 :
digitalWrite(aa, HIGH);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, HIGH);
digitalWrite(ee, LOW);
digitalWrite(ff, LOW);
digitalWrite(gg, HIGH);
break;
case 4 :
digitalWrite(aa, LOW);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, LOW);
digitalWrite(ee, LOW);
digitalWrite(ff, HIGH);
digitalWrite(gg, HIGH);
break;
case 5 :
digitalWrite(aa, HIGH);
digitalWrite(bb, LOW);
digitalWrite(cc, HIGH);
digitalWrite(dd, HIGH);
digitalWrite(ee, LOW);
digitalWrite(ff, HIGH);
digitalWrite(gg, HIGH);
break;
case 6 :
digitalWrite(aa, HIGH);
digitalWrite(bb, LOW);
digitalWrite(cc, HIGH);
digitalWrite(dd, HIGH);
digitalWrite(ee, HIGH);
digitalWrite(ff, HIGH);
digitalWrite(gg, HIGH);
break;
case 7 :
digitalWrite(aa, HIGH);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, LOW);
digitalWrite(ee, LOW);
digitalWrite(ff, LOW);
digitalWrite(gg, LOW);
break;
case 8 :
digitalWrite(aa, HIGH);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, HIGH);
digitalWrite(ee, HIGH);
digitalWrite(ff, HIGH);
digitalWrite(gg, HIGH);
break;
case 9 :
digitalWrite(aa, HIGH);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, HIGH);
digitalWrite(ee, LOW);
digitalWrite(ff, HIGH);
digitalWrite(gg, HIGH);
break;
}
}
void setup()
{
pinMode(a,OUTPUT);
pinMode(b,OUTPUT);
pinMode(c,OUTPUT);
pinMode(d,OUTPUT);
pinMode(e,OUTPUT);
pinMode(f,OUTPUT);
pinMode(g,OUTPUT);
pinMode(deci,OUTPUT);
pinMode(gnd1,OUTPUT);
pinMode(gnd2, OUTPUT);
pinMode(gnd3, OUTPUT);
pinMode(inp, INPUT);
digitalWrite(deci, HIGH);
}
void loop ()
{
float TempOneDigit;
int i;
Reading = (analogRead(inp)*5.00/1023.00);
HundredDigit = int(Reading) % 10;
TenDigit = int ((Reading-HundredDigit )*10) % 10;
TempOneDigit = int(Reading * 10);
OneDigit = int ((Reading - float(TempOneDigit/10))* 100) %10;
for (i=0 ; i<20 ; i++) {
mask (OneDigit, a, b, c, d, e, f, g);
digitalWrite(gnd3,LOW);
digitalWrite(gnd2, HIGH);
digitalWrite(gnd1, HIGH);
delay(5);
mask (TenDigit, a, b, c, d, e, f ,g);
digitalWrite(gnd3,HIGH);
digitalWrite(gnd2, LOW);
digitalWrite(gnd1, HIGH);
delay(5);
mask (HundredDigit, a, b, c, d, e, f ,g);
digitalWrite(gnd3,HIGH);
digitalWrite(gnd2, HIGH);
digitalWrite(gnd1, LOW);
delay(5);
}
}
##sumber http://forum.arduino.cc/index.php?topic=233532.msg1681606#msg1681606
kodenya nih.
/*
Read me
Use all this information at your own risk, i hold no responsibility for any and all indirect or dicrect damage to your arduino, hardware and software of your pc, any electronic devices if you choose to use this information.
This meter only can measure up to 5V
This meter cannot measure negative voltage and make sure you connect the probes to the battery in the correct way (red probe(A0) to the positive side of the battery and black probe(GND) to the negative side of the battery)
*/
int a=13;
int b=12;
int c=11;
int d=10;
int e=9;
int f=8;
int g=7;
int deci = 3;
int gnd1=6;
int gnd2=5;
int gnd3=4;
int inp=A0;
float Reading;
int OneDigit, TenDigit, HundredDigit;
void mask(int num, int aa, int bb, int cc, int dd, int ee, int ff, int gg)
{
switch (num)
{
case 0 :
digitalWrite(aa, HIGH);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, HIGH);
digitalWrite(ee, HIGH);
digitalWrite(ff, HIGH);
digitalWrite(gg, LOW);
break;
case 1 :
digitalWrite(aa, LOW);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, LOW);
digitalWrite(ee, LOW);
digitalWrite(ff, LOW);
digitalWrite(gg, LOW);
break;
case 2 :
digitalWrite(aa, HIGH);
digitalWrite(bb, HIGH);
digitalWrite(cc, LOW);
digitalWrite(dd, HIGH);
digitalWrite(ee, HIGH);
digitalWrite(ff, LOW);
digitalWrite(gg, HIGH);
break;
case 3 :
digitalWrite(aa, HIGH);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, HIGH);
digitalWrite(ee, LOW);
digitalWrite(ff, LOW);
digitalWrite(gg, HIGH);
break;
case 4 :
digitalWrite(aa, LOW);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, LOW);
digitalWrite(ee, LOW);
digitalWrite(ff, HIGH);
digitalWrite(gg, HIGH);
break;
case 5 :
digitalWrite(aa, HIGH);
digitalWrite(bb, LOW);
digitalWrite(cc, HIGH);
digitalWrite(dd, HIGH);
digitalWrite(ee, LOW);
digitalWrite(ff, HIGH);
digitalWrite(gg, HIGH);
break;
case 6 :
digitalWrite(aa, HIGH);
digitalWrite(bb, LOW);
digitalWrite(cc, HIGH);
digitalWrite(dd, HIGH);
digitalWrite(ee, HIGH);
digitalWrite(ff, HIGH);
digitalWrite(gg, HIGH);
break;
case 7 :
digitalWrite(aa, HIGH);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, LOW);
digitalWrite(ee, LOW);
digitalWrite(ff, LOW);
digitalWrite(gg, LOW);
break;
case 8 :
digitalWrite(aa, HIGH);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, HIGH);
digitalWrite(ee, HIGH);
digitalWrite(ff, HIGH);
digitalWrite(gg, HIGH);
break;
case 9 :
digitalWrite(aa, HIGH);
digitalWrite(bb, HIGH);
digitalWrite(cc, HIGH);
digitalWrite(dd, HIGH);
digitalWrite(ee, LOW);
digitalWrite(ff, HIGH);
digitalWrite(gg, HIGH);
break;
}
}
void setup()
{
pinMode(a,OUTPUT);
pinMode(b,OUTPUT);
pinMode(c,OUTPUT);
pinMode(d,OUTPUT);
pinMode(e,OUTPUT);
pinMode(f,OUTPUT);
pinMode(g,OUTPUT);
pinMode(deci,OUTPUT);
pinMode(gnd1,OUTPUT);
pinMode(gnd2, OUTPUT);
pinMode(gnd3, OUTPUT);
pinMode(inp, INPUT);
digitalWrite(deci, HIGH);
}
void loop ()
{
float TempOneDigit;
int i;
Reading = (analogRead(inp)*5.00/1023.00);
HundredDigit = int(Reading) % 10;
TenDigit = int ((Reading-HundredDigit )*10) % 10;
TempOneDigit = int(Reading * 10);
OneDigit = int ((Reading - float(TempOneDigit/10))* 100) %10;
for (i=0 ; i<20 ; i++) {
mask (OneDigit, a, b, c, d, e, f, g);
digitalWrite(gnd3,LOW);
digitalWrite(gnd2, HIGH);
digitalWrite(gnd1, HIGH);
delay(5);
mask (TenDigit, a, b, c, d, e, f ,g);
digitalWrite(gnd3,HIGH);
digitalWrite(gnd2, LOW);
digitalWrite(gnd1, HIGH);
delay(5);
mask (HundredDigit, a, b, c, d, e, f ,g);
digitalWrite(gnd3,HIGH);
digitalWrite(gnd2, HIGH);
digitalWrite(gnd1, LOW);
delay(5);
}
}
##sumber http://forum.arduino.cc/index.php?topic=233532.msg1681606#msg1681606
Langganan:
Postingan (Atom)







