Teraz jest czwartek, 28 marca 2024, 20:39

Strefa czasowa: UTC + 2




Utwórz nowy wątek Odpowiedz w wątku
Autor Wiadomość
 Tytuł: Arduino w Astronomii - Wstęp
PostNapisane: czwartek, 9 maja 2019, 14:36 
Offline
Ranga: [3]
Avatar użytkownika

Dołączył(a): niedziela, 28 sierpnia 2011, 19:05
Posty: 338
Lokalizacja: Świętochłowice
Arduino w Astronomii

Pewnie słyszałeś lub słyszałąś o Arduino. Czy i jak można wykorzystać tą platformę w Astronomii? Chciałbym tutaj w tym poście nakreślić ogólnie czym tak na prawdę jest Arduino. Jak można wykorzystać jego możliwości, którą płytkę wybrać i dlaczego, z jakich modułów korzystać, które są interesujące w naszym hobby. Z góry zaznaczam, że będą to moje subiektywne opinie, które jak najbardziej chciałbym poddać dyskusji.

Post jest wynikiem mojej małej prezentacji, którą miałem przyjemność omówić na 37 zlocie astronomicznym w Zwardoniu.

Czym jest Arduino

Arduino to nic innego jak prosta platforma elektroniczna i programistyczna, która w przystępny i możliwie najłatwiejszy sposób wprowadza w świat elektroniki i programowania. Arduino od strony technicznej to nic innego jak obudowany elektroniką mikrokontroler z rodziny Atmel AVR. Płytka Arduino zawiera port USB, przez który w swobodny sposób możemy programować bez konieczności posiadania jakiegokolwiek programatora. Prostota polega na tym, że wystarczy nam do rozpoczęcia przygody z Arduino dowolna płytka, odpowiedni kabel USB i zainstalowane na komputerze środowisko do programowania Arduino IDE. Każda płytka posiada wyjścia-wejścia w postaci szeregu goldpinów lub gniazd służących do łatwego szybkiego podpinania urządzeń współpracujących z Arduino (czujników, shieldów).

Co wybrać?

