Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 10 lip 2025, o 23:42


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 18 ] 
    Autor Wiadomość
    PostNapisane: 11 kwi 2016, o 12:19 
    Offline
    Nowy

    Dołączył(a): 25 sty 2016
    Posty: 8
    Pomógł: 0

    Witam

    Chciałbym stworzyć program w Delphi 7 który steruje z laptopa klonem Arduino Uno CH340. Sam program będzie wyglądał mniej więcej tak. Tylko zamiast obracania ramieniem będzie zapalał diodę na płytce testowej. I tu właśnie pojawia się mój problem bo nie wiem jak ustawić komunikacje z urządzeniem. Pytałem wujka googla ale odpowiedzi nie znalazłem.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 kwi 2016, o 12:45 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 11 mar 2014
    Posty: 1475
    Pomógł: 167

    A co zrobiłeś? Z czym masz problem?
    Komunikacja poprzez CH340, od strony PC i Arduino jest to typowa komunikacja po RS232.

    --
    Pozdrawiam,
    Robert



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 kwi 2016, o 15:07 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 07 kwi 2013
    Posty: 418
    Lokalizacja: Rzeszów
    Pomógł: 102

    Zainteresuj się komponentem ComPort i ewentualnie do odbioru TComDataPacket.
    https://sourceforge.net/projects/comport/

    Musisz ustalić też sobie pewną ramkę i najlepiej użyć FSM, chyba że 1 bajt danych Ci wystarczy ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 11 kwi 2016, o 16:37 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    topic93.html zobacz to ...
    ew ... pokop u mnie na stronie wprawdzie VS C# i C++ ale powinno cie naprowadzić niestety
    delphi jest dla mnie za toporny ...

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 kwi 2016, o 17:48 
    Offline
    Nowy

    Dołączył(a): 25 sty 2016
    Posty: 8
    Pomógł: 0

    Niestety jestem dopiero początkujący w pisaniu programów i jeszcze dużo wody upłynie zanim zacznę coś rozumieć :? a składni w C++ czy C# to już zupełnie nie rozumiem...

    Zainteresowałem się tym komponentem ComPort i ustawiłem sobie następujące właściwości:

    Port:COM3
    Baund Rate:9600
    Data bits:8
    Stop bits:1
    Parity:none
    Flow control:softwere

    i na click buttona znalazłem taki oto listing:

    Składnia: [ Pobierz ] [ Ukryj ]
    język delphi
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Po uruchomieniu programu zamiga dioda TX na płytce arduino mam nadzieje że jest to dobry znak ;) a co do FSM szczerze mówiąc nie wiem jak się do tego zabrać, ale chyba ComPort ma już zdefiniowaną ramkę i bit stopu.

    A teraz mam pytanie odnośnie samego arduino jak można wyczyścić pamięć i wgrać coś własnego? Chciałbym aby dioda migała po naciśnięciu buttona a szybkość migania była zależna od scrollbara.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 kwi 2016, o 18:29 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    Cytuj:
    A teraz mam pytanie odnośnie samego arduino jak można wyczyścić pamięć i wgrać coś własnego? Chciałbym aby dioda migała po naciśnięciu buttona a szybkość migania była zależna od scrollbara.


    w banalny sposób .... a nawet 3 sposoby

    1. Napisać program w Arduino IDE i użyć opcji WGRAJ (wymaga połączenia USB z ARDUINO i wgranego bootloadera Arduino)
    2. Napisać program w Arduino IDE i użyć opcji z menu wgraj używając programatora (wymaga ustawienia programatora i
    podłączenia się przez złacze ISP do mikrokontrolera
    3. Napisać program w dowolnym środowisku (Eclipse , AS, CodeBlock, IAR, BASCOM) i wgranie używając programatora
    wymagania jak w pk2

    :)

    Wgranie nowego programu do pamięci mikrokontrolera powoduje usunięcie starego i zastąpienie go nowym .

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 kwi 2016, o 18:51 
    Offline
    Nowy

    Dołączył(a): 25 sty 2016
    Posty: 8
    Pomógł: 0

    Dziękuje za sugestie, ale chciałbym to zrobić w Delphi 7 z pominięciem Arduino IDE i innych dedykowanych programatorów :) znalazłem dla nich dużo listingów, ale dla obsługi pinów arduino w Delphi jakoś tych listingów nie ma. Przydałby mi się jakiś przykładowy a resztę bym już z czasem ogarnął ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 kwi 2016, o 18:57 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    bo w delphi się dla mikrokontrolera pisać nie da , ale możesz napisac j/w i w dephi napisac program współpracujący z programem w arduino

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 kwi 2016, o 19:12 
    Offline
    Nowy

    Dołączył(a): 25 sty 2016
    Posty: 8
    Pomógł: 0

    To teraz mnie zasmuciłeś :( jak uda mi się rozwiązać ten problem to na pewno się pochwale ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 kwi 2016, o 19:44 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    nie uda ci się to założenie nie jest takie proste :)

    musiałbyś napisać coś / plugin , który by ci dodał możliwość wyboru mikrokontrolera
    do tego trzeba by napisać dla edytora możliwość pracy z kompilatoream AVR
    trzeba by tłumaczyć źródła Delphi na C by użyć kompilatora GCC lub na Assebler dla AVR


    ale istnieje microPascal dla AVR niestety płatny

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2016, o 16:50 
    Offline
    Nowy

    Dołączył(a): 25 sty 2016
    Posty: 8
    Pomógł: 0

    Troche poszperałem w sieci i zrezygnuje ze sterowaniem pinami w Delphi, może jak będę bardziej zaawansowany to wrócę do tego pomysłu;)

    Obecnie skłaniam się do pomysłu komunikacji z urządzeniem po przez Delphi ale wgranie do arduino już listingu napisanego w Arduino IDE i tu mam takie pytanie. Czy jest możliwość powiedzmy wgrania do arduino programu sterującego zapalaniem diody a w delphi napisanie programu który te listingi będzie uruchamiał?

    Powiedzmy mam 3 diody na 3 różnych wyjściach i jak nacisne 1 to zapali się dioda nr 1, czy jest to możliwe z poziomu delphi?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2016, o 17:56 
    Offline
    Użytkownik

    Dołączył(a): 24 kwi 2013
    Posty: 454
    Pomógł: 30

    @BaKar Mirek pisze swoje pecetowe programy w Delphi, więc pewnie się da;)

    Najpierw napisz jakiś program na AVR, żeby z terminala (putty, czy ten arduinowy) zapalać diodę, poprzez wysłanie jakiegoś znaku z klawiatury.
    Jak zadziała, to te same komendy możesz wysłać z programu napisanego w Delphi i wielu innych językach.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 kwi 2016, o 16:21 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    Panowie nie jest problemem zrobić komunikację z czymkolwiek nawet MSBasicem czy turbo Pascalem 7

    niemniej zaznaczam że koledze chodziło o pisanie programów na MIKROKONTROLER w Delphi co niestety nie jest możliwe ,
    i nie jest łatwe do zrobienia.

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 maja 2016, o 21:05 
    Offline
    Nowy

    Dołączył(a): 25 sty 2016
    Posty: 8
    Pomógł: 0

    Po przez arduino IDE wgrałem taki oto program

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język cpp
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    i po włączeniu w arduino IDE monitoru szeregowego można wpisywać cyferki 1, 2 albo 3 i dzięki temu zapalać poszczególne diody.

    I teraz pytanie jak można nie po przez arduino IDE tylko delphi wysyłać taką "1" i zapalić diode nr. 1. Szukałem, szperałem ale odpowiedzi nie znalazłem :(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 maja 2016, o 21:27 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    nie znam delphi mam wstręt do paskali zapewne przez Turbo Pascala , ale
    zapoznaj się z komponentami takimi jak serial port itd ...

    Obrazek

    http://www.sunduino.pl/wordpress/visual ... m-czesc-3/

    zobacz ... tak łatwo :)

    może prościej .... z Arduino , ale w C++

    http://www.sunduino.pl/wordpress/visual ... s232-cz-1/
    http://www.sunduino.pl/wordpress/visual ... s232-cz-2/

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 maja 2016, o 19:08 
    Offline
    Nowy

    Dołączył(a): 25 sty 2016
    Posty: 8
    Pomógł: 0

    Dzięki SunRiver za ComPort'y, niestety język C jest mi zupełnie obcy i przetłumaczenie mi tego na delphi troche zajmie.

    Ale za to napisałem sobie o to taki listing w Delphi

    Składnia: [ Pobierz ] [ Ukryj ]
    język delphi
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    ale jak wciskam to "1" to niestety nic się nie dzieje natomiast gdy "1" jest wysyłana z Arduino IDE to zapala się dioda nr. 1....



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 maja 2016, o 00:26 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27415
    Lokalizacja: Szczecin
    Pomógł: 1043

    atmel napisał(a):
    Zainteresowałem się tym komponentem ComPort i ustawiłem sobie następujące właściwości:

    Port:COM3
    Baund Rate:9600
    Data bits:8
    Stop bits:1
    Parity:none
    Flow control:softwere

    i na click buttona znalazłem taki oto listing:

    No to niestety coś słabo się zainteresowałeś tym komponentem, a listing jaki pokazujesz mówi o tym, że chyba także o Delphi nie za bardzo masz jeszcze nawet nikłe pojęcie - więc jak ci pomóc ?

    Toż jak się pobierze ten komponent to masz tam jak byk przykładowe ze dwa programiki

    comport411f.zip\Examples\delphi

    gdzie możesz podejrzeć jak się używa tego komponentu w MEGA PODSTAWOWY sposób aby: otworzyć port COM i aby coś przez niego wysłać
    Obrazek

    No nie mów mi, że tego nie otwierałeś żeby zajrzeć i podpatrzeć, jak na patelni masz klawisze: OPEN, SETTINGS ale też SEND i pole EDIT w które możesz wpisać coś do wysłania a później możesz sobie to programowo robić

    zaglądałeś tu ? Bo sorki ale ten kod który pokazałeś w jednym z postów wcześniej to wygląda na takiej zasadzie jakbyś strzelał jakimiś tam funkcjami na "chybił-trafił" tylko że nie trafił

    Zajrzyj więc do tego kodu i napisz coś na podobieństwo bo to proste jak drut żeby na podstawie tego wysyłać swoje tam jakieś kody ASCII


    Autor postu otrzymał pochwałę

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 maja 2016, o 14:35 
    Offline
    Nowy

    Dołączył(a): 25 sty 2016
    Posty: 8
    Pomógł: 0

    Dzięki Mirek, udało mi się rozwiązać problem :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 18 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO