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.
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 :
DS323x rtc;
#include <SPI.h>
#include <SD.h>
#include <DS323x.h>
DS323x rtc;
File myFile;
const int chipSelect = 3;
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 :
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
#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();
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 {
3. Untuk membaca Temperatur dan Kelembapan, pada void loop DHT program ambil
bagian berikut :
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
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 {
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 “));
//close file
myFile.close();
Serial.println(“done.”);
} else {
#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 {
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
//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 “));
//close file
myFile.close();
Serial.println(“done.”);
} else {