MEGA+WiFi R3 ATmega2560+ESP8266
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
Untuk pengertian dan tutorial sebelumnya sudah diperjelas pada postingan sebelumnya serta kegunaan access point.
Bahan yang diperlukan yaitu :
- Wemos Esp8266
- Micro USB
- Smartphone ” Android”
- Aplikasi Wifi Acces Points
- Komputer + Software IDE Arduino
note : untuk trial kedua mengendalikan led yang terdapat pada Modul LED.
RED LED TO------> D4 WEMOS
GREEN LED TO -> D2 WEMOS
GND LED TO -----> GND WEMOS
KABEL MIKRO USB Sebagai daya wemos ,Sistem kerja dari aplikasi yaitu mengakses access point yang dibuat dari wemos melalu jaringan wifi yang dipancarkan dari wemos. android yang digunakan harus terhubung dan terkoneksi dengan jaringan wemos. kasus ini jaringan yang dibuat dengan nama SSID Sinau Programming. alamat ip default dari wemos adalah 192.168.4.1
List Program Dari Wemos Esp8266 LED Control :
/*********
harislightace
Complete project details at http://sinauprogramming.com
*********/
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
MDNSResponder mdns;
// Replace with your network credentials
const char* ssid = "SSid jika pakai jaringan";
const char* password = "Password jaringan";
const char *ssidx = "Sinau Programming";
const char *passwordx = "www.sinauprogramming.com";
ESP8266WebServer server(80);
String webPage = "";
// LED GPIOs
int led1 = 2;
int led2 = 4;
void setup(void){
// Creates a web page, so that you can control the ESP8266
// using your web browser
WiFi.softAP(ssidx, passwordx);
delay(1500);
webPage += "<h1>ESP8266 Web Server</h1><p>LED #1 <a href=\"ON1\"><button>ON</button></a> <a href=\"OFF1\"><button>OFF</button></a></p>";
webPage += "<p>LED #2 <a href=\"ON2\"><button>ON</button></a> <a href=\"OFF2\"><button>OFF</button></a></p>";
// Preparing GPIOs
pinMode(led1, OUTPUT);
digitalWrite(led1, LOW);
pinMode(led2, OUTPUT);
digitalWrite(led2, LOW);
// Connects to your router via WiFi
delay(1000);
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.println("");
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(1500);
Serial.print(".");
goto a;
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
if (mdns.begin("esp8266", WiFi.localIP())) {
Serial.println("MDNS responder started");
}
a:
server.on("/", [](){
server.send(200, "text/html", webPage);
});
// Turns the led1 ON
server.on("/ON1", [](){
server.send(200, "text/html", webPage);
digitalWrite(led1, HIGH);
delay(1000);
});
// Turns the led1 OFF
server.on("/OFF1", [](){
server.send(200, "text/html", webPage);
digitalWrite(led1, LOW);
delay(1000);
});
// Turns the led2 ON
server.on("/ON2", [](){
server.send(200, "text/html", webPage);
digitalWrite(led2, HIGH);
delay(1000);
});
// Turns the led2 OFF
server.on("/OFF2", [](){
server.send(200, "text/html", webPage);
digitalWrite(led2, LOW);
delay(1000);
});
server.begin();
Serial.println("HTTP server started");
}
void loop(void){
// Handles all the client connections
server.handleClient();
}
NOTE : Dua cara yang dibuat untuk dikendalikan via aplikasi dan web server yang telah dibuat
IP 192.168.4.1
➖➖➖❗❗➖➖➖
Video Selengkapnya
Cara membuat Wemos Esp8266 difungsikan sebagai Acces Point.
Titik akses (Access Point) adalah sebuah perangkat nirkabel yang mempergunakan jaringan wifi. Access point (Titik akses) kelas bisnis dapat dipasang di mana pun Anda dapat menjalankan kabel Ethernet. Model yang lebih baru juga kompatibel dengan Power over Ethernet Plus, atau PoE + (kombinasi Ethernet dan kabel daya), jadi tidak perlu menjalankan saluran listrik terpisah atau memasang stopkontak di dekat titik akses.
Fitur standar tambahan termasuk Captive Portal dan dukungan Access Control List (ACL), sehingga Anda dapat membatasi akses tamu tanpa mengorbankan keamanan jaringan, serta dengan mudah mengelola pengguna dalam jaringan Wi-Fi Anda.
Access point (Titik akses) yang dipilih menyertakan fitur Pengelompokan. satu titik dari mana administrator TI dapat melihat, menerapkan, mengonfigurasi, dan mengamankan jaringan Wi-Fi sebagai divice tunggal daripada serangkaian konfigurasi titik akses terpisah.
Apa itu Access Point dan kegunaannya bisa cek selengkapnya di
Wifi Access Point
Bahan yang diperlukan yaitu :
- Wemos Esp8266
- Kabel Micro USB
- Smartphone ” Android”
- Komputer + Software IDE Arduino
Catatan : Pada software IDE Arduino diharapkan sudah terinstall library untuk pengaksesan Wemos.
Sehingga dapat diprogramkan code program yang akan ditulis.
List Program :
#include <ESP8266WebServer.h> //library Wemos sebagai web server
#include <ESP8266WiFi.h> //library wemos wifi
#include <WiFiClient.h> //library Wemos sebagai client
const char *ssid = "Sinau Programming";
const char *password = "www.sinauprogramming.com";
//setting pada port 80
ESP8266WebServer server(80);
void handleRoot() {server.send(200, "text/html", "<h1>Yaay! Selamat Mencoba sinauprogramming.com!</h1>");}// Judul
char* htmlBody_help = "<h1>Help</h1><br/>\n"
"Visit >> http://192.168.4.1/ untuk mengakses web server.<br/>\n"
"Visit >> http://192.168.4.1/help untuk mengakses help akses halaman ini.<br/>\n";
void handleHelp(){
server.send(200, "text/html", htmlBody_help);
}
void setup() {
delay(1000); //waktu tunda 1 detik
Serial.begin(9600);
Serial.println();
WiFi.softAP(ssid, password);//bertindak sebagai access point dengan nama wifi dan pass diatas
IPAddress apip = WiFi.softAPIP(); //alamat IP
Serial.print("visit: \n");
//menuliskan alamat IP yang bisa dikunjungi
Serial.println(apip);server.on("/", handleRoot);
server.on("/help", handleHelp); ////memanggil fungsi handleHelp()
server.begin(); //proses pemulaian menjadi server
Serial.println("HTTP server beginned");
}
void loop() {server.handleClient();}
Hasil dari program diatas :
EEPROM
Everyone know about eeprom This is a bit different from standard EEPROM class. You need to call EEPROM.begin(size)
before you start reading or writing, size being the number of bytes you want to use. Size can be anywhere between 4 and 4096 bytes.
EEPROM.write
does not write to flash immediately, instead you must call
EEPROM.commit()
whenever you wish to save changes to flash.
EEPROM.end()
will also commit, and will release the RAM copy of EEPROM contents.
EEPROM library uses one sector of flash located just after the SPIFFS. Check this one,
many problem when you want to write or read EEPROM for interger etc.
to break down data and store it on eeprom we have to consider the data and the amount of data that will be stored at an address
for example rtc data or counting that will be stored at eeprom 0 address. there is a maximum amount of data that must be considered. the solution is to break down the data
here example separate data for EEPROM
#include <EEPROM.h>
int data1 = 7495 ; // data
int addr = 0; // address on eeprom
int addr1 = 1;
int addr2 = 2;
int addr3 = 3;
int num1,num2,num3,num4;
void setup() {
EEPROM.begin(512); // setup
Serial.begin(115200);
}
void loop() {
int value = EEPROM.read(addr); //read address on eeprom
int value1 = EEPROM.read(addr1);
int value2 = EEPROM.read(addr2);
int value3 = EEPROM.read(addr3);
value = (value*1)+(value1*100)+(value2*10000)+(value3*1000000);
Serial.print("read eeprom : ");
Serial.println(value); // show result read on eeprom
delay(1000);
num1 = (data1%100); // separate value or time
num2 = (data1/100)%100;
num3 = (data1/10000)%100;
num4 = (data1/1000000)%100;
Serial.println(num1);
Serial.println(num2);
Serial.println(num3);
Serial.println(num4);
// int val = 00;
// int val1 = 00;
// int val2 = 8;
// int val3 = 1;
EEPROM.write(addr, num1); // save on eeprom
EEPROM.write(addr1, num2);
EEPROM.write(addr2, num3);
EEPROM.write(addr3, num4);
EEPROM.commit();
delay(100);
}
|
Result |
I hope this can be useful and help you ... don't forget to share ... see you