eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › arduino, początki, inny edytor
Ilość wypowiedzi w tym wątku: 99

  • 21. Data: 2017-04-27 19:05:10
    Temat: Re: arduino, początki, inny edytor
    Od: slawek <f...@f...com>

    On Thu, 27 Apr 2017 18:25:39 +0200, Janusz <j...@o...pl> wrote:
    > Poza tym program nie jest banalny jak Ci się wydaje.

    Tak na oko od 80 do 2000 linijek, z czego połowa komentarze.

    Zacznij nie od pisania w C programu. Zacznij od rozpisania,
    szczegółowo, co i dlaczego ten program ma robić. Poszukaj w Google co
    to UML use case diagram. Narysuj coś takiego.

    Co to jest czujnik? Jak się komunikuje? Czy transmisja ma być jakoś
    szczególnie zabezpieczona? Czy system będzie kiedyś rozbudowany o
    nowe rodzaje czujników?

    Co to jest alarm? Ma robić hałas? Czy wysyłać SMS? A może coś innego?

    Czy będzie jakiś wyświetlacz? A jakieś guziki? A może ma się łączyć
    Wifi/BT? Zapisywać logi na karcie SD?

    Ma monitorować stan baterii? Swojej? Czujników?

    Skąd ma brać czas? RTC? A co watchdogiem? Czy hibernować?

    Jak sobie to spiszesz i rozrysujesz... przemyśl architekturę
    programu. Próba pisania od razu w C, bez ogólnego planu architektury,
    to 90% szansa na klęskę.

    Nie przejmuj się długością programu. 2000 linijek to niewiele...
    jeżeli nie są zlepkiem chaotycznych goto.


  • 22. Data: 2017-04-27 20:05:47
    Temat: Re: arduino, początki, inny edytor
    Od: Jacek Radzikowski <j...@s...die.die.die.piranet.org>

    On 04/25/17 16:16, ToMasz wrote:
    > witam
    > Piszę prosty program który ma się wykonywać na arduino. tyle że robi mi
    > się cholernie długi. Dla programisty, to pewno byłby pikuś, ale dlamnie
    > uciążliwe staje się odgadywanie co chciałem zrobić wczoraj i dlaczego to
    > tak zapisałem. kiedyś cośtam robiłem w basicu i może to właśnie
    > pokutuje, bo brakuje mi "goto"
    > tak czy owak, wieki temu podczas edukacji miałem jakieś podstawy c++ i
    > edytor, środowisko programistyczne umożliwiało lepsze ogarnięcie
    > programu. nie pamiętam ale jakieś kolorki były.... Teraz jak mi braknie
    > średnika na końcu lini to mam pierdylion błędów - żaden nie wspomina o
    > średniku. czy jest jakis inny niż ten arduinowy edytor w którym można
    > pisać program na arduino?

    Oryginalne środowisko Arduino jest bardzo siermiężne, ale ma tę zaletę
    że działa niemal od pierwszego kopa. Niestety, każda próba zrobienia
    czegoś bardziej skomplikowanego szybko zamienia się w walkę z
    ograniczeniami. Możesz podpiąć zewnętrzny edytor, ale to się mija z celem.

    Zamiast tego mogę polecić Atom z wtyczką Platform.io. Może nie jest aż
    taki bezobsługowy jak środowisko Arduino, ale jeśli nie obawiasz się
    tego że na początku trzeba będzie poświęcić kilka minut na
    zainstalowanie wtyczek (platform.io, lint, etc), to dostaniesz proste w
    obsłudze, bardzo uniwersalne, profesjonalnej klasy narzędzie.

    Jacek.





  • 23. Data: 2017-04-27 20:11:43
    Temat: Re: arduino, początki, inny edytor
    Od: slawek <f...@f...com>

    On Thu, 27 Apr 2017 18:57:41 +0200, "Grzegorz Niemirowski"
    <g...@p...onet.pl> wrote:
    > To mit, że goto jest z definicji złe i nigdy nie

    Od iluś tam lat programuje w C. Nigdy nie musiałem użyć goto. Nigdy
    nie było sytuacji w której goto pozwoliłoby aby mój program działał
    lepiej lub był bardziej czytelny.

    W Fortranie IV używałem goto. W Snobolu 4 używałem skoków F/S. W
    Asemblerze Motoroli i w Asemblerze Intela używałem skoków, np. BNE i
    JNZ.

    Ale w C, C++, C# nigdy nie musiałem. Więc nie używałem. Bo i po co?

    Dodam: long jump w C. Też nie używam. Bo po prostu nie potrzebuję.

    Zwykle użycie goto jest sygnałem słabej umiejętności programowania.
    To trochę tak jak wtedy gdy ktoś mówiąc, po polsku, co drugie słowo
    wstawia łacińskie słowo określające krzywą. Zwykle nie świadczy to o
    tym że słuchamy matematyka, albo wybitnego literata-poliglotę. Zwykle
    jest to ktoś o niezbyt wysokiej pozycji społecznej i adekwatnej
    inteligencji. Podobnie z goto. Dużo goto w C to po prostu niewiedza o
    mechanizmach sterowania właściwych dla tego języka. Przy tym dużo to
    może być nawet jedno.


  • 24. Data: 2017-04-27 20:19:29
    Temat: Re: arduino, początki, inny edytor
    Od: slawek <f...@f...com>

    Jeszcze mały drobiazg: goto sprawia czasem kłopoty kompilatorom C++.
    Np. Borland C potrafił zapominać wywoływać destruktory po skoku poza
    blok.

    Gdy język jest strukturalny, to goto nie trzeba używać.

    A tego czego nie trzeba (robić dla osiągnięcia celu) robić nie
    należy. Ot i cała filozofia.


  • 25. Data: 2017-04-27 20:21:50
    Temat: Re: arduino, początki, inny edytor
    Od: "Grzegorz Niemirowski" <g...@p...onet.pl>

    slawek <f...@f...com> napisał(a):
    > Od iluś tam lat programuje w C. Nigdy nie musiałem użyć goto. Nigdy nie
    > było sytuacji w której goto pozwoliłoby aby mój program działał lepiej lub
    > był bardziej czytelny.
    > W Fortranie IV używałem goto. W Snobolu 4 używałem skoków F/S. W
    > Asemblerze Motoroli i w Asemblerze Intela używałem skoków, np. BNE i JNZ.
    > Ale w C, C++, C# nigdy nie musiałem. Więc nie używałem. Bo i po co?
    > Dodam: long jump w C. Też nie używam. Bo po prostu nie potrzebuję. Zwykle
    > użycie goto jest sygnałem słabej umiejętności programowania. To trochę tak
    > jak wtedy gdy ktoś mówiąc, po polsku, co drugie słowo wstawia łacińskie
    > słowo określające krzywą. Zwykle nie świadczy to o tym że słuchamy
    > matematyka, albo wybitnego literata-poliglotę. Zwykle jest to ktoś o
    > niezbyt wysokiej pozycji społecznej i adekwatnej inteligencji. Podobnie z
    > goto. Dużo goto w C to po prostu niewiedza o mechanizmach sterowania
    > właściwych dla tego języka. Przy tym dużo to może być nawet jedno.

    U mnie jest podobnie. Piszę od lat w C, czasem C++ i C#. Nauczono mnie żeby
    nie używać goto i nie użyłem nigdy. Równiez z tego powodu jakoś nie
    cierpiałem. Nie próbuję tutaj propagować tego słowa kluczowego. Natomiast
    linki takie jak przytoczony przekonują mnie, że czasem taka konstrukcja ma
    sens i warto jej użyć.

    --
    Grzegorz Niemirowski
    http://www.grzegorz.net/


  • 26. Data: 2017-04-27 21:26:40
    Temat: Re: arduino, początki, inny edytor
    Od: jacek <j...@w...pl>

    W dniu 2017-04-27 o 09:26, ToMasz pisze:

    > jednak jeśli masz nadmiar czasu, to rozważ program do następującej
    > zabawki której robocza nazwa to inteligentna strzelnica
    >
    > 10 tarcz, dwa pistolety, i opcjonalnie tablica wyników
    > pistolety pownny "strzelać" do tarcz czerwonym laserkiem za 3zł. ale
    > wiązkę trzeba jakoś zmodulować, tak aby tarcza rozróżniała który
    > pistolet trafił. myślałem zeby światło "migało" w pistoletach, w każdym
    > z inną częstotliwością albo tego użyć 2 starych pilotów do tv.
    > każda z tarcz, powinna wyemitować dzwięk, następnie oczekiwać na
    > trafienie ze 3 sekundy i diodką lub dzwiękiem zasygnalizować który
    > trafił. no i właśnie na tym rozróżnianiu który pistolet trafił -
    > całkowicie poległem. czujniki światła rezystancyjne - są dość wolne i
    > nie wiem jaką częstotliwość rozróżnią. odbiorniki do pilotów "słabo
    > widzą" laserek. a programowanie - to juz wiecie jak mi idzie.
    > Jeśli masz wolny czas, spróbuj pomyśleć czy dałoby się to zrealizować za
    > pomocą programu i jaka para - laser - jako nadajnik i cośtam jako
    > odbiornik zadziała. podczerwień jako "nośnik strzału" odpada, bo nigdy w
    > życiu nie skalibruje takiego pistoletu.
    >
    Jako nadajniki dwa atmelki migające jeden 1000Hz drugi
    200Hz do modulacji laserka.
    Fotortanzystor jako odbiornik i za nim 2 szt LM567.
    Dalej atmelek wydający dzwięki, liczący itp.

    --
    pzdr, j.r.


  • 27. Data: 2017-04-27 21:30:58
    Temat: Re: arduino, początki, inny edytor
    Od: jacek <j...@w...pl>

    W dniu 2017-04-27 o 09:26, ToMasz pisze:

    > 10 tarcz, dwa pistolety, i opcjonalnie tablica wyników
    > pistolety pownny "strzelać" do tarcz czerwonym laserkiem za 3zł. ale
    > wiązkę trzeba jakoś zmodulować, tak aby tarcza rozróżniała który
    > pistolet trafił. myślałem zeby światło "migało" w pistoletach, w każdym
    > z inną częstotliwością albo tego użyć 2 starych pilotów do tv.
    > każda z tarcz, powinna wyemitować dzwięk, następnie oczekiwać na
    > trafienie ze 3 sekundy i diodką lub dzwiękiem zasygnalizować który
    > trafił. no i właśnie na tym rozróżnianiu który pistolet trafił -
    > całkowicie poległem. czujniki światła rezystancyjne - są dość wolne i
    > nie wiem jaką częstotliwość rozróżnią. odbiorniki do pilotów "słabo
    > widzą" laserek. a programowanie - to juz wiecie jak mi idzie.
    > Jeśli masz wolny czas, spróbuj pomyśleć czy dałoby się to zrealizować za
    > pomocą programu i jaka para - laser - jako nadajnik i cośtam jako
    > odbiornik zadziała. podczerwień jako "nośnik strzału" odpada, bo nigdy w
    > życiu nie skalibruje takiego pistoletu.
    >
    Ewentualnie 2 atmelki nadające kody RC5 bez modulacji na wskaźniki.
    Odbiornik na fototranzystorze itd...

    --
    pzdr, j.r.


  • 28. Data: 2017-04-27 23:02:40
    Temat: Re: arduino, początki, inny edytor
    Od: slawek <f...@f...com>

    On Thu, 27 Apr 2017 20:21:50 +0200, "Grzegorz Niemirowski"
    <g...@p...onet.pl> wrote:
    > linki takie jak przytoczony przekonują mnie, że czasem taka
    konstrukcja ma
    > sens i warto jej użyć.

    Czasem (w jezyku C) goto ma sens.

    Nigdy nie warto goto używać.

    Po prostu aby użyć goto trzeba myśleć w kategoriach goto, czyli
    programowania sekwencyjnego. A to bardzo słabe narzędzie.
    Zdecydowanie lepiej użyć OOP lub paradygmatu funkcyjnego.

    Innymi słowy: goto to takie lutowanie smd lutownicą do rynien.


  • 29. Data: 2017-04-28 08:51:12
    Temat: Re: arduino, początki, inny edytor
    Od: s...@g...com

    W dniu czwartek, 27 kwietnia 2017 20:21:53 UTC+2 użytkownik Grzegorz Niemirowski
    napisał:
    > slawek <f...@f...com> napisał(a):
    > > Od iluś tam lat programuje w C. Nigdy nie musiałem użyć goto. Nigdy nie
    > > było sytuacji w której goto pozwoliłoby aby mój program działał lepiej lub
    > > był bardziej czytelny.
    > > W Fortranie IV używałem goto. W Snobolu 4 używałem skoków F/S. W
    > > Asemblerze Motoroli i w Asemblerze Intela używałem skoków, np. BNE i JNZ.
    > > Ale w C, C++, C# nigdy nie musiałem. Więc nie używałem. Bo i po co?
    > > Dodam: long jump w C. Też nie używam. Bo po prostu nie potrzebuję. Zwykle
    > > użycie goto jest sygnałem słabej umiejętności programowania. To trochę tak
    > > jak wtedy gdy ktoś mówiąc, po polsku, co drugie słowo wstawia łacińskie
    > > słowo określające krzywą. Zwykle nie świadczy to o tym że słuchamy
    > > matematyka, albo wybitnego literata-poliglotę. Zwykle jest to ktoś o
    > > niezbyt wysokiej pozycji społecznej i adekwatnej inteligencji. Podobnie z
    > > goto. Dużo goto w C to po prostu niewiedza o mechanizmach sterowania
    > > właściwych dla tego języka. Przy tym dużo to może być nawet jedno.
    >
    > U mnie jest podobnie. Piszę od lat w C, czasem C++ i C#. Nauczono mnie żeby
    > nie używać goto i nie użyłem nigdy. Równiez z tego powodu jakoś nie
    > cierpiałem. Nie próbuję tutaj propagować tego słowa kluczowego. Natomiast
    > linki takie jak przytoczony przekonują mnie, że czasem taka konstrukcja ma
    > sens i warto jej użyć.
    >
    >
    Zajrzyjcie sobie do linka który podał Grzegorz. Zajawię również że gdzieś w kernelu
    linuxa goto siedzi i jest tam bardzo pozyteczne i nikt nie miał ochoty go wymieniać
    na przebieg strukturalny.

    Ja rozumiem wasze podejscie i je podzielam. Ale poczytalem nieco i jednak są
    przypadku gdzie goto jest i sprawniejsze i elegantsze niz dodanie dodatkowych
    zmiennych, klauzuli if i pogrupowanie akcji.

    Tyle ze aby wiedzieć że w danym miejscu trzeba goto trzeba najpierw napisac
    strukturalnie, popatrzeć i ocenić ze to zbyt skomplikowane, za duzo warunków i
    niepotrzebnie będzie się wykonywać a goto jest zgrabniejsze.


    Zerknijcie sobie w internet i poczytajcie gdzie ludzie zdecydowali sie na goto i
    wyszlo im na dobre :)

    Tutaj jeden z artów na ten temat.
    http://blog.smartbear.com/development/goto-still-has
    -a-place-in-modern-programming-no-really/
    Goto nie jest dobre w wielu przypadkach ale jednak czasem jest pozyteczne.


  • 30. Data: 2017-04-28 08:52:59
    Temat: Re: arduino, początki, inny edytor
    Od: s...@g...com

    W dniu czwartek, 27 kwietnia 2017 23:02:41 UTC+2 użytkownik slawek napisał:
    > On Thu, 27 Apr 2017 20:21:50 +0200, "Grzegorz Niemirowski"
    > <g...@p...onet.pl> wrote:
    > > linki takie jak przytoczony przekonują mnie, że czasem taka
    > konstrukcja ma
    > > sens i warto jej użyć.
    >
    > Czasem (w jezyku C) goto ma sens.
    >
    > Nigdy nie warto goto używać.
    >
    > Po prostu aby użyć goto trzeba myśleć w kategoriach goto, czyli
    > programowania sekwencyjnego. A to bardzo słabe narzędzie.
    > Zdecydowanie lepiej użyć OOP lub paradygmatu funkcyjnego.
    >
    > Innymi słowy: goto to takie lutowanie smd lutownicą do rynien.

    No nie.
    Nawet Linux sie z Tobą nie zgodzi :)

    http://blog.smartbear.com/development/goto-still-has
    -a-place-in-modern-programming-no-really/

strony : 1 . 2 . [ 3 ] . 4 ... 10


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: