Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Elektronika dla Informatyka

15 lat temu pracowałem w firmie elektronicznej, która produkowała elektroniczne KITy do samodzielnego montażu. Od razu uprzedzam, że skrót ten nie jest akronimem słów „Kiepski i Tani”. Taki zestaw zawsze składał się z płytki drukowanej, elementów elektronicznych oraz instrukcji wraz ze schematami montażowymi i ideowymi. Złożenie zestawu sprowadzało się do odczytania wartości elementów oraz poprawnego obsadzenia ich na płytce drukowanej. Praktycznie wystarczała tylko lutownica, żeby można było cieszyć się własnoręcznie zbudowanym wzmacniaczem audio, termostatem, pilotem czy też bardziej wyszukanymi urządzeniami, jak np. zegar DCF.

KITy do dzisiaj cieszą się sporą popularnością zarówno wśród początkujących jak i zaawansowanych elektroników. Jednak prawdziwa zabawa zaczyna się w momencie połączenia elektroniki i programowania, czyli w chwili zaprzęgnięcia do pracy mikrokontrolerów. Nawet najprostsze mikrokontrolery oferują ogromne możliwości, przez co wielu początkujących elektroników czuje przed nimi respekt. Tak naprawdę, żeby zacząć przygodę z elektroniką XXI, nie musicie mieć ogromnej wiedzy z programowania i elektroniki, a to wszystko dzięki Arduino

Czym jest Arduino?

Jest to niezwykle popularna platforma prototypowa oparta na projekcie Open Hardware. Inaczej mówiąc, jest to platforma przeznaczona do szybkiego tworzenia urządzeń sterowanych przez mikrokontrolery.
Najprostszym rozwiązaniem jest zakup jednej z wersji Arduino (od podstawowych do mocno rozbudowanych) w oficjalnym sklepie

Arduino doczekało się wielu klonów, a chcąc oszczędzić parę złotych równie dobrze możemy pokusić się o zbudowanie własnego Arduino. Istnieje nawet wersja dla oszczędnych- „projekt Paperduino” czyli tekturowe Arduino.

Którą wersje Arduino wybrać?

Ja zdecydowałem się prawdopodobnie na najpopularniejszą wersję: Arduino UNO R3 (ATmega328, 32 kB pamięci Flash 2 kB pamięci RAM oraz 1kB pamięci EEPROM). Parametry może wyglądają mizernie w porównaniu do np. Raspberry Pi. Jednak porównywanie obu urządzeń nie ma sensu. Są to dwa różne urządzenia do różnych zastosowań.

Potęga Arduino w głównej mierze opiera się na modułach, shieldach i gotowych bibliotekach. To dzięki nim, niczym budowle z klocków LEGO, mogą powstać złożone konstrukcje. Jedynym ograniczeniem jest wyobraźnia i zasobność naszego portfela.

Przykładowe moduły:

Składamy zestaw startowy

Zdaję sobie sprawę, że skompletowanie całego zestawu od razu może być dużym wydatkiem. Jeżeli ktoś zdecyduje się jednak na zabawę z Arduino, a dodatkowo będzie chciał troszeczkę zaoszczędzić, to z czystym sumieniem polecam zakupy w Chinach.
Poniżej znajduję się moja lista zakupów:
  • Arduino UNO R3 Development Board + USB Cable 15,7 $
  • 3.3v 1602 Character LCD Blue 5 $
  • Arduino I2C RTC DS1307 AT24C32 Real Time Clock Module 1,8$
  • Channel 5V Relay Module 1,99 $
  • SD Card Module 1,85 $
  • DHT11 Temperature and Relative Humidity Sensor 3,96 $
  • Breadboard Power Supply Module 2,41 $
  • Breadboard 170 Tie-points 1,96 $
  • 2.54mm 15cm 40 WAY 1,81 $
  • 40 Way 30cm Flat Arduino Jumper 2,22 $

Cały zestaw kosztował mnie ok 40$ i jest on w zupełności wystarczający dla elektronika-amatora. Warto podkreślić, że nie potrzebujemy programatora, a środowisko programowania dostępne jest na licencji open-source.

