Más información del producto en https://www.dfrobot.com/?tracking=6054215fb144f
Introducción
FireBeetle ESP32-E, especialmente diseñado para IoT, es una placa controladora principal basada en ESP-WROOM-32E con chips de doble núcleo. Admite comunicación de modo dual WiFi y Bluetooth, y presenta un tamaño pequeño, consumo de energía ultra bajo, en -Circuito de carga de placa e interfaz fácil de usar, que se puede usar convenientemente para IoT doméstico inteligente, aplicaciones IOT industriales, dispositivos portátiles, etc.Puede crear fácilmente su propio sistema de hogar inteligente IoT al conectarlo con una plataforma IoT como IFTTT. FireBeetle ESP32-E admite la programación Arduino y admitirá la programación gráfica Scratch y la programación MicroPython muy pronto. Le brindamos tutoriales detallados en línea y casos de aplicación, y hay miles de sensores con interfaz y actuadores de gravedad sin soldadura para ayudarlo empezar fácilmente. Además,El diseño del orificio del sello hace que se pueda incrustar fácilmente en su PCB, lo que ahorra en gran medida sus costos y tiempo para construir y probar el prototipo.
Tal vez pueda interesarte proyectos en arduino, pic, robótica, telecomunicaciones, suscribete en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 mucho videos con código fuentes completos y diagramas
2. ¿Qué es la serie FireBeetle?
FireBeetle se diseñó originalmente para ser una serie de placas de desarrollo de código abierto Mini Arduino de alto rendimiento y más. Ahora no solo es totalmente compatible con el entorno de desarrollo Arduino, sino que también viene con abundantes recursos de hardware y software. FireBeetle admitirá los diversos entornos de desarrollo como MakeCode, Mind +, Pingpong y MicroPython (que se mejorará pronto), que le permite programar su hardware mediante programación gráfica, lenguaje C, Python o JS.
¡Esta placa de código abierto de alta flexibilidad podría brindarle infinitas posibilidades! Hay una gran cantidad de tutoriales detallados y miles de periféricos Gravity fáciles de usar que le brindan la forma más sencilla de programar. No importa si es un estudiante, un entusiasta de la electrónica, artista o diseñador, este sería su mejor socio para abrir el mundo de la electrónica sin tener que lidiar con circuitos complicados, codificaciones que destruyen el cerebro y todos los protocolos de comunicación complejos. Convierta sus valiosas ideas en una realidad fantástica con esta placa FireBeetle !
3. Características
- Compatible con la serie DFRobot FireBeetle V2
- Tamaño pequeño de 25,4 × 60 mm
- Controlador principal de bajo consumo de doble núcleo ESP32, WiFi + BT4.0
- Puerto de pantalla GDI, fácil de conectar
- Circuito de carga integrado e interfaz de batería de iones de litio PH2.0
4. Especificación
- Voltaje de funcionamiento: 3,3 V
- Voltaje de entrada: 3,3 V ~ 5,5 V
- Soporte de bajo consumo: 10uA
- Corriente de descarga máxima: 600mA@3.3V LDO
- Corriente de carga máxima: 500 mA
- Soporte de carga USB
- Procesador: procesador de doble núcleo Tensilica LX6 (uno para conexión de alta velocidad; otro para desarrollo de aplicaciones independientes)
- Frecuencia principal: 240 MHz
- SRAM: 520 KB
- Flash: 32 Mbit
- Estándar de Wi-Fi: FCC / CE / TELEC / KCC
- Protocolo Wi-Fi: 802.11 b / g / n / d / e / i / k / r (802.11n, velocidad de hasta 150 Mbps), agregación A-MPDU y A-MSDU, admite intervalo de protección de 0.4us)
- Rango de frecuencia: 2,4 ~ 2,5 GHz
- Protocolo Bluetooth: compatible con Bluetooth v4.2 BR / EDR y BLE
- Audio Bluetooth: audio CVSD y SBC
- Corriente de funcionamiento: 80 mA (promedio)
- Admite la descarga de Arduino con una tecla
- Soporte MicroPython
- Reloj en chip: cristal de 40 MHz, cristal de 32,768 kHz
- E / S digital x10 (Arduino predeterminado)
- Entrada analógica x5 (Arduino predeterminado)
- SPI x1 (Arduino predeterminado)
- IIC x1 (Arduino predeterminado)
- I2S x1 (Arduino predeterminado)
- RGB_LED: 5 / D8
- Conector: compatible con la serie FireBeetle V2
- Temperatura de funcionamiento: -40 ℃ ~ + 85 ℃
- Tamaño del módulo: 25,4 × 60 (mm)
- Tamaño del orificio de montaje: orificio de montaje M2 con un diámetro de 2,0 mm
5. Descripción general de la junta
- Tipo-c: Interfaz USB: 4.75v-5.5v
- Conector de batería de iones de litio PH2.0: 3,5-4,2 V
- LED 2 / D9: LED de control a través del Pin 2 / D9
- Indicador de carga: LED rojo para indicar el estado de carga: 1. Apagado cuando está completamente cargado o no cargado; 2. Encendido cuando se está cargando; 3. Parpadeo rápido cuando se alimenta por USB y sin batería conectada.
- Pin de reinicio de RST: haga clic en el botón de reinicio para reiniciar el programa
- 5 / D8 WS2812 Indicador: control WS2812 RGB LED a través del pin 5 / D8
- Almohadilla de bajo consumo: esta almohadilla está especialmente diseñada para un bajo consumo de energía. Está conectada de forma predeterminada. Puede cortar el cable delgado en el medio con un cuchillo para desconectarlo. Después de la desconexión, el consumo de energía estática se puede reducir en 500 μA .El consumo de energía se puede reducir a 13 μA después de controlar el controlador principal, ingresar al modo de suspensión a través del programa. Nota: cuando la almohadilla está desconectada, solo puede encender la luz LED RGB a través de la fuente de alimentación USB.
- Interfaz de pantalla GDI: interfaz de pantalla dedicada DFRobot, los detalles se darán más adelante.
- Módulo ESP32: el módulo ESP32-e más nuevo lanzado por ESPRESSIF
- Botón: controle el botón a través del pin 27 / D4
6. Pinout
Descripción general
FireBeetle ESP32-E tiene hasta 22 GPIO físicos, de los cuales los pines 34-39 solo se usan como pines de entrada, y otros se pueden usar como pines de entrada y salida Todos los voltajes lógicos son de 3.3V.
- Control: Pin de activación / reinicio de FireBeetle
- Toque: pin con función táctil capacitiva
- Analógico: pin analógico
- Pin de puerto: el número de pin físico predeterminado del chip, que se puede utilizar directamente para controlar el pin correspondiente
- IDE: en Arduino IDE, los números de pin han sido reasignados por FireBeetle, o puede usar este símbolo directamente para controlar el pin correspondiente
- PIN RTC: FireBeetle admite la función de bajo consumo y, en el modo de sueño profundo, solo se pueden utilizar los pines RTC.
- Energía: FireBeetle lleva el voltaje de la fuente de energía y el voltaje estabilizado de la fuente de alimentación de 3.3V a través de pines, lo cual es conveniente para los usuarios.
- GND: clavija de tierra común FireBeetle
Energía
- GND: terreno común para toda la potencia y la lógica
- VCC: voltaje positivo de la entrada de la batería de iones de litio / USB (voltaje USB de salida de 5 V cuando se alimenta por USB; voltaje de la batería de salida de 3,7 V cuando funciona con una batería de iones de litio)
- 3V3: salida del regulador de voltaje 3.3, puede proporcionar una corriente máxima de 500mA
Control
- RST: conectado al pin de reinicio de ESP32, puede reiniciar el programa
- ES: habilita el pin del regulador de voltaje de 3.3 V. Se ha levantado, por lo que la conexión a tierra puede deshabilitar el regulador de 3.3V.
GPIO
- D2 a D13: estos son pines de uso general, que generalmente se utilizan como pines digitales o función multiplexada
- A0 a A4: estos son pines de entrada analógica, de los cuales A0-A3 solo se pueden usar como pines de entrada.
- Pin de datos SDA-IIC (línea)
- Pin de reloj SCL-IIC (línea)
- SCK / MOSI / MISO: pines SPI de hardware, puede usarlos como pines GPIO normales (pero se recomienda dejarlos inactivos ya que son los más adecuados para hardware SPI de alta velocidad)
UART
ESP32 tiene dos puertos UART, de los cuales UART0 es para comunicación con PC.
Nombre de puerto serie | Arduino | TX | RX |
---|---|---|---|
UART0 | De serie | Pin1 | Pin3 |
UART2 | Serial2 | Alfiler17 | Alfiler 16 |
7. Primeros pasos (usar por primera vez)
7.1 Configuración IDE de Arduino
Cuando utilice el controlador principal de FireBeetle por primera vez, debe conocer los siguientes pasos:
- Agregue el enlace json en IDE
- Descarga el núcleo del controlador principal
- Seleccione la placa de desarrollo y el puerto serie
- Conozca el monitor de serie
Configuración de Arduino IDE
- Agregar URL a Ardudino IDE
Abra Arduino IDE, haga clic en Archivo-> Preferencias, como se muestra a continuación:
Haga clic en el icono marcado con rojo a continuación.
Copie la dirección en el nuevo cuadro emergente: http://download.dfrobot.top/FireBeetle/package_DFRobot_index.json
Haga clic en Aceptar.
- Actualizar tablero: Abra Herramientas-> Tablero-> Administrador de tableros.
El tablero se actualizará automáticamente
Espere un momento, luego encontrará el FireBeetle-ESP32 (V0.0.8 disponible ahora) en la lista. Haga clic en “Instalar”:
Listo Ahora puede encontrar la placa FireBeetle-ESP32 instalada en la lista.
7.2 Parpadeo
Este es un programa de parpadeo para usuarios que usan Arduino por primera vez. El LED parpadeará regularmente cuando se graben códigos en su placa.
El LED parpadeante predeterminado para la placa FireBeetle-ESP32 es D9 / 2.
- Seleccionar placa y puerto
- Haga clic en Herramientas> Tablero; Seleccione FireBeetle-ESP32-E
- Haga clic en el puerto para seleccionar el puerto correspondiente
- Programación
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// the setup function runs once when you press reset or power the board void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } |
- Copie los códigos anteriores en el IDE de Arduino.
- Haga clic en la flecha para compilar y grabar los códigos en su tablero.
Sensor de Hall
El ESP32 viene con un sensor hall que presenta un número positivo / negativo al acercarse a un campo magnético.
1 2 3 4 5 6 7 8 9 |
void setup() { Serial.begin(9600); } void loop() { Serial.printf("hallRead:%d\n",hallRead()); delay(200); } |
Resultado
Función miembro
- hallRead ()
Descripción : lee el valor del sensor hall incorporado Retorno : devuelve entero 0-255; Número positivo para el polo norte; Número negativo para el polo sur. Cuanto más fuerte es el campo magnético, mayor es el valor absoluto
Tutorial de WiFi
El ESP32 soporta la función WiFi Aquí construimos un servidor WiFi con el ESP32, y usamos el cliente para conectarlo para controlar un LED de forma remota.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
#include <WiFi.h> #include <FastLED.h> #define NUM_LEDS 1 #define DATA_PIN 5 #define CLOCK_PIN 13 const char* ssid = "Tu_red_wifi"; const char* password = "Tu_clave; WiFiServer server(80); CRGB leds[NUM_LEDS]; void setup() { Serial.begin(115200); //pinMode(LED_BUILTIN, OUTPUT); // set the LED pin mode FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS); delay(10); // We start by connecting to a WiFi network Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected."); Serial.println("IP address: "); Serial.println(WiFi.localIP()); server.begin(); } int value = 0; void loop(){ WiFiClient client = server.available(); // listen for incoming clients if (client) { // if you get a client, Serial.println("New Client."); // print a message out the serial port String currentLine = ""; // make a String to hold incoming data from the client while (client.connected()) { // loop while the client's connected if (client.available()) { // if there's bytes to read from the client, char c = client.read(); // read a byte, then Serial.write(c); // print it out the serial monitor if (c == '\n') { // if the byte is a newline character // if the current line is blank, you got two newline characters in a row. // that's the end of the client HTTP request, so send a response: if (currentLine.length() == 0) { // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK) // and a content-type so the client knows what's coming, then a blank line: client.println("HTTP/1.1 200 OK"); client.println("Content-type:text/html"); client.println(); // the content of the HTTP response follows the header: client.print("Click <a href=\"/R\">here</a> to turn the LED on Red.<br>"); client.print("Click <a href=\"/G\">here</a> to turn the LED on Green.<br>"); client.print("Click <a href=\"/B\">here</a> to turn the LED on Blue.<br>"); client.print("Click <a href=\"/A\">here</a> to turn the LED on Off.<br>"); // The HTTP response ends with another blank line: client.println(); // break out of the while loop: break; } else { // if you got a newline, then clear currentLine: currentLine = ""; } } else if (c != '\r') { // if you got anything else but a carriage return character, currentLine += c; // add it to the end of the currentLine } //Color Rojo if (currentLine.endsWith("GET /R")) { leds[0] = CRGB::Red; FastLED.show(); } //Color Verde if (currentLine.endsWith("GET /G")) { leds[0] = CRGB::Green; FastLED.show(); } //Color Azul if (currentLine.endsWith("GET /B")) { leds[0] = CRGB::Blue; FastLED.show(); } //Apagado if (currentLine.endsWith("GET /A")) { leds[0] = CRGB::Black; FastLED.show(); } } } // close the connection: client.stop(); Serial.println("Client Disconnected."); } } |
VIDEOS RECOMENDADOS