Ini adalah versi khusus dari board ARDUINO MEGA R3 klasik. Integrasi penuh mikrokontroler Atmel ATmega2560 dan IC Wi-Fi ESP8266, dengan memori flash 32 Mb (megabit), dan konverter USB-TTL CH340G pada satu board. Semua komponen dapat diatur untuk bekerja bersama atau sendiri-sendiri.
Specifications
Microcontroller
ATmega2560
IC Wi-Fi
ESP8266
USB-TTL converter
CH340G
Power Out
5V-800mA
Power IN. USB
5V (500mA max.)
Power IN. VIN/DC Jack
9-24V
Power Consumption
5V 800mA
Logic Level
5V
Wifi
Wi-Fi 802.11 b/g/n 2.4 GHz
USB
Micro USB
Clock Frequency
16MHz
Operating Supply Voltage
5V
Digital I/O
54
Analog I/O
16
Memory Size
256kb
Data RAM Type/Size
8Kb
Data ROM Type/Size
4Kb
Interface Type
serial\OTA
Operating temperature
−40С°/+125С°
Length×Width
53.361×101.86mm
antenna
Buil-in\external antenna
Switch Status and Mode Selection
Arduino ini memiliki DIP Switch dan sudut kerja dengan beberapa posisi. Ini membantu dalam koneksi, tergantung pada tujuan Anda. Satu detail penting adalah jika Anda menulis Flash di ESP, Anda harus mengetahui alamat yang bahkan sedikit berbeda.
Pada gambar di bawah, kami memperbesar Switch yang mengubah port serial Arduino Mega. Ini menghubungkan ke ESP, dan juga dalam Mode Switch ini, mengharuskan kita harus menekan ESP8266 untuk terhubung.
enam mode diatas dapat dipergunakan sesuai kebutuhan baik ingin menggunakan arduino mega saja atau esp8266 saja bahkan keduanya bisa digunakan.
Gambar dibawah menunjukkan komunikasi serial yang digunakan yaitu kita bisa menggunakan TXD0 & RXD0 ketika jika ingin setting sebagai esp8266 dan untuk RXD3 & TXD3 kita bisa menggunakan pada mode arduino mega Atau mode Keduanya yaitu Arduino Mega dan Esp8266.
Hal yang perlu diperhatian adalah tombol mode yang terletak pada board arduino mege Wifi ini . tombol ini harus ditekan setelah kita merubah mode pada switch board ini. sebagai contoh kita merubah mode arduino ke esp8266 maka kita setelah memindahkan switch pada posisinya seharusnya, kita tetap harus menekan tombol mode seperti pada gambar dibawah. sebagai trigger bahwa mode telah diganti atau diubah
Sekian Penjelasasn untuk Spesifikasi dan fungsi khusus dari MEGA+WiFi R3 ATmega2560+ESP8266
kita akan membutuhkan pengukuran cahaya untuk mengetahui seberapa terang
cahaya dalam ruangan kita. Hal ini penting, misalnya, untuk kebutuhan
pencahayaan yang diperlukan untuk pemotretan, kebutuhan pencahayaan tanaman
yang ada di dalam ruangan, atau bahkan menyalakan lampu secara otomatis jika
cahaya kurang dari batas tertentu.
Salah satu sensor yang bisa mengukur intensitas cahaya adalah MAX 44009,
sebuah sensor berukuran kecil namun memiliki kemampuan yang istimewa. MAX
44009 dibuat oleh Maxim Integrated.
MAX44009 ambient light sensor memiliki I2C output dan konsumsi arus sangat
kecil (<1uA, sensor ambient light dengan arus terkecil!) sehingga sangat
cocok untuk aplikasi portabel menggunakan baterai. Sangat umum dipakai di
industri smartphones, notebooks, dan wearables.
Rentang dinamis 22-bit ultra lebar dari 0,045 lux hingga 188,000 lux.
Pengoperasian dalam cahaya redup memungkinkan pengoperasian yang mudah dalam
aplikasi kaca gelap. Respon spektral fotodioda pada chip penglihatan
penglihatan manusia dan memblok cahaya IR dan UV. Blok penguatan adaptif
secara otomatis memilih kisaran lux yang benar untuk mengoptimalkan hitungan
/ lux.
Spesifikasi sensor max44009:
- Range pencahayaan 0.045 Lux ~ 188,000 Lux
- Dimensi 2mm x 2mm x 0.6mm UTDFN-Opto package.
- VCC = 1.7V to 3.6V
- ICC = 0.65μA Operating Current
- -40°C to +85°C Operating Temperature Range
- Device Address Options 1001 010x and 1001 011x
Langsung saja rangkai projek seperti dibawah ini :
Max44009 cahaya(0x4A); //Membuat variabel untuk MAX44009 LiquidCrystal_I2C lcd(0x27, 16, 4); // Mengatur alamat LCD dan dimensi LCD, yaitu 16 kolom dan 2 baris String hasilCahaya; // Variabel untuk menyimpan hasil pengukuran yang memiliki satuan unit cahaya lux (lx)
uint32_t lastDisplay = 0; // Membuat variabel unsigned integer 32 bit
void setup() { Serial.begin(9600); //Menginisiasikan setup kecepatan komunikasi Wire.begin(); // Menginisiasi Wire Wire.setClock(100000); // Menginisiasikan frequency clock komunikasi I2C dalam satuan Hertz lcd.init(); lcd.backlight(); // Menghidupkan backlight lcd.setCursor(3, 0); // Menempatkan posisi cursor pada baris 0 dan kolom 0 lcd.print("INTENSITAS"); // Menulis konten lcd.setCursor(5, 1); // Menempatkan posisi cursor pada baris 1 dan kolom 0 lcd.print("CAHAYA"); // Menulis konten
delay(4000); // jeda 4 detik lcd.clear();
}
void loop() { uint32_t interval = 1000; // Membuat variabel unsigned integer 32 bit if (millis() - lastDisplay >= interval) { lastDisplay += interval; float ukurCahaya = cahaya.getLux(); // Mendapatkan hasil pengukuran dari sensor int err = cahaya.getError(); // Mendapatkan status error dalam pengukuran intensitas cahaya if (err != 0) { Serial.print("Error:\t"); // Menampilkan konten melalui serial monitor Serial.println(err); // Menampilkan pesan error apabila pengukuran gagal dilakukan hasilCahaya = "Error " + String(err); } else { Serial.print("Cahaya:\t"); // Menampilkan konten melalui serial monitor Serial.print(ukurCahaya); // Menampilkan konten hasil pengukuran melalui serial monitor Serial.println(" lx"); // Menampilkan satuan unit hasil pengukuran hasilCahaya = String(ukurCahaya) + " lx"; // Menempatkan hasil pengukuran pada variabel }
lcd.setCursor(3, 0); // Menempatkan posisi cursor pada baris 0 dan kolom 0 lcd.print("MONITORING"); // Menulis konten pada LCD
lcd.setCursor(0, 1); // Menempatkan posisi cursor pada baris 0 dan kolom 0 lcd.print("RESULT: "); // Menulis konten pada LCD lcd.setCursor(7, 1); // Menempatkan posisi cursor pada baris 1 dan kolom 0 lcd.print(hasilCahaya); // Menulis konten hasil pengukuran pada LCD delay(1000); lcd.clear(); // Menghapus konten LCD } }
Hasil pengukuran akan ditampilkan melalui
Serial Monitor dan LCD 16×2 I2C.