Na początku tego roku Arduino z powodzeniem służyło mi jako sterownik oświetlenia i temperatury. Niby nic wielkiego- termostat, ale dorzucie do tego wyświetlacz LCD oraz zegar czasu i powstaje profesjonalny sterownik. W planach mam rozbudowanie sterownika o rejestrowanie danych dotyczących temperatury na karcie SD. A to wszystko bez lutowania, wystarczy połączyć ze sobą kilka modułów oraz dodać kilka linijek kodu w języku zbliżonym do języka C.

Na zakończenie kilka ciekawych projektów zbudowanych na platformie Arduino:

Od dłuższego czasu mam w planach zbudowanie uniwersalnego pilota, który będzie obsługiwany przez smartfona, ot taka tańsza wersja pilota Logitech Harmony 1100.

Powyższy tekst jest tylko wpisem testowym. Jestem ciekaw drodzy czytelnicy jak Wy się na to zapatrujecie i jakie macie zdanie na ten temat? Być może macie jakieś ciekawe pomysły, które mogłyby zostać zrealizowane wspólnymi siłami? 

inne

Komentarze

0 nowych
SweetDreams   9 #1 01.10.2013 00:56

"Parametry może wyglądają mizernie w porównaniu do np. Raspberry Pi. Jednak porównywanie obu urządzeń nie ma sensu. Są to dwa różne urządzenia do różnych zastosowań."
Bo są bardzo mizerne. Zamiast do Raspberry Pi mogłeś porównać chociażby do STM32F4DISCOVERY
http://botland.com.pl/stm32/445-stm32f4-discovery-stm32f4discovery.html
Za Arduino nigdy nie przepadałem (chociaż zdarzyło mi się złożyć kilka klonów - http://kml.jogger.pl/2010/01/03/bieduino-zrob-sobie-arduino-za-10zl/ ). Zdecydowanie bardziej wolę PIC18, które w ograniczonej ilości można dostać za darmo... ;]

foreste   14 #2 01.10.2013 04:15

No wkoncu mój ulubiony temat :) ja swoje arduino mam swojej konstrukcjo ;)
oto on
https://www.facebook.com/photo.php?fbid=612681895449428&set=pb.1000012286962...

https://www.facebook.com/photo.php?fbid=612681882116096&set=pb.1000012286962...
https://www.facebook.com/photo.php?fbid=612681885449429&set=pb.1000012286962...
troche kurzu było teraz oczyszczony ;)
Sercem ukladu jest Atmel atmega 644pA 2x uart232 (MAX232N I FTDI232)
LCD 2x16
Pilot zdalnego sterowania
8 led
fotorezystor
potecjometr
klawiatura matrix
buzer
kontroler silników krokowych
termometr :)
Arduino poznałem dzięki http://forum.atnel.pl i uzytkownikowi Sunriver i autorowi ksiązki Miroslaw kardas
http://botland.com.pl/ksiazki/1429-mikrokontrolery-avr-jezyk-c-podstawy-programo... ;).

KyRol   17 #3 01.10.2013 05:40

Co do różnic pomiędzy R-Pi a Arduino, to trzeba przede wszystkim uwzględnić fakt, że sercem tego pierwszego jest mikroprocesor, a tego drugiego mikrokontroler. Różnica jest przepastna - CPU daje ogrom możliwości jeśli chodzi o programowanie, niemniej mikrokontroler w przeciwieństwie do mikroprocesora w wyniku błędów tak często (jeśli w ogóle) się nie zawiesza. Jeśli ktoś sobie zdaje sprawę z obu powyższych cech, ten będzie po prostu umiał umiejętnie stosować adekwatne rozwiązania do konkretnych scenariuszy, dlatego przepychanki w komentarzach co jest lepsze mnie śmieszą.

dzikiwiepsz   11 #4 01.10.2013 08:30

Bardzo fajne i za razem ciekawe zabawki elektryczne, po za kasą trzeba pewnie mieć nie złe umiejętności.

dansys80   4 #5 01.10.2013 08:57

Kilka rzeczy dyskwalifikuje Raspberry Pi w opisanych tu zastosowaniach:
- Brak zabezpieczeń dla układu wejścia/wyjścia
- Raspberry Pi nie posiada ADC
- Raspberry PI ma tylko jeden pin PWM

Nie bez znaczenia jest też o wiele większe zużycie energii.

cyryllo   16 #6 01.10.2013 10:38

