🎯 Co zbudujesz?
Stworzysz interaktywną lampę LED RGB, która zmienia kolory w zależności od Twojego nastroju wykrytego przez AI – za pomocą aplikacji, głosu lub tekstu.
🧰 Komponenty
- ESP32 (lub Raspberry Pi Pico W)
- Pasek LED WS2812B lub dioda RGB
- Zasilacz 5V (USB lub zasilacz zewnętrzny)
- Moduł Wi-Fi (wbudowany w ESP)
- Obudowa lampy (np. akryl, słoik, PLA z drukarki 3D)
- Aplikacja lub skrypt AI do rozpoznawania nastroju
- (Opcjonalnie) czujnik mikrofonu lub integracja z asystentem głosowym
🧠 Jak to działa?
- Użytkownik wpisuje swoje emocje lub mówi je na głos.
- AI analizuje dane i przypisuje nastrój (np. „spokojny”, „zły”, „szczęśliwy”).
- Lampa zmienia kolor w zależności od wyniku (np. niebieski – smutek, żółty – szczęście, czerwony – złość).
🔌 Schemat połączeń
ESP32 + pasek WS2812B:
- DIN → GPIO 5
- VCC → 5V
- GND → GND
💻 Kod (Arduino IDE)
Wymagane biblioteki: Adafruit_NeoPixel
, WiFi.h
, HTTPClient.h
cppKopiujEdytuj#include <WiFi.h>
#include <HTTPClient.h>
#include <Adafruit_NeoPixel.h>
#define LED_PIN 5
#define LED_COUNT 8
const char* ssid = "TwojaSiecWiFi";
const char* password = "TwojeHasloWiFi";
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
Serial.begin(115200);
strip.begin();
strip.show();
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) delay(500);
Serial.println("Połączono z WiFi");
}
void loop() {
String nastroj = pobierzNastrojZAI(); // np. "spokojny", "wesoły", "zły"
ustawKolorDlaNastroju(nastroj);
delay(10000); // Odświeżaj co 10 sek
}
String pobierzNastrojZAI() {
HTTPClient http;
http.begin("https://api.example.com/mood"); // zamień na prawdziwy URL AI
int httpCode = http.GET();
if (httpCode == 200) {
return http.getString();
}
return "neutralny";
}
void ustawKolorDlaNastroju(String mood) {
uint32_t kolor;
if (mood == "szczęśliwy") kolor = strip.Color(255, 255, 0); // żółty
else if (mood == "smutny") kolor = strip.Color(0, 0, 255); // niebieski
else if (mood == "zły") kolor = strip.Color(255, 0, 0); // czerwony
else if (mood == "spokojny") kolor = strip.Color(0, 255, 255); // turkus
else kolor = strip.Color(255, 255, 255); // biały
for(int i=0; i<LED_COUNT; i++) {
strip.setPixelColor(i, kolor);
}
strip.show();
}
🛠️ Montaż krok po kroku
- Zamontuj pasek LED w obudowie lampy.
- Połącz ESP z taśmą LED zgodnie ze schematem.
- Podłącz zasilanie (np. z ładowarki USB).
- Wgraj kod przez Arduino IDE.
- Upewnij się, że ESP łączy się z siecią.
- Sprawdź, czy kolor zmienia się po wykryciu nastroju.
📲 Integracja z AI
- Możesz użyć prostego interfejsu tekstowego: wpisujesz nastrojowe słowo na stronie/aplikacji (np. React + Flask + OpenAI API).
- Użyj asystenta głosowego (np. Alexa, Google Home) do zgłoszenia nastroju: „Jestem szczęśliwy”.
- Wersja mobilna: formularz w Telegramie lub w aplikacji Blynk.
⚡ Warianty i rozszerzenia
- Czujnik mikrofonu i analiza tonu głosu.
- Lampa z funkcją „uspokajania” – przechodzi przez relaksujące kolory.
- Pamięć dziennika nastrojów – loguj dane do chmury lub lokalnie.
- Integracja z czatem AI – lampa reaguje na Twój wpisany tekst emocjonalny.
🤖 AI Upgrade
- Rozpoznawanie emocji z tekstu (np. przez ChatGPT lub Hugging Face).
- Detekcja emocji z głosu za pomocą AI (np. z pomocą Whisper + klasyfikator).
- Interfejs do wpisywania nastroju, który uczy się Twoich preferencji kolorystycznych.
- Automatyczne włączanie światła zależnie od kalendarza, pory dnia lub rytmu dobowego.
✅ Podsumowanie
Lampa reagująca na emocje to nie tylko świetny projekt techniczny, ale też terapeutyczne i dekoracyjne urządzenie, które może zmienić nastrój w pomieszczeniu. Idealne do pokoju, biura lub jako prezent z duszą!