Disusun Oleh:
1. M. Farouq A. F. 270110230006
2. Rezky Alfajri A. 270110230024
3. Annisa Khumaira R. 270110230037
4. Itsna Nurhasanah 270110230053
5. Raden Lulu Rahma K. 270110230054
Kelas B
A. Latar Belakang
Arduino adalah pengendali micro single-board yang bersifat open-
source, dirancang untuk memudahkan penggunaan elektronik dalam
berbagai bidang. Ini berarti Arduino adalah perangkat khusus berupa
modul elektronik yang sudah siap pakai, memungkinkan pengguna untuk
langsung fokus pada pemrograman dan penghubungan dengan komputer
tanpa perlu solder atau memikirkan rangkaian elektronik yang kompleks.
Arduino memiliki kegunaan yang dapat dimanfaatkan untuk
membuat kehidupan sehari sehari menjadi lebih baik. Salah satunya
dengan membuat alat yang bernama Air Temperature and Humidity
Monitor.
Pada era sekarang ini, udara dengan kualitas bagus sudah jarang
ditemukan. Udara banyak yang tercemar menjadi polusi sehingga tidak
bagus untuk dihirup ke pernapasan manusia. Maka dari itu, untuk
mengetahui kualitas udara dengan suhu dan kelembapannya, kita
membutuhkan alat yang bernama Air Temperature and Humidity Monitor.
Air Temperature and Humidity Monitor adalah perangkat yang
dirancang untuk mengukur kualitas udara secara real-time. Air
Temperature and Humidity Monitor mengukur suhu dan kelembapan udara
yang dapat membantu memantau kesehatan manusia dan lingkungan agar
tetap terjaga dalam kondisi yang baik. Perangkat ini penting untuk
memantau kualitas udara di berbagai lokasi, seperti di kota, di lingkungan
kerja, atau di area industri.
C. Konsep Dasar
Air Temperature and Humidity Monitor ini merupakan alat yang
berguna untuk menunjukkan suhu dan kelembapan pada ruangan, serta
kualitas udara disekitar.
2. Menyusun perencanaan
proyek
3. Project Arduino
A. Konsep Arduino
Arduino adalah jenis pengendali mikro berupa single board dengan
lisensi open-source yang merupakan turunan dari Wiring platform. Tujuan
dirancangnya Arduino adalah untuk memudahkan penggunaan rekayasa
elektronik untuk diaplikasikan pada berbagai bidang. Perangkat kerasnya
menggunakan prosesor Atmel AVR dengan bahasa pemrograman tersendiri
yang sangat mirip dengan bahasa Pascal C.
Dalam membuat Air Temperature and Humidity Monitor kami
menggunakan arduino nano. Arduino nano adalah papan rangkaian
pengembangan mikrokontroler yang berbasis chip ATmega328P dengan
bentuk yang sangat kecil. Secara fungsi tidak ada bedanya dengan Arduino
Uno. Perbedaan utama terletak pada ketiadaan jack power DC dan
penggunaan konektor Mini-B USB.
A. Rangkaian project
DHT HT(DHT11Pin,DHTType);
float humi;
float tempC;
float tempF;
//OLED define
#define SCREEN_WIDTH 128 //OLED display width, in pixels
#define SCREEN_HEIGHT 64 //OLED display height, in pixels
//SSD1306 display connected to I2C (SDA, SCL pins)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire,
-1);
void setup() {
Serial.begin(9600);
//For DHT11
HT.begin();
//Necessary code for OLED I2C
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address
0x3D for 128x64
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
display.display(); //Displays the starting logo
delay(1000);
display.clearDisplay();
}
void loop() {
delay(1000);
humi = HT.readHumidity();
tempC = HT.readTemperature();
tempF = HT.readTemperature(true);
display.clearDisplay();
oledDisplayHeader();
//configures the position of the readings. (charactersize, x
axis value, y axis value, reading, symbol)
oledDisplay(2,90,28,humi,"%");
oledDisplay(3,-10,44,tempC,"C");
oledDisplay(3,-10,16,tempF,"F");
display.display();
void oledDisplayHeader(){
//configures position and qualities of headers
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0, 0);
display.print("Temperature");
display.setCursor(80, 0);
display.print("Humidity");
}
void oledDisplay(int size, int x,int y, float value, String
unit){
int charLen=18;
int xo=x+charLen*3.2;
int xunit=x+charLen*3.6;
int xval = x;
display.setTextSize(size);
display.setTextColor(WHITE);
if (unit=="%"){
display.setCursor(x, y);
display.print(value,0);
display.print(unit);
} else {
if (value>99){
xval=x;
} else {
xval=x+charLen;
}
display.setCursor(xval, y);
display.print(value,0);
display.drawCircle(xo, y+2, 2, WHITE); // print degree
symbols
display.setCursor(xunit, y);
display.print(unit);
}
}
DAFTAR PUSTAKA