/** * Default menu fallback */ Elettronica – MakeLab

Category: Elettronica

Arduino, Raspberry Pi, circuiti e progetti elettronici

  • ESP32: 10 Progetti WiFi che Puoi Realizzare Questo Weekend

    Il Microcontrollore con Superpotenze

    L’ESP32 è un microcontrollore con WiFi e Bluetooth integrati che costa meno di €5. È la base perfetta per progetti IoT e automazione!

    Perché ESP32?

    • 📡 WiFi + Bluetooth integrati
    • Dual core a 240MHz
    • 💾 520KB RAM (vs 2KB di Arduino Uno)
    • 🔌 34 GPIO programmabili
    • 💰 €3-5 per modulo
    • 🔋 Deep sleep per progetti battery-powered

    Setup Iniziale

    // Arduino IDE
    1. File > Preferenze
    2. URL gestione schede:
       https://dl.espressif.com/dl/package_esp32_index.json
    3. Strumenti > Scheda > ESP32 Dev Module
    4. Installa driver CP210x o CH340

    Progetto 1: Web Server con LED Control

    Controlla LED da browser!

    #include <WiFi.h>
    #include <WebServer.h>
    
    const char* ssid = "TuoWiFi";
    const char* password = "TuaPassword";
    
    WebServer server(80);
    int ledPin = 2;
    
    void handleRoot() {
      String html = "<h1>ESP32 Web Server</h1>";
      html += "<a href='/on'>LED ON</a><br>";
      html += "<a href='/off'>LED OFF</a>";
      server.send(200, "text/html", html);
    }
    
    void setup() {
      pinMode(ledPin, OUTPUT);
      WiFi.begin(ssid, password);
      
      while (WiFi.status() != WL_CONNECTED) {
        delay(500);
      }
      
      server.on("/", handleRoot);
      server.on("/on", []() {
        digitalWrite(ledPin, HIGH);
        server.send(200, "text/html", "LED ON");
      });
      server.on("/off", []() {
        digitalWrite(ledPin, LOW);
        server.send(200, "text/html", "LED OFF");
      });
      
      server.begin();
    }
    
    void loop() {
      server.handleClient();
    }

    Progetto 2: Stazione Meteo WiFi

    Sensori: DHT22 (temperatura/umidità) + BMP280 (pressione)

    Features:

    • 📊 Dashboard web con grafici
    • ☁️ Upload dati a ThingSpeak/MQTT
    • 📱 Notifiche push se temperatura anomala
    • 📈 Storico dati su SD card

    Progetto 3: Smart Doorbell con Camera

    ESP32-CAM (€8) + notifiche Telegram!

    Funzionalità:

    • 📸 Foto quando qualcuno suona
    • 💬 Invia foto su Telegram
    • 🔔 Notifica istantanea
    • 🎥 Stream video on-demand

    Progetto 4: Ambient Light per Monitor

    Clone di Philips Ambilight!

    Setup:

    • ESP32 + WS2812B LED strip
    • Hyperion/Prismatik su PC
    • Streaming colori via UDP
    • Effetti reattivi a schermo

    Progetto 5: WiFi Scanner di Rete

    Analizza reti WiFi circostanti:

    #include "WiFi.h"
    
    void setup() {
      Serial.begin(115200);
      WiFi.mode(WIFI_STA);
      WiFi.disconnect();
    }
    
    void loop() {
      int n = WiFi.scanNetworks();
      
      for (int i = 0; i < n; ++i) {
        Serial.print(WiFi.SSID(i));
        Serial.print(" (");
        Serial.print(WiFi.RSSI(i));
        Serial.print(" dBm) ");
        Serial.println(WiFi.encryptionType(i));
      }
      
      delay(5000);
    }

    Progetto 6: Bluetooth Audio Receiver

    Trasforma vecchie casse in speaker Bluetooth:

    • ESP32 + modulo I2S DAC
    • Bluetooth A2DP sink
    • Qualità audio 16-bit
    • Costo totale: €10

    Progetto 7: Smart Plant Watering

    Irrigazione automatica con monitoraggio:

    • 💧 Sensore umidità terreno
    • ⛲ Pompa acqua 5V
    • 📱 Dashboard con grafici
    • ⏰ Schedule programmabile
    • 🌦️ Integrazione meteo API (non innaffia se piove!)

    Progetto 8: NTP Clock con Display

    Orologio sincronizzato via internet:

    • Display OLED 128×64
    • Sync con server NTP
    • Mostra temperatura/meteo
    • Multiple timezone

    Progetto 9: MQTT Home Automation Hub

    Centro di controllo domotico:

    // Integra con Home Assistant
    - Controllo luci
    - Lettura sensori
    - Automazioni
    - Voice control (Alexa/Google)

    Progetto 10: WiFi Deauther (Solo Scopo Educativo!)

    ⚠️ Attenzione: Usare solo sulla propria rete per testing!

    Testa sicurezza rete WiFi:

    • Scan reti e dispositivi
    • Deauth packets
    • Beacon spam
    • Probe request sniffing

    Librerie Essenziali

    • 📡 WiFi.h – Gestione WiFi
    • 🌐 WebServer.h – Server HTTP
    • 💬 PubSubClient – MQTT
    • 🔵 BluetoothSerial – BT classico
    • BLE – Bluetooth Low Energy
    • 📊 ArduinoJson – Parse JSON
    • NTPClient – Sync tempo

    Deep Sleep per Batteria

    Fai durare la batteria mesi:

    // Deep sleep per 5 minuti
    esp_sleep_enable_timer_wakeup(5 * 60 * 1000000);
    esp_deep_sleep_start();
    
    // Consumi:
    // Active: ~160mA
    // Light sleep: ~0.8mA
    // Deep sleep: ~10μA (!)

    OTA Updates

    Aggiorna firmware via WiFi:

    #include <ArduinoOTA.h>
    
    void setup() {
      ArduinoOTA.setHostname("esp32-device");
      ArduinoOTA.begin();
    }
    
    void loop() {
      ArduinoOTA.handle();
    }

    Troubleshooting Comune

    • ESP non si connette al WiFi
      → Verifica SSID/password
      → Prova 2.4GHz (non 5GHz)
    • Upload fallisce
      → Premi BOOT durante upload
      → Controlla driver USB
    • Crash random
      → Alimentazione instabile (usa condensatore 100μF)
      → Stack overflow (aumenta stack size)

    Dove Comprare

    • 🇨🇳 AliExpress – €3-5 (spedizione lenta)
    • 🇪🇺 Amazon – €8-12 (veloce)
    • 🏪 Store locali – Melopero, Robot-Italy

    ESP32 vs Arduino

    Feature Arduino Uno ESP32
    CPU 16MHz 240MHz (dual core)
    RAM 2KB 520KB
    WiFi
    Bluetooth
    Prezzo €20 €5

    Spoiler: ESP32 vince su tutto! 🏆

    Prossimi Passi

    Una volta che padroneggi ESP32:

    • 🔧 ESP-IDF – Framework nativo Espressif
    • 🐍 MicroPython – Python su ESP32
    • 📱 ESP-NOW – Comunicazione senza WiFi
    • 🎵 I2S Audio – Progetti audio avanzati

    L’ESP32 è un game-changer per i maker. Con €5 hai un computer con WiFi! Cosa aspetti? 🚀

  • LED RGB controllati con Arduino: Progetti per Iniziare

    Illumina i Tuoi Progetti con Strip LED RGB

    I LED RGB programmabili (WS2812B / NeoPixel) sono perfetti per aggiungere effetti luminosi a qualsiasi progetto! 💡

    Hardware

    • Arduino Uno / Nano
    • Strip LED WS2812B (60 LED/metro)
    • Alimentatore 5V (1-3A a seconda dei LED)
    • Condensatore 1000µF
    • Resistenza 470Ω

    Collegamento

    Arduino D6 --[470Ω]-- LED Strip DIN
    Arduino GND ----------- LED Strip GND
    PSU 5V ---------------- LED Strip 5V
    PSU GND --------------- Arduino GND

    Codice Base

    #include <FastLED.h>
    
    #define NUM_LEDS 60
    #define DATA_PIN 6
    
    CRGB leds[NUM_LEDS];
    
    void setup() {
      FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);
      FastLED.setBrightness(50);
    }
    
    void loop() {
      // Effetto arcobaleno
      fill_rainbow(leds, NUM_LEDS, millis()/20, 7);
      FastLED.show();
      delay(20);
    }

    Effetti Fighi

    1. Scanner Kitt (Supercar)

    void scanner() {
      for(int i = 0; i < NUM_LEDS; i++) {
        leds[i] = CRGB::Red;
        FastLED.show();
        delay(30);
        leds[i] = CRGB::Black;
      }
    }

    2. Fire Effect

    void fire() {
      for(int i = 0; i < NUM_LEDS; i++) {
        int heat = random(100, 255);
        leds[i] = CHSV(random(0, 30), 255, heat);
      }
      FastLED.show();
    }

    Progetti Completi

    • 🎮 Ambient light per TV gaming
    • 🎮 Illuminazione arcade cabinet
    • 🎮 Lightsaber fai-da-te
    • 🎮 Infinity mirror
    • 🎮 VU meter per audio

    I LED RGB aprono un mondo di possibilità creative! ✨