Na to pytanie nie odpowiem, ponieważ sami musicie zdecydować, która z dostępnych płytek będzie odpowiednia dla was. W internecie można znaleźć szereg stron opisujących dokładnie technikalia każdej z płytek, a jest ich sporo jeśli chodzi o Arduino:

  • Serial Arduino, programowany przez interfejs szeregowy DB9 i korzystający z układu ATmega8
  • Arduino Extreme, programowany przez interfejs USB i zaopatrzony w układ ATmega8
  • Arduino Mini, miniaturowa wersja Arduino wykorzystująca montowany powierzchniowo układ ATmega168 lub Atmega328
  • Arduino Nano, jeszcze mniejsza wersja Arduino, zasilana przez USB zaopatrzona w montowany powierzchniowo układ ATmega168
  • Arduino LilyPad, minimalistyczny projekt wykorzystujący montowany powierzchniowo układ ATmega168
  • Arduino NG, programowany przez interfejs USB i korzystający z układu ATmega8
  • Arduino NG plus, programowany za pośrednictwem interfejsu USB i zaopatrzony w układ ATmega168
  • Arduino BT, programowana bezprzewodowo przez interfejs Bluetooth korzystająca z układu ATmega168
  • Arduino Diecimila, z interfejsem USB i układem Atmega168 w obudowie DIL28 (na zdjęciu obok)
  • Arduino Duemilanove ("2009"), wykorzystujący Atmega168 (Atmega328 w nowszych wersjach) zasilany z zewnętrznego zasilacza lub przez USB
  • Arduino Mega, zaopatrzony w montowany powierzchniowo układ ATmega1280, dzięki czemu posiada więcej pamięci i pinów wejścia/wyjścia[12].
  • Arduino Mega ADK, jest to Arduino Mega wzbogacona w układ MAX3421, który jest USB HOST'em.
  • Arduino Uno, wersja z programowalnym interfejsem USB i układem Atmega328
  • Arduino Leonardo, wersja z układem ATmega32u4, który jest sercem Arduino i odpowiada za komunikację USB (na zdjęciu obok)
  • Arduino Ethernet, wersja z układem ATmega328, interfejsem Ethernet zamiast USB oraz czytnikiem kart microSD
  • Arduino Yún, wersja z układem ATmega32u4 oraz wbudowanym układem WiFi
  • Arduino Esplora, wersja z układem Atmega32U4, płytka zaprojektowana jako baza pod kontroler do konsoli
  • Arduino Robot, wersja zbudowana z dwóch okrągłych płyt, każda wyposażona w procesor ATmega32u4
  • Arduino 101, jest to płytka z układem Intel Curie x86 (Quark)oraz żyroskopem, akcelerometrem i modułem Bluetooth
  • Arduino zero, płytka z procesorem 32-bit ARM Cortex
  • Arduino Due, wersja z procesorem AT91 SAM3X8E
  • Arduino Pro, wersja oparta na układzie ATmega328
  • Arduino Pro Mini, niewielka płytka z procesorem Atmega328
  • Arduino M0, płytka z mikrokontrolerem ATSAMD21G18 z rdzeniem ARM Cortex-M0
  • Arduino M0 Pro, wersja M0 wzbogacona o debugger EDBG
  • Arduino Tian, wersja posiadająca wiele interfejsów takich jak: Ethernet, WiFi oraz Bluetooth
  • Arduino INDUSTRIAL 101, jest to mała dwu procesorowa płytka, z układem Atheros AR9331 obsługującym WiFi oraz Ethernet
  • Arduino LEONARDO ETH, wersja płytki Arduino Leonardo z modułem Ethernet
  • Arduino MKR FOX 1200, jest to mały moduł z układami Atmel SAMD21 i ATA8520
  • Arduino GEMMA, jest to płytka oparta o mikrokontroler attiny85

* źródło listy - Wikipedia

Sporo tego prawda? Pozwoliłem sobie wytłuścić i podkolorować te płytki, które moim zdaniem są najbardziej interesujące jeśli chodzi o wykorzystanie ich w projektach związanych z Astronomią. Oczywiście nic nie stoi na przeszkodzie by wybrać taką, która najbardziej odpowiada nam i pasuje do naszego projektu. Należy wspomnieć w tym miejscu, że możemy zaopatrzyć się w dwa rodzaje płytek - orginalne lub nieorginalne (klony, głównie chińskie). Różnica jest czasem w jakości wykonania, cenie, kompatybilności. Osobiście sam mam klony Arduino UNO i Arduino Nano i jak do tej pory nie zawiodłem się na przyjaciołach z Chin. Którą wybierzesz pozostawię to już Tobie.

Programowanie Arduino - łatwo i przyjemnie, ale...

Program jaki ma wykonywać Arduino możemy napisać w Arduino IDE. Platforma ta dostarcza nam w pełni użyteczne narzędzia umożliwiające napisanie programu, edycje tego programu, dołączenie bibliotek (np. obsługa czujników, wyświetlaczy, silników krokowych etc.) oraz późniejszą kompilację kodu programu i wgranie go do naszego Arduino. Tu pojawia się to "ale...", ale nie zawsze jest kolorowo, łatwo i przyjemnie. Trzeba ustawić w programie na którym porcie COM jest nasze Arduino, jaka to jest płytka Arduino (UNO, Mega, Nano?) czy mamy zainstalowane wymagane biblioteki, z których chcemy korzystać. Na początku mogą się pojawić tego typu problemy jednak gdybyś miał problem zawsze możesz zapytać co się dzieje. Nie zrażaj się tym, na prezentacji też pomyliłem porty COM :)

