ESP32-C6 WiFi 4MB Bluetooth RGB LED Udviklingsboard er designet til at imødekomme behovene hos moderne IoT-udviklere og elektronikentusiaster, der kræver høj ydeevne, stabilitet og fleksibilitet. Udviklingsboardet er udstyret med en ESP32-C6 mikrocontroller, som inkluderer en RISC-V 32-bit single core processor med en høj frekvens på 160 MHz. Mikrocontrolleren har indbygget 320 KB RAM, 512 KB SRAM og 16 KB lavenergi SRAM, hvilket giver en robust platform for dine applikationer. Den integrerer også WiFi 6 (802.11ax) support for forbedret netværkseffektivitet og højere datahastigheder.
Derudover understøtter den dual-mode Bluetooth 5 (LE) for bredere kompatibilitet med trådløse enheder og har et lavt strømforbrug, hvilket gør det ideelt til batteridrevne applikationer. Med 4MB flash-hukommelse har du rigelig lagerplads til dine programmer og data, hvilket sikrer, at du kan køre komplekse applikationer uden bekymring for hukommelsesbegrænsninger. En indbygget krystaloscillator sikrer præcis timing og stabil drift af mikrocontrolleren, hvilket er afgørende for pålidelig ydeevne i krævende applikationer. Boardet inkluderer også en indbygget WRGB2812 RGB LED, som kan styres til at vise et bredt spektrum af farver. Dette er perfekt til visuel feedback, statusindikatorer og dekorative lysprojekter. Endelig er udviklingsboardet designet med flere GPIO-pinde, hvilket giver dig mulighed for nemt at tilslutte forskellige sensorer, aktuatorer og andre perifere enheder. Det er kompatibelt med populære udviklingsmiljøer som Arduino IDE og PlatformIO, hvilket gør det nemt at komme i gang med dine projekter. Gør dine ideer til virkelighed med WiFi 6 ESP32-C6 Development Board, og oplev fremtiden for trådløs teknologi og IoT-udvikling.
Tekniske detaljer:
- SoC: ESP32-C6
- Processor: 32-bit RISC-V CPU
- Driftsspænding: 3.0V – 3.6V
- Flash-hukommelse: 4MB
- WiFi: 802.11b/g/n (WiFi 4)
- Zigbee: Understøttet
- Bluetooth: BLE (Bluetooth Low Energy)
- RGB LED: Integreret, adresserbar
- Grænseflader: GPIO, I2C, SPI, UART, ADC, DAC
Trådløse Protokoller:
- WiFi: Understøtter 802.11b/g/n, hvilket giver pålidelig trådløs kommunikation.
- Zigbee: Understøtter Zigbee-protokollen, som er ideel til mesh-netværk og smart home-enheder.
- Bluetooth: BLE (Bluetooth Low Energy) gør det muligt at oprette forbindelse til en bred vifte af Bluetooth-enheder med lavt energiforbrug.
Installere Arduino IDE Software
Før du kan starte din programmering skal Arduino’s IDE software hentes. Dette program bruges til at programmere din arduino.
Download fra dette link: Download
Installere ESP package (Arduino IDE)
- Åben Arduino IDE (Download her)
- Klik “Fil/Egenskaber”
Indtast dette link i feltet “Additionel Board Manager URL’s”
Link “https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json“
Klik OK
Åben “Værktøj/Board/Boards manager” (Lad programmet opdatere)
Find “ESP32” og installere
Klik derefter “Værktøj/Board” og find (ESP32C6 Dev Module)
Du er nu klar til at sende en kode
Installere Adafruit NeoPixel Library
- Download library (Download)
- Åben Arduino IDE software og klik på “Sketch/Include library”
- Klik nu på “Add Zip. library” og find Zip filen du lige har downloaded.
- Luk, og åben Arduino IDE programmet. (Genstart programmet)
- Nu er library installeret.
- Library kan også downloades direkte i Arduino IDE find den her: “Sketch/Include library/Manage library/Adafruit NeoPixel – by Adafruit”
Eksempel
Her vises et eksempel på, hvordan man kan skifte RGB-farver via en webserver. Hvis enheden ikke får forbindelse til WiFi, vil den blinke rødt. Når enheden har fået forbindelse til WiFi, blinker den grønt tre gange.
Kode:
#include <WiFi.h> #include <WebServer.h> #include <Adafruit_NeoPixel.h> // WiFi credentials const char* ssid = "dit_SSID"; const char* password = "dit_PASSWORD"; // Definér antallet af LED'er og pin til dataforbindelse #define NUM_LEDS 1 // Antal LED'er (1 for WRGB2812) #define DATA_PIN 15 // Pin til dataforbindelse (D15) // Initialisér NeoPixel objektet Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, DATA_PIN, NEO_GRB + NEO_KHZ800); // Initialisér WebServer objektet WebServer server(80); bool wifiConnected = false; void setup() { // Start serial kommunikation Serial.begin(115200); // Initialisér NeoPixel strip.begin(); strip.show(); // Initialize all pixels to 'off' // Tænd for WiFi Serial.println("Forbinder til WiFi..."); WiFi.begin(ssid, password); // Vent på WiFi forbindelse while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.print("."); // Blink rødt for at indikere ingen forbindelse setColor(255, 0, 0); delay(500); setColor(0, 0, 0); delay(500); } Serial.println(""); Serial.println("WiFi forbundet."); Serial.print("IP-adresse: "); Serial.println(WiFi.localIP()); // Marker WiFi som forbundet wifiConnected = true; // Blink grønt tre gange for at indikere WiFi-forbindelse for (int i = 0; i < 3; i++) { setColor(0, 255, 0); delay(500); setColor(0, 0, 0); delay(500); } // Opsæt WebServer routes server.on("/", handleRoot); server.on("/setColor", HTTP_GET, handleSetColor); server.on("/turnOff", HTTP_GET, handleTurnOff); server.on("/randomBlink", HTTP_GET, handleRandomBlink); server.begin(); Serial.println("HTTP server startet."); } void loop() { server.handleClient(); // Overvåg WiFi-status if (!wifiConnected && WiFi.status() == WL_CONNECTED) { // Blink grønt tre gange ved første WiFi-forbindelse for (int i = 0; i < 3; i++) { setColor(0, 255, 0); delay(500); setColor(0, 0, 0); delay(500); } wifiConnected = true; } // Blink rødt hvis der ikke er WiFi-forbindelse if (!wifiConnected) { blinkColor(255, 0, 0); } } // Funktion til at sætte LED'en til en bestemt farve void setColor(uint8_t r, uint8_t g, uint8_t b) { strip.setPixelColor(0, strip.Color(r, g, b)); strip.show(); } // Funktion til at få LED'en til at blinke en bestemt farve void blinkColor(uint8_t r, uint8_t g, uint8_t b) { setColor(r, g, b); delay(500); setColor(0, 0, 0); delay(500); } // Håndterer HTTP GET-request til / void handleRoot() { String html = "<html><body>"; html += "<h1>Select Color:</h1>"; html += "<p><a href=\"/setColor?r=255&g=0&b=0\">Red</a></p>"; html += "<p><a href=\"/setColor?r=0&g=255&b=0\">Green</a></p>"; html += "<p><a href=\"/setColor?r=255&g=255&b=0\">Yellow</a></p>"; html += "<p><a href=\"/setColor?r=255&g=255&b=255\">White</a></p>"; html += "<p><a href=\"/setColor?r=0&g=0&b=255\">Blue</a></p>"; html += "<p><a href=\"/turnOff\">Off</a></p>"; html += "<p><a href=\"/randomBlink\">Random</a></p>"; html += "</body></html>"; server.send(200, "text/html", html); } // Håndterer HTTP GET-request til /setColor void handleSetColor() { if (server.hasArg("r") && server.hasArg("g") && server.hasArg("b")) { uint8_t r = server.arg("r").toInt(); uint8_t g = server.arg("g").toInt(); uint8_t b = server.arg("b").toInt(); setColor(r, g, b); server.send(200, "text/plain", "Color set"); } else { server.send(400, "text/plain", "Invalid request"); } } // Håndterer HTTP GET-request til /turnOff void handleTurnOff() { setColor(0, 0, 0); // Slukker for LED'en server.send(200, "text/plain", "LED Off"); } // Håndterer HTTP GET-request til /randomBlink void handleRandomBlink() { for (int i = 0; i < 10; i++) { // Blink 10 gange med tilfældige farver uint8_t r = random(0, 256); uint8_t g = random(0, 256); uint8_t b = random(0, 256); setColor(r, g, b); delay(500); setColor(0, 0, 0); delay(500); } server.send(200, "text/plain", "Random flashing done"); }
Kontakt os
Du er altid velkommen til at kontakte os på info@ardustore.dk, eller sende os en besked via messenger (Klik her) og vi vil hjælpe dig.
Anmeldelser
Der er endnu ikke nogle anmeldelser.