logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Konwersacja z Chat GPT na temat konfiguracji Timera2 w Arduino oraz generowania kodów

gmp 27 Gru 2022 13:24 4362 45
REKLAMA
  • #1 20353951
    gmp
    Poziom 19  
    Posty: 434
    Pomógł: 29
    Ocena: 28
    Po 100 tkach propozycji od YT na temat CHAT GPT postanowiłem sprawdzić czy zrobi coś na Arduino. No i go zapytałem czy zna Arduino i AVR, odpowiedział pozytywnie wyświetlając mi informacja jak z Wikipedii. Następnie zapytałem jak skonfigurowaćTImer2 na 100ms przerwania - no i wyświetlił mi listę kroków jak to zrobić. Zapytanie o kod - wygenerował 2 kody , jeden dla Arduino i jeden bez.
    Całkiem ładnie skomentowane.
    Zobaczcie sami:
    'C':

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod



    Arduino:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #2 20354107
    qwert2000
    Poziom 14  
    Posty: 103
    Pomógł: 10
    Ocena: 25
    Strach się bać. Teraz wszystkie IDE będą musiały mieć wsparcie do sztucznej inteligencji.
  • #3 20354212
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #4 20354421
    gulson
    Administrator Systemowy
    Posty: 29307
    Pomógł: 148
    Ocena: 6014
    khoam napisał:
    Jest dostępne API dla OpenAI. Może więc @gulson powinien utworzyć użytkownika "AI", który będzie takim botem udzielającym odpowiedzi na forum. Może już jest taki user, tylko ukrywa się pod inną nazwą

    Pracuję nad tym, udało mi się podłączyć pod API i testuję. Jednak na razie wymaga to weryfikacji oraz oznakowania, że to odpowiedź bota.
  • #5 20354443
    Konto nie istnieje
    Poziom 1  
  • #6 20354552
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2203
    Ja nie miałem tyle szczęścia, ale próbowałem od razu nieco mniej trywialny przykład. To co powyżej to kreatory na stronach np. Microchipa potrafią wygenerować, więc nie jest to aż tak imponujące. Chociaż jeśli to się rozwinie, to zupełnie zmieni się podejście do programowania, no i w sumie dobrze. Z drugiej strony, dla wielu początkujących dużą satysfakcją było, że ten LED w końcu miga :) Teraz tego nie będzie, ale może będzie coś innego - trzeba być otwartym.
  • #8 20354716
    gmp
    Poziom 19  
    Posty: 434
    Pomógł: 29
    Ocena: 28
    tmf napisał:
    Ja nie miałem tyle szczęścia, ale próbowałem od razu nieco mniej trywialny przykład. To co powyżej to kreatory na stronach np. Microchipa potrafią wygenerować, więc nie jest to aż tak imponujące. Chociaż jeśli to się rozwinie, to zupełnie zmieni się podejście do programowania, no i w sumie dobrze. Z drugiej strony, dla wielu początkujących dużą satysfakcją było, że ten LED w końcu miga :) Teraz tego nie będzie, ale może będzie coś innego - trzeba być otwartym.


    Zapytałem o kod mrugający diodą LED. Kod OK, ale poleca wstawienie 'kondensatora albo rezystora' do ograniczania prądu. hmmm... Ale 'godo po naszymu'. No i jest to coś bardzo miłe.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #9 20354722
    Konto nie istnieje
    Poziom 1  
  • #10 20354884
    gmp
    Poziom 19  
    Posty: 434
    Pomógł: 29
    Ocena: 28
    khoam napisał:
    @gmp Ciekawe, czy się nauczyło, aby następnym razem nie sugerować kondensatora innemu użytkownikowi :)

    Dodano po 5 [minuty]:

    Zadałem to samo pytanie i nie napisał mi nic o ograniczaniu prądu :) Wygenerował kod bardzo podobny i dodatkowy wyjaśnił, jak działają poszczególne komendy :)


    Zrobiłem jeszce raz to samo(skopiowałem swoje żądanie) w nowym chacie i ponownie wspomniał o rezystorze, ale nie o kondensatorze, kod trochę inny ze zdefiniowanym pinem 13.

    Cytat:
    Uwaga: Upewnij się, że podłączasz LED zgodnie z prawidłowym polaryzacją. Rezystor o odpowiedniej wartości może być konieczny, aby zapobiec przepaleniu diody.


    Wydaje mi się ze aplikacji to to nie napisze, ale sporo może pomoc i przyspieszyć, Szczególnie jeśli chodzi o typowe 'konstrukcje' programistyczne, które są szablonowe, np konfiguracja peryferii, Może pomóc w wyszukiwaniu błędów, Ma wiedzę ludzkości do 2021.
    Zapytałem to coś o test Turinga i poległ (może ja źle rozumiem ten test). W tym jak to coś to rozumie to żadna maszyna nigdy go nie przejdzie bo wg tego czegoś wymaga to interakcji fizycznej :

    Cytat:
    As a machine learning model, I do not have the ability to physically interact with the world or participate in the Turing test in the same way that a human
  • #11 20354931
    csvrbntyu
    Poziom 30  
    Posty: 1394
    Pomógł: 163
    Ocena: 405
    gulson napisał:
    Pracuję nad tym, udało mi się podłączyć pod API i testuję. Jednak na razie wymaga to weryfikacji oraz oznakowania, że to odpowiedź bota.

    Już widzę, jak zastąpi @Kolobos w pisaniu Fixlist do FRST :P

    @gmp a daj mu do napisania jakieś porządniejsze zadanie. Nie wiem, wklej mu jakiś większy kod w którym zrobisz błąd, i niech szuka :D
  • #12 20354944
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2203
    Jak kazałem mu wygenerować kod mrugania LED dla AVR to zrobił to poprawnie, o rezystorze nie wspomniał, ale wspomniał, że jeśli to nie jest ATMega to kod może wymagać dostosowania. Nieźle. Dla ARM już tak pięknie nie było - owszem kod poprawny, ale opóźnienia są generowane przez pętle, nie systick, lub inną formę użycia timera. Po takiej sugestii, wygenerował mi kod z użyciem systicka. Pierwsza wersja błędna, ale po zwróceniu uwagi na błąd, wygenerował drugą wersję - poprawną. No przynajmniej częściowo, bo nie zwraca uwagi np. na takie niuanse jak częstotliwość taktowania, mimo, że komentarze zawierają informację o określonych interwałach czasowych.
    Kolejny przykład - poprosiłem o kod sterowania multipleksowego czterema wyświetlaczami 7-segmentowymi - poległ na całej linii. Zaczął nawet obiecująco od definicji pinów, ale dalej kompletnie nic sensownego nie wygenerował. Z kolei np. z obsługą przycisku z eliminacją drgań sobie poradził. I po sugestii, drobił to nawet z użyciem timera. Ale już dla 3 przycisków poległ zupełnie. To wygląda tak, jakby AI używało po prostu mnóstwa przykładów znalezionych w sieci do realizacji zadanego problemu i pokazywało rozwiązanie najbardziej prawdopodobne. Fajna zabawka, ale póki co zabawka, bez głębokiej wiedzy dana osoba i tak nie mogłaby skorzystać z tego narzędzia, z odpowiednią wiedzą, póki co jest to zbędne. Ale oczywiście trzeba brać pod uwagę, że to dopiero początki i jak na początek jest to imponujące.
  • #13 20354951
    csvrbntyu
    Poziom 30  
    Posty: 1394
    Pomógł: 163
    Ocena: 405
    tmf napisał:
    To wygląda tak, jakby AI używało po prostu mnóstwa przykładów znalezionych w sieci do realizacji zadanego problemu i pokazywało rozwiązanie najbardziej prawdopodobne.

    Podałeś właśnie definicję trenowania sieci neuronowych. Tak dokładnie działa AI. Zasypujesz je przykładami, na podstawie analizy przykładów i własnych wyników dostosowuje sposób działania, a użytkownik (lub inne AI) informuje go czy zrobił to lepiej czy gorzej.
  • REKLAMA
  • #14 20355045
    zdziwiony
    Poziom 28  
    Posty: 1980
    Pomógł: 64
    Ocena: 302
    PRL napisał:
    Kochany GPT, napisz od nowa Windows po swojemu i daj mu numer 12.
    Tutaj trzeba mieć na uwadze przypadek niejakiego Trurla który o mały włos nie unicestwił całego kosmosu.
  • #15 20355192
    ArturAVS
    Moderator
    Posty: 26129
    Pomógł: 2295
    Ocena: 7743
    Prawdę mówiąc, kilka tygodni temu próbowałem w ramach testu "wyłudzić" kod mrugania LED na arduino i nic z tego mi nie wyszło. Może faktycznie już się trochę podszkoliła albo to mój słaby angielski (po naszemu nie próbowałem).
  • #16 20355200
    ex-or
    Poziom 28  
    Posty: 784
    Pomógł: 147
    Ocena: 151
    csvrbntyu napisał:
    tmf napisał:
    To wygląda tak, jakby AI używało po prostu mnóstwa przykładów znalezionych w sieci do realizacji zadanego problemu i pokazywało rozwiązanie najbardziej prawdopodobne.

    Podałeś właśnie definicję trenowania sieci neuronowych. Tak dokładnie działa AI. Zasypujesz je przykładami, na podstawie analizy przykładów i własnych wyników dostosowuje sposób działania, a użytkownik (lub inne AI) informuje go czy zrobił to lepiej czy gorzej.


    A więc, koniec końców, wszystko i tak musi wymyślić człowiek.
  • REKLAMA
  • #17 20355341
    csvrbntyu
    Poziom 30  
    Posty: 1394
    Pomógł: 163
    Ocena: 405
    ex-or napisał:
    A więc, koniec końców, wszystko i tak musi wymyślić człowiek.

    Nie do końca. Ręczne napisanie "wyuczonej" sieci jest niemożliwe. Trening sieci na mocnym serwerze byłoby jak intensywna praca dziesiątek tysięcy programistów 24/7. Także lepiej żey jednak napisało się samo ;)
  • #18 20355544
    ArturAVS
    Moderator
    Posty: 26129
    Pomógł: 2295
    Ocena: 7743
    Chyba faktycznie się trochę AI wyedukowała :D, zadałem pytanie po polsku a odpowiedziała po angielsku dając wskazówki oraz poprawny kod;

    Konwersacja z Chat GPT na temat konfiguracji Timera2 w Arduino oraz generowania kodów


    Zauważyłem że czasami zrywa połączenie z serwerem, czyżby była tak mocno oblegana?
  • #19 20355555
    csvrbntyu
    Poziom 30  
    Posty: 1394
    Pomógł: 163
    Ocena: 405
    ArturAVS napisał:
    czyżby była tak mocno oblegana?

    Tak. Pół internetu teraz o tym mówi. Bo wiesz, to nie tylko potrafi pisać kod. To potrafi pisać wszystko. Wszystko tłumaczyć itp. Zastanawia mnie jedno. Jak zapytasz go o pogodę, wyjaśni że nie ma dostępu do internetu i nie może sprawdzać takich informacji na bieżąco. Tymczasem mogę zapytać ją o coś dosyć (bardzo) rzadkiego, i odpowiedź zwala mnie z nóg. Zapytałem:
    Cytat:
    napisz skrypt MetaTrader5 na stop-loss kroczący na pozycji krótkiej EUR/USD

    i otrzymałem:
    Cytat:
    Oto przykład skryptu MetaTrader 5, który może być użyty do ustawienia stop-loss kroczącego na pozycji krótkiej EUR/USD:
    // stop-loss kroczący
    
    // parametry skryptu
    input double step = 50; // krok stop-loss kroczącego w pipsach
    input double trailing_distance = 100; // dystans od aktualnej ceny, po którym stop-loss zaczyna kroczyć w pipsach
    
    int OnInit()
    {
       // sprawdzenie, czy skrypt jest uruchamiany na rynku Forex
       if (MarketInfo(Symbol(), MODE_TRADESCALPING) == false)
       {
          Print("Skrypt nie może być uruchomiony na rynku Forex");
          return INIT_FAILED;
       }
    
       // sprawdzenie, czy pozycja krótka jest otwarta
       if (PositionSelect(Symbol()) == false)
       {
          Print("Nie ma otwartych pozycji krótkich na rynku Forex");
          return INIT_FAILED;
       }
    
       return INIT_SUCCEEDED;
    }
    
    void OnTick()
    {
       // pobranie aktualnej ceny rynkowej
       double market_price = MarketInfo(Symbol(), MODE_ASK);
    
       // pobranie pozycji otwartej
       int position = PositionGetTicket(Symbol());
    
       // pobranie aktualnej ceny stop-loss
       double stop_loss = PositionGetDouble(position, POSITION_SL);
    
       // jeśli aktualna cena rynkowa jest niższa niż aktualna cena stop-loss + dystans trailing_distance
       if (market_price < stop_loss + Point * trailing_distance)
       {
          // ustawienie nowej ceny stop-loss na aktualną cenę rynkową - krok step w pipsach
          stop_loss = market_price - Point * step;
          PositionSetDouble(position, POSITION_SL, stop_loss);
       }
    }

    Pamiętaj, że skrypt MetaTrader 5 musi być zapisany w pliku o rozszerzeniu ".mq5" i umieszczony w odpowiednim katalogu MetaTrader 5. Aby użyć skryptu, musisz go najpierw zaimportować do MetaTrader 5, a następnie uruchomić na odpowiednim rynku.

    Generalnie nie jest to wiedza którą można łatwo i przyjemnie znaleźć w internecie, a i trzeba wiedzieć jak to napisać. A mi podczas pojawiania się kolejnych linijek kodu coraz bardziej się japa otwierała. Szaleństwo.
  • #20 20355563
    Konto nie istnieje
    Poziom 1  
  • #21 20355564
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2203
    Jak dla mnie ten program nie generuje kodu, a raczej w miarę sensownie stara się łączyć informacje znalezione w necie. Natomiast czyni to bez zrozumienia. Na dzisiaj powiedziałbym, że jeśli akurat trafi, to jest to taka nieco lepsza wersja wyszukiwarki, natomiast niestety cokolwiek bardziej złożonego go rozwala. IMHO program się zachowuje tak jak małe dziecko, które miałoby fenomenalną pamięć i pamiętało tysiące informacji. Potrafi je bezbłędnie zacytować, ale kompletnie nie rozumie o czym mówi. To IMHO może być bardzo niebezpieczne, bo osoba, która ma odpowiednią wiedzę różne nonsensy łatwo znajdzie, osoba początkująca przyjmie bezkrytycznie serwowaną papkę. O ile w przypadku programów sprawa jest w miarę prosta - zwykle łatwo stwierdzić, że program nie działa, to kłopot się robi kiedy AI wyrzuca jakieś naukowe teksty, czy informacje.
    Oczywiście sam program jest imponujący i ciekawy, pytanie, czy my jako ludzie i społeczeństwo dorośliśmy do takich zabawek. Póki co przerastają nas proste media społecznościowe. Już widzę osoby, które dyskutując będą mówiły, że mają rację bo chatGPT tak napisał.
  • #22 20355567
    ArturAVS
    Moderator
    Posty: 26129
    Pomógł: 2295
    Ocena: 7743
    Znając życie szybko, zwłaszcza że w święta czytałem że google czuje się zagrożone.
  • #23 20355573
    csvrbntyu
    Poziom 30  
    Posty: 1394
    Pomógł: 163
    Ocena: 405
    ArturAVS napisał:
    w święta czytałem że google czuje się zagrożone

    Z Google od zawsze coś było nie tak. Teraz przecież czekamy, bo od nowego roku Chrome nie będzie wspierał Ad-blocka. Pieniążki im się nie zgadzają. Także zapraszam na pielgrzymkę do Opery.

    Dodano po 54 [minuty]:

    Te sztuczno-inteligencyjne programy w użytku domowym to całkiem ciekawe zabawki. Tutaj ktoś użył AI do wklejania się w zdjęcia, przez co wygląda to jakby koleś zrobił sobie wycieczkę do czasów kamienia łupanego:
    Konwersacja z Chat GPT na temat konfiguracji Timera2 w Arduino oraz generowania kodów
    Budował piramidy:
    Konwersacja z Chat GPT na temat konfiguracji Timera2 w Arduino oraz generowania kodów
    Dostał konia:
    Konwersacja z Chat GPT na temat konfiguracji Timera2 w Arduino oraz generowania kodów
    Odwiedził dziki zachód:
    Konwersacja z Chat GPT na temat konfiguracji Timera2 w Arduino oraz generowania kodów
    Arrrr!

    Konwersacja z Chat GPT na temat konfiguracji Timera2 w Arduino oraz generowania kodów


    Był też niesamowity bot na Discordzie, który malował obrazy na zawołanie.
    https://www.metastellar.com/nonfiction/news/m...ai-image-generator-if-youre-a-fan-of-discord/
    Też się nim trochę pobawiłem. Można sobie szybko stworzyć ciekawą tapetę.
  • #24 20355861
    gmp
    Poziom 19  
    Posty: 434
    Pomógł: 29
    Ocena: 28
    Akurat robię pcb z 74HC4060, i zapomniałem podłączyć pin12 (CLR), no to zapytałem AI co o jest pin12 w 74hc4060:
    1. Po polsku - pięknie opisane, ostrzeżenie że to CMOS i jest bardzo wrażliwy, i nie zostawiać bez podłączenia, super, ale... napisało że Clear aktywuje się stanem niskim, a to nieprawda. Po zwróceniu uwagi przeprosił i przyznał mi rację, i wyświetlił prawidłową odpowiedź.
    Następnie:
    2. Zrobiłem to samo po angielsku - tu nazwał pin CLK (a to pin 11) po zwróceniu uwagi poprawiło się, ale tak samo jak po polsku pomylił stany aktywne. Po zwróceniu uwagi - dał poprawną odpowiedź. Ładnie też opisuje funkcje układu.
    Jak na razie:
    - myli się (jak człowiek) dziwne bo to maszyna nakarmiona dokumentacją. Choć po zwróceniu uwagi - sięga jakby głębiej.
    - potrafi generować sprzeczne informacje w jednej wypowiedzi, tu mimo zwracania uwagi na sprzeczność - zostaje przy swoim.
    - potrafi napisać kod do apki (ale nie apkę) - są informacje na YT. Nie robi tego w jednym kroku, człowiek musi temu sugerować i poprawiać małe błędy.
    - na duży plus, jak wspomniono wyżej, może generować kod od czegoś co trudno znaleźć

    Wg opisu, AI teraz się uczy od nas, ulepsza się- zbiera feedback-i i za pól roku ma być duuuuużo duuużooo razy lepsza
  • #25 20355879
    ArturAVS
    Moderator
    Posty: 26129
    Pomógł: 2295
    Ocena: 7743
    Im więcej założeń w pytaniu się poda, tym precyzyjniejsza będzie odpowiedź. Na razie to przypomina nieco dziecko które nauczyło się na pamięć encyklopedii. Sam algorytm całkiem fajny, lecz co gdy zyska "samoświadomość"? To już nie będzie SF. Na pytanie jak zbudować bombę atomową odpowiada tak;

    Konwersacja z Chat GPT na temat konfiguracji Timera2 w Arduino oraz generowania kodów


    Już chyba załapała że jestem z Polski i w tym języku odpowiada :D.
  • #26 20356075
    Konto nie istnieje
    Poziom 1  
  • #27 20356946
    vertigo_02
    Poziom 15  
    Posty: 97
    Pomógł: 14
    Ocena: 16
    Bawię się tym botem już dłuższy czas aby wybadać jego możliwości i ograniczenia i im dłużej go testuję tym bardziej nie mogę się nadziwić jak zdumiewająco dobrze on działa. Trzeba mieć świadomość, że to tylko program komputerowy - jakaś wyrafinowana i wytrenowana sieć neuronowa nakarmiona niewyobrażalnie dużym zbiorem danych uczących, dlatego może się mylić. Każdy kto ma choćby mizerne pojęcie o tym jak działają takie algorytmy intuicyjnie wyczuje w czym bot będzie dobry, a w czym nie.
    Mnie najbardziej zdumiewa jak biegle konstruuje wypowiedzi, jak sprytnie rozpoznaje zapytania, pamięta historię konwersacji i analizuje podane mu treści. Można zagrać z nim w grę słowną, można poprosić o napisanie opowiadania i instruować go co do osi fabuły, streści wklejony mu artykuł, porozmawia w wielu językach (chociaż najlepszy jest pewnie po angielsku). Niestety pierwszego rozdziału Potopu nie potrafił mi opowiedzieć. Za to kazałem napisać mu wiersz o tym jak pyszne są pierogi i lepiej niż on bym tego nie napisał. Rozwodził się nad okrasą z cebulki i skwarek i jak to ziemniaczano-serowe nadzienie rozpływa się w ustach :D Niesamowite.

    Co do pisania kodu, to w przypadku typowych i popularnych problemów bot spisze się świetnie. W bardziej specjalistycznych czy nietypowych problemów bot nadal może okazać się pomocny, ale potrzebuje nadzoru kogoś kto jednak się zna i wie czego oczekuje. Korzystam z niego niemal codziennie w pracy w różnych celach, np: aby mi zasugerował biblioteki do danych celów, tłumaczy mi kod z jednego języka programowania na drugi, pisze całe funkcje itp. Oczywiście myli się dość często, ale i tak wygenerowany przez niego kod jest w dużym stopniu użyteczny i przyspiesza pracę, można go użyć jako templatki. Czasem trzeba mu jakiś problem strywializować. To tak jakby mieć dookoła siebie grupę asystentów na każde skinienie, którzy wykonują zadania w mgnieniu oka. Tym lepiej pomogą im lepiej się ich poinstruuje i im łatwiejsze zadanie, ale wciąż mogą wygenerować błędy i trzeba ich pilnować.
  • #28 20356965
    csvrbntyu
    Poziom 30  
    Posty: 1394
    Pomógł: 163
    Ocena: 405
    vertigo_02 napisał:
    Za to kazałem napisać mu wiersz o tym jak pyszne są pierogi i lepiej niż on bym tego nie napisał. Rozwodził się nad okrasą z cebulki i skwarek i jak to ziemniaczano-serowe nadzienie rozpływa się w ustach Niesamowite.

    Najwidoczniej twórcy nie karmili go jedynie bazami danych :)
    Komputer na pierogi to tak polska nazwa, jak elektrownia wiatrowa opalana węglem.
  • #29 20357081
    pier
    Poziom 24  
    Posty: 2446
    Pomógł: 40
    Ocena: 1892
    Widziałem niedawno jak jeden człowiek męczył GPT pytaniem o sto razy złożoną kartkę na pół i czy grubość takiego złożenia dosięgnie księżyca. Chat w jednej odpowiedzi potrafił zaprzeczyć i potwierdzić.
  • #30 20357104
    czareqpl
    Poziom 33  
    Posty: 1955
    Pomógł: 196
    Ocena: 579
    Myślę, że niektórzy konstruktorzy mogą wpakować się w niezłe problemy:

    Konwersacja z Chat GPT na temat konfiguracji Timera2 w Arduino oraz generowania kodów

    Konwersacja z Chat GPT na temat konfiguracji Timera2 w Arduino oraz generowania kodów

Podsumowanie tematu

✨ W dyskusji poruszono temat wykorzystania ChatGPT do generowania kodów dla platformy Arduino, w tym konfiguracji Timera2 do przerwań co 100 ms. Użytkownicy dzielili się doświadczeniami z AI, które potrafiło generować poprawne kody, ale również wskazywało na potrzebę użycia kondensatorów lub rezystorów w kontekście diod LED. Pojawiły się również wątpliwości co do dokładności generowanych kodów oraz ich zastosowania w bardziej złożonych projektach. Uczestnicy zauważyli, że AI może być pomocne w typowych konstrukcjach programistycznych, ale wymaga precyzyjnych zapytań, aby uzyskać satysfakcjonujące wyniki. Wskazano na ryzyko, że użytkownicy bez odpowiedniej wiedzy mogą bezkrytycznie przyjmować błędne informacje generowane przez AI.
Wygenerowane przez model językowy.
REKLAMA