Anda di halaman 1dari 9

MIKROKONTROLLER

LAPORAN TUGAS MIKROKONTROLLER

Disusun Oleh :
Kelompok IX
Mycel Natalis Stopper N 210491100015
Rafiudin Darmawan 200491100021
Abdul Kosim 200491100045
Alief Syava Arya Kusuma 200491100026

LABORATORIUM MEKATRONIKA DASAR


PROGRAM STUDI S1 TEKNIK MEKATRONIKA
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS TRUNOJOYO MADURA
BANGKALAN
2022
TUGAS PROJECT MIKRO KONTROLLER

A. Alat dan Bahan


1. Sensor Motion PIR
Sensor PIR digunakan mendeteksi adanya gerakan apakah manusia/benda
telah bergerak atau keluar dari jangkauan sensor. Sensor PIR berdaya rendah,
mudah digunakan dan tidak mudah rusak, alasan banyak digunakan dalam
peralatan rumah dan gadget, sering disebut sebagai PIR, “Pasif Infrared”,
“Piroelektrik”, atau “Motion IR” sensor. Berikut merupakan gambar sensor
motion PIR dapat dilihat pada Gambar 1.

Gambar 1. Sensor Motion PIR

2. Modul FTDI FT232RL


Modul FT232RL adalah modul konversi signal USB ke signal TTL/UART
(USB-to-TTL Converter) yang praktis untuk digunakan pada rangkaian
elektronika berbasis mikrokontroler, dengan demikian perangkat elektronika bisa
berkomunikasi dengan perangkat lain lewat komunikasi standar USB. Berikut
merupakan Gambar modul FTDI yang ditunjukkan pada Gambar 2.

Gambar 2. FTDI FT232RL


3. ESP 32 Camera
ESP32-CAM merupakan salah satu mikrokontroler yang memiliki fasilitas
tambahan berupa bluetooth, wifi, kamera, bahkan sampai ke slot mikroSD. Modul
ESP32CAM memiliki lebih sedikit pin I/O hal ini dikarenakan sudah banyak pin
yang  digunakan secara internal untuk fungsi kamera dan fungsi slot kartu
microSD. Selain itu, modul ESP32CAM juga tidak memiliki port USB khusus
(mengirim program dari port USB komputer). Jadi untuk memprogram modul ini
harus menggunakan USB TTL atau dapat menambahkan modul tambahan berupa
downloader khusus untuk ESP32-CAM. Bentuk fisik dari ESP 32 Camera dapat
di lihat pada Gambar 3.

Gambar 3. ESP 32 Camera