Arduino programujemy w języku prawie C, dlaczego prawie? Arduino IDE wykorzystuje wbudowaną bibliotekę, która upraszcza zapis "komend" jakie wydajemy w programie. Nie jest to zatem czysty język C. Jest to ogromna zaleta Arduino ponieważ uczy zasad programowania, a zarazem stosujemy bardzo przyjazną składnię języka. Z drugiej strony można programować Arduino w czystym języku C i też nasze programy będą pracować. Finalnie czy korzystamy ze składni Arduino czy piszemy w języku C kod programu i tak zostanie on skompilowany i wgrany w postaci zrozumiałej dla mikrokontrolera na płytce.

Nie ma się czego bać, programowanie jest fajne! Jest logiczne. To jak składanie z małych klocków dużej budowli. Każdy mały element tej układanki ma za zadanie coś zrobić. Jeśli będzie zainteresowanie chętnie pomogę, napiszę krok po kroku co i jak. Taki mały forumowy kurs (mimo że jest ich cała masa w internecie), ale zorientowany na pomysły realizacji układów służących w astronomii. Sam nie jestem orłem z programowania, jednak uwierz mi każdy może się nauczyć.

Którą płytkę wybrać?

Trudne pytanie i nie ma jednoznacznej odpowiedzi. Podpowiem z własnego doświadczenia. Chciałem rozpocząć przygodę z Arduino w miarę małym kosztem (nie wiedziałem czy platforma będzie dla mnie odpowiednia). Kupiłem u przyjaciół w Chinach klona Arduino UNO (32kB pamięci programu, UART, I2C). Małe, tanie... złapałem bakcyla. Myślę, że dla większości wybór Arduino Uno będzie wyborem w sam raz.

Kolejnym Arduino było Arduino Nano. Małe poręczne idealne do schowania w małej obudowie. Nano to taka mała wersja Arduino UNO. Ma dokładnie to samo co UNO jednak jest wielkości 45 x 18 mm. Bardzo przyjemne maleństwo idealne wręcz do małych poręcznych urządzeń.

Małe podsumowanie

W tym miejscu nakreśliłem tylko szereg technicznych i mniej technicznych aspektów związanych z Arduino. Mam nadzieję, że pojawi się kilka pytań, propozycji, pomysłów, które finalnie skończą się działającym urządzeniem. Nie chciałem się teraz skupiać na rzeczach typu - a jak zrobić? Szczerze, liczę na to, że zaciekawi was ten temat, że będziecie chcieli coś o grzałkach, punkcie rosy, wstrząsach gruntu, GPS, alkomatach i to w wykonaniu praktycznym, że ktoś będzie chciał zacząć od zera... no może nie od zera, a od jednej migającej diody LED.

Zapraszam do dyskusji

* jeżeli kogoś interesują sprawy czysto techniczne, parametry poszczególnych modeli Arduino i ich możliwości mogę pokusić się o opisanie konkretnych modeli Arduino

_________________
SK Dobson 8", Delta Optical Voyager II 12x50

Projekty "Zrób to sam"


Góra
 Zobacz profil  
 

 Tytuł: Re: Arduino w Astronomii - Wstęp
PostNapisane: czwartek, 9 maja 2019, 15:05 
Offline
Administrator
Administrator
Avatar użytkownika

Dołączył(a): poniedziałek, 24 sierpnia 2009, 14:27
Posty: 9555
Lokalizacja: Chorzów
Nich tylko do mnie przyjdzie w poniedziałek.
Będzie zabawa...... i sterowanie grzałką... :-)

_________________
Pozdrawiam, Marek Substyk
Portal AstroCD, http://www.astrocd.pl, Forum AstroCD, http://www.forum.astrocd.pl
Sklep Allegro AstroCD - literatura i pomoce naukowe dla miłośników astronomiiObrazek facebook.com/Wydawnictwo.AstroCD
Obrazek Mój profil na Facebooku
tel. 880-184-000 (prywatny), e-mail: astrocd@astrocd.pl (prywatne), m.substyk@urania.edu.pl (Urania-PA), marek.substyk@ptma.pl, zarzad@ptma.pl (PTMA);
tel. 575-572-330 (praca), e-mail: katowice@deltaoptical.pl
------------------------------------------------------------