@dansys80 może i ma jedno złącze hardwerowe pwn, ale dzięki temu że ma CPU i Linuksa łatwo można dodać więcej pwn softowych http://picoboard.pl/dodatkowe-porty-pwm-w-raspberry-pi/

Sam zająłem się ostatnio elektroniką i buduję zarówno na Arduino jak i Raspberry Pi np.
http://picoboard.pl/spypibot/ oraz http://picoboard.pl/arduinobrum/

Zarówno Arduino i Raspberry Pi maja swoje plusy jak i minusy, Wybór jest zależny od tego co potrzebujemy zbudować. Ale moim zdaniem i tak arduino jest droższa platforma ze względu na potrzebę zakupu np. modułów komunikacji itp. ale to tez zależy od projektu i potrzeb :P

  #7 01.10.2013 14:13

Arduino jest fajne i łatwe do nauki. Rapsberry PI nie używałem, więc nie jestem w stanie porównać. Siłą Arduino, jest ilość różnych projektów dostępnych i programów oraz uniwersalność różnych modułów.

Jest niestety jeden problem jak z każdym zestawem. Jeżeli chcemy zrobić kilka niezależnych urządzeń, to koszty idą strasznie w górę. Dlatego zamiast się wiązać z konkretnym systemem, lepiej nauczyć się po prostu korzystać z mikrokontrolerów. Wtedy każdy projekt jest tani do granic możliwości.

Ja korzystałewm z wiedzy takich stron jak:
http://mikrokontrolery.blogspot.com/
http://mdiy.pl/
http://www.elektroda.pl/rtvforum/forum12.html

stasinek   10 #8 01.10.2013 14:51

"Od dłuższego czasu mam w planach zbudowanie uniwersalnego pilota, który będzie obsługiwany przez smartfona, ot taka tańsza wersja pilota Logitech Harmony 1100."
Masz na myśli urządzenie podpięte do smartfona czy bezprzewodowy odbiornik/pośrednik którym steruje smartfon?

Proste urządzenie - zamiennik pilota IR nazywa sie np. HP iPAQ 2210 rok produkcji ok 2004 cena od 50-100zł na allegro, ma wbudowane bardzo funkcjonalne oprogramowanie(nazwy nie pamiętam) ponad Windows Mobile 2003 które umożliwia metodami przeciągnij i upuść zaprojektować ekran sterowania dla poszczególnych urządzeń i nauczenia palmtopa polecenia - wystarczy przycisk learn i wycelowanie komendy w palma.
Palmtop jest wyposażony w IR o dużym zasięgu co go odróżnia od innych podobnych sprzętów czy telefonów - poprostu łapie z końca pokoju bez konieczności celowania ;)
Sprawdzone, miałem. Miałem również HP h6340 z gorszym nadajnikiem(jako telefon) a wspomniane 2210 był tandemem dla dziewczyny do samochodu wraz z telefonem hw6515
System można oprogramować w darmowym MS Visual C++ Embedded

Polecam sprawdzić przed budową bo kosztują niewiele a sądze że mocno ROZCZARUJĄ ;)
Idea w teori świetna w praktyce najlepszy jest pilot z guzikami.
Nie potrzeba cudów by stworzyć funkcjonalny pilot na bazie dostępnych tanich urządzeń.
Piloty radiowe X10 marki Medion jest ich od groma na allegro można obsługiwać dzięki genialnemu oprogramowaniu pana Sławomira Włodkowskiego - Zdalne Sterowanie w wersji 2.1.
Program jest modułowy tj składa się z serwera i klienta myśle że dałoby rade uzyskać info jaki protokół komunikuje te dwa elementy - a sądze że prosty oparty o ogólnodostępne berkeley socket (zostało przeportowane nawet na AVR zajmuje 2.5kB kodu)
a następnie napisać apkę która transferuje polecenia z PC/laptopa do rozsianych po domu odbiorników/przekaźników z nadajnikami IR sterującymi urządzeniami IR a zbudowanych na bazie Anduino(odbiornik WIFI ok 15zł jeśli dobrze pamiętam cene na allegro)
http://dariusz.wieckiewicz.org/2008/12/pilot-x10-i-windows-media-center-w-vista/...

