Zachwyty nad możliwościami jakie daje AI nie milkną. I ja spróbowałem co mogę wyciągnąć z niego w temacie programowania. Dziś pierwsze testy.
Pierwsze polecenie dotyczyło uproszczenia fragmentów kodu nieśmiertelnego programu obsługi pompy CUW. Układ nieco się rozrósł i oprócz sterowania pompą monitoruje zewnętrzne i pokojowe parametry powietrza (temperaturę, wilgotność Co2 TVOC) i wyświetla to na miniaturowym TFT zamontowanym bezpośrednio na płytce ESP32
Kolor wyświetlanych napisów zależy od poziomu natężenia TVOC
U mnie wyglądało to tak
a dostałem
Bez wątpienia krócej i ładniej. Mam nadzieję, że przy kolejnym kodowaniu tego typu zastosuję powyższy schemat
Jeszcze ładniej wyszło z takim fragmentem kodu
dostałem to z i jak zawsze z pełnym komentarzem i wyjaśnieniamiTu juz nie było tak prosto. Trzeba podać właściwe typy zmiennych by AI wiedział jaki znacznik typu ma wstawić. Ale i tak wyszło bardzo ładnie.
Ostatnie zadanie nieco trudniejsze
i dostałem taki wynik
Ale efekt finalny propozycji AI (zmieniłem rozmiar kwadratu na 64 x 64 piksele) okazał się niewłaściwy. Napisy na wyświetlaczu zostały przesunięte o wysokość kwadratu do góry
Ponowiłem więc pytanie nieco inaczej
drawBottomRightSquare(8, TFT_RED);
/* Rysuje wypełniony kwadrat o boku `size` w prawym-dolnym rogu
color - kolor zdefiniowany przez TFT_eSPI (np. TFT_RED). */
void drawBottomRightSquare(int size, uint16_t color) {
// zachowaj pozycję kursora i kolor tekstu (kursora przywrócimy)
int curX = tft.getCursorX();
int curY = tft.getCursorY();
// współrzędne lewego górnego rogu kwadratu
int x = tft.width() - size;
int y = tft.height() - size;
// upewnij się, że nie wychodzimy poza ekran
if (x < 0) x = 0;
if (y < 0) y = 0;
tft.fillRect(x, y, size, size, color);
// przywróć kursor (żeby dalsze wypisywanie poszło tam, gdzie było)
tft.setCursor(curX, curY);
}
To już pełen kosmos i nie jestem wcale pewien , że sam znalazłbym poprawne rozwiązanie!
Na mój gust AI zdał egzamin choć próba ulepszania całych modułów nie jest wygodna gdyż zbyt wiele danych należy wstępnie dostarczyć AI w odniesieniu do wielkości i funkcji zdefiniowanych w innych modułach.
Brak komentarzy:
Prześlij komentarz