Wielkie Wyprawy Polskiego Towarzystwa Miłośników Astronomii. USA 2020/Islandia 2020



Góra
 Zobacz profil  
 
 Tytuł: Re: Arduino w Astronomii - Wstęp
PostNapisane: czwartek, 9 maja 2019, 18:50 
Offline
Ranga: [3]
Avatar użytkownika

Dołączył(a): niedziela, 28 sierpnia 2011, 19:05
Posty: 338
Lokalizacja: Świętochłowice
Z tego co się dowiedziałem z własnych tajnych źródeł szykuje się całkiem pokaźna paczuszka z zabawkami.
Mam nadzieję, że miganie diodą znudzi Ci się po 2 min i zechcesz czegoś ambitniejszego :)

To co bierzemy jako pierwsze zadanie i temat na tapetę?

_________________
SK Dobson 8", Delta Optical Voyager II 12x50

Projekty "Zrób to sam"


Góra
 Zobacz profil  
 
 Tytuł: Re: Arduino w Astronomii - Wstęp
PostNapisane: piątek, 10 maja 2019, 09:05 
Offline
Administrator
Administrator
Avatar użytkownika

Dołączył(a): poniedziałek, 24 sierpnia 2009, 14:27
Posty: 9555
Lokalizacja: Chorzów
Mam nadzieje, że znudzi mi się po 1 minucie.
Cele może mam mało ambitny, ale za to praktyczny.

Sterowanie grzałką z sposób całkowicie automatyczny.

Założenie.
1) dokonujemy pomiaru temperatury - https://allegro.pl/oferta/ds18b20-czujn ... 7595375924
2) dokonujemy pomiaru wilgotności - https://allegro.pl/oferta/modul-dht22-p ... 6578130536
3) obliczamy punkt rosy

Obrazek

gdzie:

td – temperatura punktu rosy [°C],
t – temperatura [°C],
H – wilgotność względna w %.

Szczegóły: https://pl.wikipedia.org/wiki/Temperatura_punktu_rosy

4) jeżeli td > t = uruchamiamy grzałkę, jeżeli td < t = wyłączamy grzałkę.

Należy jeszcze przemyśleć sposób przeniesienia tego do grzałki za pomocą np. przekaźnika, przeliczyć moc grzania, czyli kolejna zabawa :-)

5) wykonać całe urządzenie w miniaturowej wersji z Arduino (jakieś tam mini).

_________________
Pozdrawiam, Marek Substyk
Portal AstroCD, http://www.astrocd.pl, Forum AstroCD, http://www.forum.astrocd.pl
Sklep Allegro AstroCD - literatura i pomoce naukowe dla miłośników astronomiiObrazek facebook.com/Wydawnictwo.AstroCD
Obrazek Mój profil na Facebooku
tel. 880-184-000 (prywatny), e-mail: astrocd@astrocd.pl (prywatne), m.substyk@urania.edu.pl (Urania-PA), marek.substyk@ptma.pl, zarzad@ptma.pl (PTMA);
tel. 575-572-330 (praca), e-mail: katowice@deltaoptical.pl
------------------------------------------------------------

Wielkie Wyprawy Polskiego Towarzystwa Miłośników Astronomii. USA 2020/Islandia 2020



Góra
 Zobacz profil  
 
 Tytuł: Re: Arduino w Astronomii - Wstęp
PostNapisane: piątek, 10 maja 2019, 10:59 
Offline
Ranga: [3]
Avatar użytkownika