To taka moja wizja jak najszybciej zrobić tego typu gaget w wersji 0.1a by zabrać się za zbudowanie czegoś co ostatecznie mogłoby być zbudowane z:
modułu głównego pośrednika - odbiornik bluetooth z protokołem łączącym się poprzez virtualny port com ze smartfonem oraz modułów pomocniczych tj. roszianch w różnych miejscach urządzeń sterująco odbiorczych. Mógłbyś za sprawą jednego projektu zbudować system zdalnego sterowania czymkolwiek - to wyłącznie zależy od wyobraźni.

Jeśli chodzi o Paspberry Pi vs Arduino - to pierwsze o wiele łatwiej skomunikować ze światem, natomiast to drugie ze względu na niewielki pobór mocy może być elementem wykonawczym, nic nie stoi na przeszkodzie tworzenia wielkich projektów na AVR, to tylko ogranicza wyobraźnia, ktoś kto będzie na starcie poszukiwał lepszej platformy..chyba powinien się zastanowić czy wogóle coś chce czy tylko wydać pieniądze, troche się pobawić i pochwalić
bo jeśli oprzeć się o standardowe biblioteki - przenieść C na ARM przecież nie jest jakimś strasznym problemem?

W Eclipse można całkiem nieźle obsługiwać oba projekty.
Świetna baza. Osobiście nie miałem do czynienia z Arduino ale mam kilka własnych projektów klocków sprzed lat powstałych na AT90S2013 które go bardzo przypominają - wykonane w jednowarstwowej technologii dmowej fotolitografii - projekt w Eagle/DipTrace- pokłosie zabawy w BASCOM(osobiście uważam że to lepsze niż Arduino) niestety darmowo ograniczone do 2kB
Bawilem sie też w WinAVR + symulator AVRStudio4
Darmowe też jest i polecam IAR Embedded Workbench(ograniczenie do 4kB dla 8bit i 32kB dla AVR32 i ARM) - środowisko osbługuje mase egzotycznych procesorów w stylu Renesas(używane w takich gagetach jak HUB USB 3.0 na ExpressCard w któy się musiałem zaopatrzyć)

Tak się składa tym Twoim wpisem że miniony weekend spędziłem na intenstywnym poszukiwaniu zamiennika dla WinAVR i powrotu do tych prac. Przy okazji intensywnym poszukiwaniu zamiennika dla C++ Builder 6 o czym móglby nawet powstać osobny wpis na blogu - z lidznymi bluzgami na wstawki assemblera w GCC ale to inna historia.
Generalnie jedyna która odstraszyła skutecznie od WinAVR, Eclipse i calego tego toolchaina od GNU

Wszytko co dobre kosztuje, to ma również zastosowanie w porówaniniu Raspberry i Arduino.
Dla informatyka tego początkującego i dojrzalego rzeczywiście Arduino to dobra metoda do zapoznania z programowaniem czegoś co ma rzeczywiste namacalne kształty ale dla informatyka - szybko się nudzące przez swoje spore ograniczenia. Natomiast dla początkującego elektronika - sposób na wejście i oswojenie ze światem informatyki, myśle że osoby które widok płytek PCB podnieca szybko zaczną konstruować własne klocki lub większe projekty a Arduino jest poprostu najtańszym zestawem startowym(a przecież jest i było ich od groma)
Więc z punktu widzenia informatyka Arduino...nie zachwyca aż tak bardzo jak Raspberry pi
Z punktu widzenia elektronika Raspberry nie zachwyca tak jak świat AVR.

Przynajmniej takie jest moje widzenie bo...mając Raspberry chciałoby się odrazu wykorzystać jego moc obliczeniową zdolności do komunikacji przeróżnymi protokołąmi sieciowymi usb itd. czytaniem kart, systemów plików...mając Arduino odrazu chciałoby się sterować portami...

  #9 01.10.2013 15:16

cyt. "Więc z punktu widzenia informatyka Arduino...nie zachwyca aż tak bardzo jak Raspberry pi
Z punktu widzenia elektronika Raspberry nie zachwyca tak jak świat AVR. "

Święte słowa! :-)

Każde z nich ma inne parametry i powinno być stosowane odpowiednio do swoich możliwości. To tak jakby wielką koparką robić babkę z piasku w piaskownicy wśród dzieci, lub małą łopatką Franka kopać fundamenty pod wieżowiec.

