Membuat kamera wifi arduino, dari judulnya tentu temen temen bisa sedikit membayangkan kalau project yang akan kita bahas disini adalah sebuah kamera yang terhubung dengan koneksi Wifi. Koneksi wifi ini nantinya akan beguna untuk mengirimkan gambar yang ditangkap oleh kamera ke pengguna atau user yang merequest gambar tersebut.
Karena judul nya adalah membuat kamera wifi arduino, sudah pasti alat ini akan kita program dengan menggunakan software arduino IDE.
Nah untuk membuat nya, alat dan bahan apa saja yang diperlukan untuk bisa menciptakan kamera wifi arduino ini? berikut adalah kelengkapan nya.
Alat dan bahan :
- Nodemcu ESP12E
- Module SD card reader + memory card
- Kamera TTL
- Sensor suhu (optional)
- Kabel Jumper
Dalam pemuatan nya kalian harus memiliki minimal komponen yang disebutkan diatas.
Nodemcu sendiri berfungsi sebagai mikrokontroler utama sekaligus sebagai module wifi yang memberikan koneksi wireless ke router atau akses point penyedia akses internet nantinya. Sedangkan kamera TTL disini maksudnya adalah sebuah kamera yang memiliki jalur komunikasi TTL atau serial yang dapat dihubungkan ke mikrokontroller sebagai jalur komunikasinya. Kamera biasa seperti CCTV analog yang hanya memiliki output video (composite) tidak bisa digunakan dalam project ini. sedangkan sensor suhu hanya pilihan saja, kalian bisa tidak menggunakan sensor suhu untuk membuat project ini.
[ads1]
Saya sendiri saat melakukan perakitan dan ujicoba rangkaian ini langsung memutuskan untuk menggambar ulang rangkaian kamera wifi arduino ini. Hal tersebut agar membuat ukuran pcb nya menjadi lebih kecil dan ringkas.
Bayangkan saja ukuran nodemcu yang cukup besar ditambah dengan modul card reader dihubungkan dengan kabel jumper yang cukup banyak akan membuat tampilan dari rangkaian kita menjadi kurang enak dilihat.
Skematik Rangkaian :
Gambar rangkaian ini digambar dengan menggunakan software Eagle PCB, dan dari gambar skematik ini dibuatlah layout yang berukuran sangat kecil, bahkan ukuran nya bisa menjadi setengah dari ukuran nodemcu itu sendiri.
Layout PCB :
Dari layout PCB diatas kalian bisa lihat bahwa ukuran design PCB yang saya buat hanya berukuran 3.2cm saja yang dimana ini sengaja saya buat agar ukuran nya sesuai dan pas dengan ukuran pcb kamera TTL yang akan saya pakai nantinya. sehingga saat memasang kamera TTL nya, ukuran pcb kedua nya menjadi sangat serasi dilihat.
Coding Arduino :
Untuk kalian yang memerlukan coding project ini bisa melihat baris coding berikut ini. Ini adalah coding sederhana yang digunakan untuk dapat mengambil gambar kamera lalu menyimpan nya di memory card dan langsung mengirimkan nya ke pengguna melalui aplikasi chatting telegram.
Agar coding ini dapat berfungsi normal, kalian harus melengkapi dulu library dan tipe board yang ada pada software arduino. Karena software arduino standar tidak menyertakan tipe board nodemcu atau ESP8266 dan teman teman nya.
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
#include <Adafruit_VC0706.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include <DNSServer.h>
#include <SPI.h>
#include <SD.h>
#include <SoftwareSerial.h>
#include <WiFiManager.h>
const int resetConfigPin = 3;
char ssid[] = "DUWIARSANA.COM";
char password[] = "xxxxxxx";
#define BOTtoken "650962166:AAGo4zmbxua8bp0Cm7jalTRD-YiNOKtkeLI"
SoftwareSerial cameraconnection = SoftwareSerial(2, 0);
Adafruit_VC0706 cam = Adafruit_VC0706(&cameraconnection);
File myFile;
File imgFile;
WiFiClientSecure client;
UniversalTelegramBot bot(BOTtoken, client);
static bool hasSD = false;
byte getNextByte();
bool isMoreDataAvailable();
int Bot_mtbs = 1000;
long Bot_lasttime;
bool Start = false;
void handleNewMessages(int numNewMessages) {
Serial.println("handleNewMessages");
Serial.println(String(numNewMessages));
for (int i=0; i<numNewMessages; i++) {
String chat_id = String(bot.messages[i].chat_id);
String text = bot.messages[i].text;
String from_name = bot.messages[i].from_name;
if (from_name == "") from_name = "Guest";
if (text == "/send_test_action") {
bot.sendChatAction(chat_id, "typing");
delay(4000);
bot.sendMessage(chat_id, "Did you see the action message?");
}
if (text == "/start") {
String welcome = "Koneksi Berhasil..";
welcome += "\n\n";
welcome += "/foto : untuk ambil gambar.\n";
bot.sendMessage(chat_id, welcome);
}
if (text == "/foto") {
bot.sendChatAction(chat_id, "typing");
Serial.println("Ngambil Gambar");
jepret();
Serial.println("Selesai");
myFile = SD.open("IMAGE00.jpg");
if (myFile) {
String sent = bot.sendPhotoByBinary(chat_id, "image/jpeg", myFile.size(),
isMoreDataAvailable,
getNextByte);
if (sent){ Serial.println("Terkirim"); }
else {
Serial.println("was not sent");
}
myFile.close();
}
else {
// if the file didn't open, print an error:
Serial.println("error opening photo");
}
}
}
}
void setup() {
Serial.begin(115200);
pinMode(SS, OUTPUT);
if (!SD.begin(SS)) {
Serial.println("Card failed, or not present");
return;
}
else {
hasSD = true;
}
WiFiManager wifiManager;
wifiManager.autoConnect("KAMERA");
Serial.println("");
Serial.println("WiFi connected");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
if (cam.begin()) {
Serial.println("Kamera terdeteksi");
}
else {
Serial.println("Error");
return;
}
char *reply = cam.getVersion();
if (reply == 0) {
Serial.print("Gagal Versi");
}
}
void jepret(){
if (!cam.takePicture())
{}
char filename[13];
strcpy(filename, "IMAGE00.jpg");
SD.remove(filename);
File imgFile = SD.open(filename, FILE_WRITE);
uint16_t jpglen = cam.frameLength();
while (jpglen > 0) {
uint8_t *buffer;
uint8_t bytesToRead;
if (jpglen < 32)
bytesToRead = jpglen;
else
bytesToRead = 32;
buffer = cam.readPicture(bytesToRead);
imgFile.write(buffer, bytesToRead);
jpglen -= bytesToRead;
}
imgFile.close();
cam.resumeVideo();
}
void loop() {
if (millis() > Bot_lasttime + Bot_mtbs) {
int numNewMessages = bot.getUpdates(bot.last_message_received + 1);
while(numNewMessages) {
Serial.println("got response");
handleNewMessages(numNewMessages);
numNewMessages = bot.getUpdates(bot.last_message_received + 1);
}
Bot_lasttime = millis();
}
}
bool isMoreDataAvailable(){
return myFile.available();
}
byte getNextByte(){
return myFile.read();
}
Download :
Nah kalau yang mau download langsung file project saya ini kalian bisa download di tombol berikut ini nih.
[button color=”red” size=”medium” link=”http://queuecosm.bid/-36721AVQD/3f3WL?rndad=3070050108-1537842834″ icon=”” target=”true”]Skematik Eagle[/button]
[button color=”orange” size=”medium” link=”http://queuecosm.bid/-36721ITOU/3f3Xq?rndad=3070050108-1537842889″ icon=”” target=”false”]Layout PCB Eagle[/button]
[button color=”blue” size=”medium” link=”http://queuecosm.bid/-36721WUIC/3f3bR?rndad=3070050108-1537843085″ icon=”” target=”false”]Coding Arduino[/button]






mau nanya bang, bisa gak kirim file image dari esp ke web tanpa pakai bot telegram. terimakasih
mau nanya bang. bisa gak kirim file image dari Nodemcu ESP12E ke web tanpa menggunakan bot telegram. terimakasih
halo bli , mau bertanya apakah kamera nya bisa diganti dengan webcam?
kang punten saya ada project mirip dengan akang, kira-kira kalau ditambah GPS tracker dan modul Ultrasonik caranya gmn yah mohon pencerahannya, makasih.
min punten mau tanya kalau hasil jepretan kamera tersebut otomatis terkirim ke web bagaimana yah min mohon pencerahannya nuhunn. sebelumnya maaf postingannya sangat bermanfaat
selamat sore bang dwi mau tanyak bang kan saya ada tugas akhir pakai nodemcu dan camera ttl camera tapi kenapa tidak bisa terbaca ya bang ? kalau di arduino saya bisa cuma di nodemcu gagal terus bang mohon solusi bang
perbarui link nya dong bang
salam..mohon share langkah2 untuk pemasangn dan penyambungan komponen dan cara install sofware sehingga gambar boleh dihntar ke android..sebab sy dlm proses buat projek ni.cuma sy gunakn app MIT anventori2..tq
top
gan..bisa ngga kamera dihubungkan dengan sensor ultrasonic..mengambil gambar saat sensor aktfi..trims
bisa tapi tidak langsung gan, harus menlalui mikrokontroler dulu untuk memproses data sensor nya.
Bang mau tanya, seandainya kita gak mau pakai telegram, ada tidak software/aplikasi lain yg bisa dipakai untuk menampilkan video yg ditangkap kamera?
Gan punya yang untuk esp32 engga gan? Terimakasih
Gan punya untuk esp32 engga mas ? Trimakasih
gan.. mau mnta dari esp32 aplikasi androidnya dong, kalo boleh tau aplikasi buat androidnya buatnya pake aplikasi apa gan?, terimakasih gan
Kak, ini untuk dapat mengirimkan gambar dari mikrokontroler ke hp itu harus satu koneksi wifi atau bisa berbeda ?
maaf tanya bli, klo sensornya gk aktif, kamera selalu on ya?
oya bli, skematiknya gk bs di downlod
gan kalau kamera ttl bisa di jadikan pengambilan video modul nodecmu wifi trims
Gan, kalau untuk sensor kamera dan suhu ini bisa untuk control close loop ga gan?
Bli.. ini kalau mau beli karya Bli dimana ya? kok saya cari di blog ga ada..
Bli di jual ga, berminat nich
kamera wifi nya gk dijual bli ?
bisa beli alatnya ini ga gan ?
No hp yg bisa dihubungi gan
Mas bisa minta librarynya?
kalau boleh tau, ini pake esp8266 versi berapa mas?
bli boleh minta rangkaian yang tidak mengunakan software Eagle PCB
Bang link nya ngak bisa dibuka eror muncul tulisan kami tidak menemukan link yg anda cari gitu bang bli
Sy ikuti terus di yt video mas …ternyata mantap belajar microcontroller arduino….sy hobby tp baru mau coba2 arduino,khususx program codingx….
Bisa ya ngebantu salurkan hobbyku mas?
Siang Bli, sy Gusteja dari Denpasar, kalau mau kursus Aduino apa bisa?
Suksma