Anda di halaman 1dari 12

Tugas Review 2

FARIZ ALAMSYAH
200801117
PLC
Tugas Review 2 PLC ini me-review video yang berjudul :
“Menggunakan Contoh Program Micro SD Card”
– Source Link : https://youtu.be/prZf2COiuDg – Youtube Channel : Kurnia Brahmana

 Menit Pertama :
Dimulai dari ditunjukkannya micro sd kepada penonton, kemudian ditampilkan juga
rangkaian arduino + slot adapter untuk memasukkan micro sd card. Micro sd yang
digunakan adalah berkapasitas 2 dan 8 GB. Kemudian rangkaian yang sudah ditampilkan
tadi dalam posisi sudah terhubung dengan kabel usb ke laptop dan ke slot transfer
arduino, karena akan dikirimkan program untuk micro sd ke arduino.
Kemudian, pada menit ini ditampilkan examples program arduino pada menu file lalu
example, lalu SD – CardInfo. Dimulai dari yang sederhana, klik CardInfo kemudian
ditampilkan program dan kemudian pada menu tools sebagai berikut :
\

Program dicek program pada serial monitor untuk memastikan rangkaian sudah benar
atau tidak. Lalu (foto sebelah kanan) menunjukkan tampilan program CardInfo sudah
benar .

 Menit Kedua :
Setelah program CardInfo tadi sudah dipastikan benar. Coba lagi contoh lain pada
program SD yaitu ReadWrite sebagai berikut :

Pada gambar diatas, menampilkan program untuk menuliskan apa yang ingin ditampilkan
pada micro sd, pada saat proses pembacaan pada serial monitor. Kemudian pada bagian
Serial.print(“Writing to test.txt…”); dicoba ditambahkan kata “fisika”
menjadi Serial.print(“Writing fisika to test.txt…”); untuk
menunjukkan ada perbedaan sedikit dari program bawaan. Kemudian dilihat pada serial
monitor :

Dan ditampilkan:
Initializing SD Card … initialization done.
Writing fisika to test.txt…done.
test.txt:
testing 1, 2, 3.
Testing 1, 2, 3.

Kemudian micro sd card juga dicoba


dipasangkan ke computer atau laptop juga
akan muncul tampilan :
Writing fisika to test.txt…
testing 1, 2, 3.
Writing fisika to test.txt…

 Menit Ketiga :
Ditampilkan Sensor DT11, Jam, dan Micro Scanner yang sudah dirangkai. Kemudian
coba dibaca DT11 untuk membaca temperature maupun kelembapan. Lalu pada program
di arduino, pada bagian DHT Sensor Library pilih pada bagian DHTtester. Setelah itu
akan muncul tampilan program sebagai berikut :
//#define DHTTYPE DHT11 // DHT 11
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM 2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)

Karena kita menggunakan DHT11, maka kita buka define untuk DHT11 dan yang
DHT22 ditutup. Sehingga menjadi :
#define DHTTYPE DHT11 // DHT 11
//#define DHTTYPE DHT22 // DHT 22 (AM2302), AM 2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
Lalu di program ditampilkan bahwa DHT11 berada di pin 2, lalu dicek pada serial
monitor sebagai berikut :

Jika sudah ditampilkan data kelembapan dan temperature, berarti program sudah benar
dan DHT11 berfungsi. Setelah DT11, kita mengecek jam apakah berfungsi atau tidak dan
program berjalan atau tidak. Pada arduino examples pilih DS323x lalu pilih time untuk
mengatur waktu atau jam. Lalu cek, apakah ada definisi-definisi yang perlu di cek, jika
tidak ada, transfer program ke rangkaian dan cek juga pada serial monitor. Akan
ditampilkan sebagai berikut :

Hal ini berarti bahwa program jam berhasil/jalan, program DHT juga jalan, otomatis
sensor DHT dan Jam berfungsi dengan baik.

 Menit Keempat s.d. Keenam (Proses Penggabungan Prog. Jam ke Prog. Micro SD) :
