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



Teraz jest 7 maja 2024, o 22:24


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
Avatar użytkownika

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

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 ...

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



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
Avatar użytkownika

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

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 .

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



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
Avatar użytkownika

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

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

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



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
Avatar użytkownika

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

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

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



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
Avatar użytkownika

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

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.

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



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 ]
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
Avatar użytkownika

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

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/

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



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: 27235
Lokalizacja: Szczecin
Pomógł: 1041

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 1 gość


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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO