🎯 Cel projektu:
Zbudujesz inteligentny czujnik drgań, który wykryje kiedy maszyna (np. frezarka, wiertarka, kompresor) pracuje, nie pracuje, wchodzi w niebezpieczne wibracje – i poinformuje Cię o tym. Dzięki AI, system może nauczyć się różnych typów drgań i ich znaczenia.
🧰 Poziom trudności:
🔧 Średnio zaawansowany
⏱️ Czas wykonania:
2–3 godziny (z nauką modelu AI)
🛠️ Lista komponentów:
Komponent | Opis | Koszt |
---|---|---|
ESP32 | Mikrokontroler z Wi-Fi | 20–30 zł |
Czujnik drgań MPU6050 | Akcelerometr + żyroskop 3-osiowy | 5–15 zł |
Ekran OLED (I2C) | Pokazywanie statusu pracy | 10–15 zł |
Dioda LED / buzzer | Powiadomienie o nieprawidłowych wibracjach | 5 zł |
(opcjonalnie) microSD | Do logowania danych | 10 zł |
📷 Schemat połączeń:
- MPU6050 (I2C) → ESP32
- SDA → GPIO 21
- SCL → GPIO 22
- VCC → 3.3V
- GND → GND
- OLED (I2C) – te same piny co wyżej
- LED → GPIO 25
- Buzzer → GPIO 26
🧪 Krok 1: Test odczytów z MPU6050
- W Arduino IDE zainstaluj bibliotekę
MPU6050
- Kod testowy:
cppKopiujEdytuj#include <Wire.h>
#include <MPU6050.h>
MPU6050 sensor;
void setup() {
Wire.begin();
Serial.begin(115200);
sensor.initialize();
}
void loop() {
int16_t ax, ay, az;
sensor.getAcceleration(&ax, &ay, &az);
Serial.print("X: "); Serial.print(ax);
Serial.print(" Y: "); Serial.print(ay);
Serial.print(" Z: "); Serial.println(az);
delay(100);
}
Obserwuj, jak zmieniają się wartości podczas pracy maszyny.
🧠 Krok 2: Zbieranie danych do nauki AI
- Zbierz dane przy:
- braku wibracji
- normalnej pracy
- zbyt intensywnej pracy / drganiach
- nietypowych drganiach (np. niestabilny wał)
- Zapisz dane jako CSV (np. X,Y,Z co 100 ms)
- Wejdź na Edge Impulse
- Projekt: „Wibracje maszyny”
- Klasy: „brak pracy”, „normalna”, „nadmierna”, „awaria”
🎓 Krok 3: Trening modelu AI
- Wgraj dane z CSV jako czasowe serie danych (Time Series)
- Użyj klasyfikacji sekwencyjnej / sensor fusion
- Wytrenuj model do >90% dokładności
- Wygeneruj bibliotekę do ESP32
📟 Krok 4: Wyświetlanie statusu na OLED
- Ustaw OLED, np.:
cppKopiujEdytujdisplay.setCursor(0,10);
display.print("Status:");
display.setCursor(0,30);
display.print(AI_output);
- W zależności od klasy – zmień kolor diody:
- Zielony = normalna
- Pomarańczowy = wysoka
- Czerwony + dźwięk = awaria
🔔 Krok 5: Powiadomienia przez sieć (opcjonalnie)
- Zarejestruj się w IFTTT lub użyj webhooka.
- W ESP32:
cppKopiujEdytujhttp.begin("https://maker.ifttt.com/trigger/awaria_maszyny/with/key/TWÓJ_KLUCZ");
http.GET();
💾 Krok 6: Logowanie danych (opcjonalnie)
- Użyj karty microSD:
cppKopiujEdytujFile log = SD_MMC.open("/drgania.csv", FILE_APPEND);
log.print(ax); log.print(","); log.print(ay); log.print(","); log.println(az);
log.close();
🛠️ Krok 7: Montaż i kalibracja
- Przyklej MPU6050 na ramę maszyny klejem na gorąco lub rzepem
- Przeprowadź testy przy uruchomieniu
- Weryfikuj, czy AI rozpoznaje właściwe stany pracy
✅ Efekt końcowy:
- System rozpoznaje stan pracy maszyny po drganiach
- Ostrzega, gdy pojawi się nietypowa praca
- Możesz włączyć/wyłączyć system zdalnie
- Idealne do warsztatów, hal, produkcji DIY
📘 To świetne rozwiązanie, by zapobiec awariom, przedłużyć żywotność sprzętu i mieć większą kontrolę nad swoim warsztatem.