B. Langkah-langkah Rangkaian
Berikut merupakan langkah-langkah membuat projek UAS mikrokontroler
yang dijelaskan di bawah ini.
1. Hubungkan GND pada ESP32CAM ke GND FTDI FT232RL serta
hububgkan ke VCC pada sensor motion PIR.
2. Hubungkan 5V pada ESP32CAM ke VCC FTDI FT232RL serta
hubungkan ke GND sensor motion PIR.
3. Hubungkan input ESP32CAM pada kaki I103 ke output sensor motion
PIR.
4. Hubungkan kabel USB TTL pada FTDI FT232RL ke laptop.
5. Masukkan program Arduino berikut.
#include <WiFi.h>
#include <WiFiClientSecure.h>
#include "esp_camera.h"
#include "UniversalTelegramBot.h"
#define BOT_TOKEN "5956338807:AAGGwHOK-
6I4OP9fAxOwxH7bym302bbO5o0"
#define chat_id "1958579735"
#define _debug
const char* ssid = "Hotspot@LabIPA-FT";
//const char* password = "rafi5678";
WiFiClientSecure client;
UniversalTelegramBot bot(BOT_TOKEN, client);
long bot_last_check;
int bot_check_interval = 3000;
bool hasMoreData;
camera_fb_t * fb = NULL;
bool hasMoreDataAvailable();
byte* getNextBuffer();
int getBufferLen();
//CAMERA_MODEL_AI_THINKER
#define PWDN_GPIO_NUM 32
#define RESET_GPIO_NUM -1
#define XCLK_GPIO_NUM 0
#define SIOD_GPIO_NUM 26
#define SIOC_GPIO_NUM 27
#define Y9_GPIO_NUM 35
#define Y8_GPIO_NUM 34
#define Y7_GPIO_NUM 39
#define Y6_GPIO_NUM 36
#define Y5_GPIO_NUM 21
#define Y4_GPIO_NUM 19
#define Y3_GPIO_NUM 18
#define Y2_GPIO_NUM 5
#define VSYNC_GPIO_NUM 25
#define HREF_GPIO_NUM 23
#define PCLK_GPIO_NUM 22
int pirSensorPin = 13;
int motionDetected = LOW;
void setup() {
pinMode(pirSensorPin, INPUT);
Serial.begin(9600);
Serial.setDebugOutput(true);
Serial.println();
camera_config_t config;
config.ledc_channel = LEDC_CHANNEL_0;
config.ledc_timer = LEDC_TIMER_0;
config.pin_d0 = Y2_GPIO_NUM;
config.pin_d1 = Y3_GPIO_NUM;
config.pin_d2 = Y4_GPIO_NUM;
config.pin_d3 = Y5_GPIO_NUM;
config.pin_d4 = Y6_GPIO_NUM;
config.pin_d5 = Y7_GPIO_NUM;
config.pin_d6 = Y8_GPIO_NUM;
config.pin_d7 = Y9_GPIO_NUM;
config.pin_xclk = XCLK_GPIO_NUM;
config.pin_pclk = PCLK_GPIO_NUM;
config.pin_vsync = VSYNC_GPIO_NUM;
config.pin_href = HREF_GPIO_NUM;
config.pin_sscb_sda = SIOD_GPIO_NUM;
config.pin_sscb_scl = SIOC_GPIO_NUM;
config.pin_pwdn = PWDN_GPIO_NUM;
config.pin_reset = RESET_GPIO_NUM;
config.xclk_freq_hz = 20000000;
config.pixel_format = PIXFORMAT_JPEG;
// jika ada PSRAM IC, init dengan UXGA resolution dan kualitas
JPEG yang lebih tinggi
// untuk buffer bingkat pra-alokasi yang lebih besar.
if(psramFound()){
config.frame_size = FRAMESIZE_QVGA;
config.jpeg_quality = 10;
config.fb_count = 2;
} else {
config.frame_size = FRAMESIZE_QVGA;
config.jpeg_quality = 12;
config.fb_count = 1;
}
// camera init
esp_err_t err = esp_camera_init(&config);
if (err != ESP_OK) {
Serial.printf("Camera init failed with error 0x%x", err);
return;
}
sensor_t * s = esp_camera_sensor_get();
// tampilan awal yang digunakan adalah vertikal dan warna agak jenuh
if (s->id.PID == OV3660_PID) {
s->set_vflip(s, 1); // flip tampilan
s->set_brightness(s, 1); // menaikkan sedikit kecerahan
s->set_saturation(s, 0); // menurunkan saturasi
}
//drop down ukuran frame untuk frame rate awal yang lebih tinggi
s->set_framesize(s, FRAMESIZE_QVGA);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
bot.longPoll = 60;
}
bool hasMoreDataAvailable() {
Serial.println("Has more daa");
if (hasMoreData) {
hasMoreData = false;
return true;
}
return false;
}
byte* getNextBuffer() {
Serial.println("Next Buffer ");
if (fb)
return fb->buf;
return nullptr;
}
int getBufferLen() {
Serial.println("Buffer len");
if (fb)
return fb->len;
return 0;
}
void sendImage() {
Serial.println("Sending Image");
fb = NULL;
fb = esp_camera_fb_get();
hasMoreData = true;
Serial.println(fb->len);
bot.sendPhotoByBinary(chat_id, "image/jpeg", fb->len,
hasMoreDataAvailable, nullptr, getNextBuffer, getBufferLen);
esp_camera_fb_return(fb);
}
void loop() {
motionDetected = digitalRead(pirSensorPin); //pembacaan sensor PIR
if (motionDetected == HIGH) //ketika terdeteksi gerakan
{
if (millis() > bot_last_check + bot_check_interval) {
sendImage();
bot_last_check = millis();
}
}
delay(50);
}
6. Daftarkan akun telegram untuk mengetahui output gambar yang dikirim
melalui ESP32CAM yang telah dideteksi oleh sensor motion PIR.
7. Masuk ke telegram lalu cari BotFather.
8. Masukan nama bot telegram.
9. Masukan deskripsi pada bot telegram.
10. Cari bot telegram dengan username get id bot
11. Klik start lalu muncul chat id yang digunakan pada program di Arduino.
12. Berikut merupakan hasil dari projek mikrokontroller yang ditunjukkan
pada Gambar 4.
Gambar 4. Hasil projek mikrokontroller

Anda mungkin juga menyukai