Shaki81 MODERATOR BLOGA  37 #10 01.10.2013 18:05

No to zapowiada się ciekawa seria przed nami. Mam nadzieje, że efekty swoich spraw będzie pokazywał na bieżąco.

arlid   14 #11 01.10.2013 18:35

Bardzo ciekawy i interesujący wpis. Jako, że nigdy nie zagłębiałem się w temat samodzielnej budowy jakiegoś urządzenia to o tym troszkę czytałem. Nie za wiele, jednak zawsze coś :) Jak rozumiem, moduły jak gdyby "wpinamy" bez jakiegoś lutowania, tak? Czy można za pomocą tych cudów zrobić sobie jakiś czujnik temperatury, który wyświetlałby temperaturę na zegarze? Albo jako cały moduł (czujnik i zegar to jeden element), albo jakoś w taki sposób, by to bezprzewodowo przesyłało dane. (wiem, że to więcej zabawy)? Dobrze myślę, ze coś takiego da się złożyć? Świetny wpis mordzio :D Będzie jakaś kolejna część? Może z jakichś Twoich prac na super projektem? :)

mordzio   14 #12 01.10.2013 18:47

arlid: Dokładnie, nie musisz niczego lutować. Łączysz ze sobą odpowiednie moduły np tak:
http://mikrokontroler.info/wp-content/uploads/2009/08/arduino-temp.jpg
Termometr? A czemu nie rozbudować tego o barometr (koszt ok 4$) do tego czujnik temperatury i wilgotności i masz przyzwoitą stację pogodową.

stasinek: Dzięki za sugestie, później poszukam na spokojnie informacji o HP iPAQ 2210

Alladynek   7 #13 01.10.2013 21:22

Jako osoba początkująca w tematyce mikrokontrolerów bardzo mnie zainteresowałeś swoim wpisem. Z uwagą będę śledził następne. Pozdrawiam

mikolaj_s   13 #14 01.10.2013 22:12

Do Arduino można podłączyć stary telefon z Androidem i mamy i wydajny procesor i bogate w w możliwy do obsługi sprzęt. Jedyny minus to trudniejsze oprogramowanie tego. Jest taki projekt cellbot.

dansys80   4 #15 01.10.2013 22:36

@stasinek
Twoje komentarze są genialne! Planujesz prowadzić bloga na DP?

Maniek_88   9 #17 02.10.2013 10:39

Widzę ze kilka osób tutaj wspomniało o STM32F4 Discovery, ja (w końcu) jutro mam obronę mgr, gdzie na dyplom wykonałem radio internetowe z użyciem STM32F4 Discovery i może w końcu będę mógł coś ciekawego napisać na blogu na ten temat.

Co do arduino, jego niezaprzeczalną zaletą jest ten jego dziwny jezyk programowania który dla kompletnych laików jest świetnym startem. Dlatego Adruino zdobywa popularność, ze nie zagłębiając się w szczegóły można w łatwy sposób zbudowac coś fajnego :)

dansys80   4 #18 02.10.2013 12:50

@Maniek_88
Czekam z niecierpliwością na Twoje wpisy, coraz bardziej nakręcam się na Arduino

Axles   16 #19 03.10.2013 08:42

Po chwilowej nieobecności tle wpisów na DP potworzyło się, że nie jestem w stanie wszystkich 'zahaczyć', ale gdybym ten wpis ominął to bym żałował (w sumie jeśli bym przegapił go to bym nie żałował, bo nie widziałabym o nim :) )
Bardzo mnie interesują takie "zabawki", ale jakoś ze względu na brak czasu/chęci/kasy nie miałem okazji się pobawić więc pozostaje mi czytanie, a seria bo liczę, że na tym się nie skończy byłaby wielce pożądana :)

arlid   14 #20 03.10.2013 20:03

@mordzio
To trzeba małymi kroczkami :P Swoją droga widziałem, ze można do tego napisać apkę np. w C# i mamy pełną aplikacje na desktopa odczytująca np. dane z sensorów :P Fajnie :)

  #21 28.04.2014 10:38

Bardzo ciekawe i skomplikowane

  #22 07.12.2014 19:53

Pilot uniwersalny, hmmm fajny pomysł.