Kemudian, setelah dicek semua program examples tadi, kita menggabungkan ketiga
program, yaitu program micro sd, jam dan DHT. Yang pertama, pada program jam, copy
bagian library program ke halaman program simpan data micro SD. Langkah-langkahnya
adalah sebagai berikut :

1. Library yang dipindahkan :


#include <DS323x.h>

DS323x rtc;

2. Setelah dipindahkan ke bagian program micro SD, menjadi :

#include <SPI.h>
#include <SD.h>
#include <DS323x.h>

DS323x rtc;

File myFile;
const int chipSelect = 3;

3. Bagian program void setup jam :

Wire.begin();
Delay(2000); //cheking for 2 seconds

rtc.attach(Wire);
rtc.now(DateTime(2020, 11, 23, 14, 23, 45));

4. Copy bagian void setup diatas ke bagian void setup micro SD, sehingga menjadi :

void setup() {
Serial.begin(9600);
Wire.begin();
Delay(2000); //cheking for 2 seconds
rtc.attach(Wire);
rtc.now(DateTime(2020, 11, 23, 14, 23, 45));

while (!Serial) {
;
}
5. Pada bagian void loop jam, untuk cara mendapatkan waktu, copy bagian berikut ke
void loop micro SD :

DateTime now = rtc.now();


Serial.println(now.timestamp());

Sehingga pada void loop micro SD menjadi :

void loop() {
DateTime now = rtc.now();
Serial.println(now.timestamp());
}
Dari 5 langkah diatas proses penggabungan jam ke micro SD sudah selesai.

 Menit Ketujuh s.d. Kesembilan (Proses Penggabungan Prog. DHT ke Prog. Micro SD) :
Langkah-langkahnya adalah sebagai berikut :
1. Pindahkan Library pada DHT program ke Library Micro SD program, Library yang

dipindahkan :

#include “DHT.h”
#define DHTPIN 2
#define DHTTYPE DHT11

DHT dht(DHTPIN,DHTTYPE); //untuk mengerjakan DHT Library

Sehingga pada program micro SD sebagai berikut :


#include <SPI.h>
#include <SD.h>
#include <DS323x.h>
#include “DHT.h”

#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN,DHTTYPE);

DS323x rtc;

File myFile;
const int chipSelect = 3;

2. Pindahkan bagian komunikasi void setup DHT ke bagian void setup micro SD.
Bagian void setup DHT yang dipindahkan :

Serial.println(F(“DHTxx test!”));
dht.begin();

Sehingga pada void setup Micro SD menjadi :


void setup() {
Serial.begin(9600);
Wire.begin();
delay(2000); //cheking for 2 seconds
rtc.attach(Wire);
rtc.now(DateTime(2020, 11, 23, 14, 23, 45));
dht.begin();
while (!Serial) {
;
}
Serial.println(F(“DHTxx test!”));
Serial.print(“Initializing SD Card...”);

if((!SD.begin(chipSelect)) {
Serial.println(“Initialization failed!”);
while(1);
}
Serial.println(“Inisialization done.”);

//bagian pengisian
myFile = SD.open(“test.txt”,FILE_WRITE);
if(myFile) {
Serial.print(“Writing fisika to test.txt...”);
myFile.println(“testing 1, 2, 3.”);
myFile.println(“Writing fisika to test.txt...”);
//close file
myFile.close();
Serial.println(“done.”);
} else {

Serial.println(“error opening test.txt”);


}
//re-open file to read :
myFile = SD.open(“test.txt”);
if(myFile) {
Serial.println(“test.txt”);
while(myFile.available()) {
Serial.write(myFile.read());
}
//close the file
myFile.close();
} else {
Serial.println(“error opening test.txt”);
}
}

3. Untuk membaca Temperatur dan Kelembapan, pada void loop DHT program ambil
bagian berikut :

delay(2000); //to read DHT every 2s


float h = dht.readHumidity();
float t = dht.readTemperature(); //as Celcius
float f = dht.readTemperature(true); //as Fahrenheit

if (isnan(h)|| isnan(t)|| isnan(f)) {


Serial.println(F(“Failed to read from DHT sensor!”));
return;
}

//Compute heat index in Fahrenheit (the default)


float hif = dht.computeHeatIndex(f, h);
//Compute heat index in Celcius (isFahrenheit = false)
float hic = dht.computeHeatIndex(t, h, false);

Serial.print(F(“Humidity : “));
Serial.print(h);
Serial.print(F(“% Temperature : “));
Serial.print(t);
Serial.print(F(“oC “));
Serial.print(F(“oF Heat Index : “));
Serial.print(hic);
Serial.print(F(“oC “));
Serial.print(hif);
Serial.print(F(“oF “));

Maka void loop micro SD + bagian pengisian pada void setup untuk proses
pembacaan file micro SD card menjadi sebagai berikut :

void loop() {
delay(2000); //to read DHT every 2s
DateTime now = rtc.now();
Serial.println(now.timestamp());
float h = dht.readHumidity();
float t = dht.readTemperature(); //as Celcius
float f = dht.readTemperature(true); //as Fahrenheit

if (isnan(h)|| isnan(t)|| isnan(f)) {


Serial.println(F(“Failed to read from DHT sensor!”));
return;
}

//Compute heat index in Fahrenheit (the default)


float hif = dht.computeHeatIndex(f, h);
//Compute heat index in Celcius (isFahrenheit = false)
float hic = dht.computeHeatIndex(t, h, false);

Serial.print(F(“Humidity : “));
Serial.print(h);
Serial.print(F(“% Temperature : “));
Serial.print(t);
Serial.print(F(“oC “));
Serial.print(F(“oF Heat Index : “));
Serial.print(hic);
Serial.print(F(“oC “));
Serial.print(hif);
Serial.print(F(“oF “));

//bagian pengisian
myFile = SD.open(“test.txt”,FILE_WRITE);
if(myFile) {
Serial.print(“Writing fisika to test.txt...”);
myFile.println(“testing 1, 2, 3.”);
myFile.println(“Writing fisika to test.txt...”);
//close file
myFile.close();
Serial.println(“done.”);
} else {

Serial.println(“error opening test.txt”);


}
//re-open file to read :
myFile = SD.open(“test.txt”);
if(myFile) {
Serial.println(“test.txt”);
while(myFile.available()) {
Serial.write(myFile.read());
}
//close the file
myFile.close();
} else {
Serial.println(“error opening test.txt”);
}

4. Lalu kirim ke Rangkaian, dan cek pada serial monitor.

 Menit ke Sepuluh s.d. Keempatbelas (Proses Penulisan Temperatur dan Kelembapan di


myFile)
Langkah-langkahnya adalah sebagai berikut :
1. Pindahkan bagian berikut ke bagian pengisian myFile dan ubah bagian Serial.print
Menjadi myFile.print :
Serial.print(F(“Humidity : “));
Serial.print(h);
Serial.print(F(“% Temperature : “));
Serial.print(t);
Serial.print(F(“oC “));
Serial.print(F(“oF Heat Index : “));
Serial.print(hic);
Serial.print(F(“oC “));
Serial.print(hif);
Serial.print(F(“oF “));

Sehingga menjadi :
//bagian pengisian
myFile = SD.open(“test.txt”,FILE_WRITE);
if(myFile) {
myFile.print(F(“Humidity : “));
myFile.print(h);
myFile.print(F(“% Temperature : “));
myFile.print(t);
myFile.print(F(“oC “));
myFile.print(F(“oF Heat Index : “));
myFile.print(hic);
myFile.print(F(“oC “));
myFile.print(hif);
myFile.print(F(“oF “));

myFile.print(rtc.hour()); //untuk jam


myFile.print(“ : “); //pemisah antara jam dan menit
myFile.print(rtc.minute()); //untuk menit

//Serial.print(“Writing fisika to test.txt...”);


//myFile.println(“testing 1, 2, 3.”);
//myFile.println(“Writing fisika to test.txt...”);
//(tidak dikerjakan)

//close file
myFile.close();
Serial.println(“done.”);
} else {

Serial.println(“error opening test.txt”);


}
//re-open file to read :
myFile = SD.open(“test.txt”);
if(myFile) {
Serial.println(“test.txt”);
while(myFile.available()) {
Serial.write(myFile.read());
}
//close the file
myFile.close();
} else {
Serial.println(“error opening test.txt”);
}
}

2. Setting waktu hanya sekali saja, maka matikan setting waktu :


//rtc.now(DateTime(2020, 11, 23, 14, 23, 45));

 Menit Kelimabelas (Program Akhir secara Keseluruhan ) :

#include <SPI.h>
#include <SD.h>
#include <DS323x.h>
#include “DHT.h”

#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN,DHTTYPE);

DS323x rtc;

File myFile;
const int chipSelect = 3;

void setup() {
Serial.begin(9600);
Wire.begin();
delay(2000); //cheking for 2 seconds
rtc.attach(Wire);
//rtc.now(DateTime(2020, 11, 23, 14, 23, 45));
dht.begin();
while (!Serial) {
;
}

Serial.println(F(“DHTxx test!”));
Serial.print(“Initializing SD Card...”);

if((!SD.begin(chipSelect)) {
Serial.println(“Initialization failed!”);
while(1);
}
Serial.println(“Inisialization done.”);

//bagian pengisian
myFile = SD.open(“test.txt”,FILE_WRITE);
if(myFile) {
Serial.print(“Writing fisika to test.txt...”);
myFile.println(“testing 1, 2, 3.”);
myFile.println(“Writing fisika to test.txt...”);
//close file
myFile.close();
Serial.println(“done.”);
} else {

Serial.println(“error opening test.txt”);


}
//re-open file to read :
myFile = SD.open(“test.txt”);
if(myFile) {
Serial.println(“test.txt”);
while(myFile.available()) {
Serial.write(myFile.read());
}
//close the file
myFile.close();
} else {
Serial.println(“error opening test.txt”);
}
}

void loop() {
delay(2000); //to read DHT every 2s
DateTime now = rtc.now();
Serial.println(now.timestamp());
float h = dht.readHumidity();
float t = dht.readTemperature(); //as Celcius
float f = dht.readTemperature(true); //as Fahrenheit

if (isnan(h)|| isnan(t)|| isnan(f)) {


Serial.println(F(“Failed to read from DHT sensor!”));
return;
}

//Compute heat index in Fahrenheit (the default)


float hif = dht.computeHeatIndex(f, h);
//Compute heat index in Celcius (isFahrenheit = false)
float hic = dht.computeHeatIndex(t, h, false);

//bagian pengisian
myFile = SD.open(“test.txt”,FILE_WRITE);
if(myFile) {
myFile.print(F(“Humidity : “));
myFile.print(h);
myFile.print(F(“% Temperature : “));
myFile.print(t);
myFile.print(F(“oC “));
myFile.print(F(“oF Heat Index : “));
myFile.print(hic);
myFile.print(F(“oC “));
myFile.print(hif);
myFile.print(F(“oF “));

myFile.print(rtc.hour()); //untuk jam


myFile.print(“ : “); //pemisah antara jam dan menit
myFile.print(rtc.minute()); //untuk menit

//Serial.print(“Writing fisika to test.txt...”);


//myFile.println(“testing 1, 2, 3.”);
//myFile.println(“Writing fisika to test.txt...”);
//(tidak dikerjakan)

//close file
myFile.close();
Serial.println(“done.”);
} else {

Serial.println(“error opening test.txt”);


}
//re-open file to read :
myFile = SD.open(“test.txt”);
if(myFile) {
Serial.println(“test.txt”);
while(myFile.available()) {
Serial.write(myFile.read());
}
//close the file
myFile.close();
} else {
Serial.println(“error opening test.txt”);
}

Anda mungkin juga menyukai