Dołączył(a): niedziela, 28 sierpnia 2011, 19:05
Posty: 338
Lokalizacja: Świętochłowice
Właśnie napisałeś Marek swój pierwszy program, a dokładnie jego algorytm.
Moja propozycja jest jeszcze taka by do układu dodać prostą sygnalizację diodą LED. Niech sygnalizuje, że grzałka pracuje.]
Weźmiemy ten temat jako pierwszy na tapetę, proponuję by wszystko znalazło się w osobnym wątku (będzie prościej poruszać się temacie).
Jeżeli układ spełni swoje zadanie pokuszę się o wykonanie go w wersji "bez Arduino" na bazie samego mikrokontrolera.

Jeżeli chodzi o sposób sterowania już samą grzałką, opcja z przekaźnikiem jest prosta, a zarazem rozwiązuje problem wartości prądu jaki przepływa przez grzałkę lub zespół grzałek.

_________________
SK Dobson 8", Delta Optical Voyager II 12x50

Projekty "Zrób to sam"


Góra
 Zobacz profil  
 
 Tytuł: Re: Arduino w Astronomii - Wstęp
PostNapisane: poniedziałek, 13 maja 2019, 15:24 
Offline
Moderator globalny
Moderator globalny
Avatar użytkownika

Dołączył(a): wtorek, 25 sierpnia 2009, 15:33
Posty: 5189
Lokalizacja: Katowice-Janów
Marek Substyk napisał(a):
Mam nadzieje, że znudzi mi się po 1 minucie.
Cele może mam mało ambitny, ale za to praktyczny.

Sterowanie grzałką z sposób całkowicie automatyczny.

Założenie.
1) dokonujemy pomiaru temperatury - https://allegro.pl/oferta/ds18b20-czujn ... 7595375924
2) dokonujemy pomiaru wilgotności - https://allegro.pl/oferta/modul-dht22-p ... 6578130536
3) obliczamy punkt rosy

Obrazek

gdzie:

td – temperatura punktu rosy [°C],
t – temperatura [°C],
H – wilgotność względna w %.

Szczegóły: https://pl.wikipedia.org/wiki/Temperatura_punktu_rosy

4) jeżeli td > t = uruchamiamy grzałkę, jeżeli td < t = wyłączamy grzałkę.

Należy jeszcze przemyśleć sposób przeniesienia tego do grzałki za pomocą np. przekaźnika, przeliczyć moc grzania, czyli kolejna zabawa :-)

5) wykonać całe urządzenie w miniaturowej wersji z Arduino (jakieś tam mini).
Ale po co Ci czujnik ds18b20? przecież dht22 mierzy i temperaturę i wilgotność :D

_________________
Moje Fotki
tel.512174124 , 511960672
gg: 11790876 e-mail: grzegorzczerneckiastro@interia.pl
TS APO 102/520 f5.1, EQ6R, QHY294M Pro, ZWO ASI 290 MM Mini, Canon EOS 550D.

------------------------------------------------------------
https://drive.google.com/file/d/18pMRcxQoFbOvi1dYEZwy3l8hyanneo3k/view?usp=sharing


Góra
 Zobacz profil  
 
 Tytuł: Re: Arduino w Astronomii - Wstęp
PostNapisane: poniedziałek, 13 maja 2019, 16:07 
Offline
Ranga: [3]
Avatar użytkownika

Dołączył(a): niedziela, 28 sierpnia 2011, 19:05
Posty: 338
Lokalizacja: Świętochłowice
Dokładnie DHT ma jedno i drugie. Dlatego w sterowniku nie widze sensu wrzucania DS-a. Dodatkowa biblioteka do obsługi tez by "zjadła" troche pamięci, a fajnie byłoby zmieścić sie w 8kB.

DS-a to do temperatury luster użyjemy i temperatury wody w basenie ;)

_________________
SK Dobson 8", Delta Optical Voyager II 12x50

Projekty "Zrób to sam"


Góra
 Zobacz profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku

Strefa czasowa: UTC + 2


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 16 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
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL