Świetne jest oczywiście miganie diody LED i tym podobne, ale chciałem zrobić coś naprawdę mniej lub bardziej wartościowego, co można zastosować w życiu codziennym. Chyba najprostszą rzeczą jest włączanie i wyłączanie potężnych odbiorników prądu - żarówek, ve Wentylatory, pompy, magnetofony itp. W tym pomoże nam Relay-Shield. W internecie są gotowe rozwiązania, wiele schematów. Ale fajniej jest zrobić to samemu.

Tutaj. Teraz możesz zacząć lutować komponenty. Przede wszystkim zworki i drobne elementy (rezystory, montaż diod, tranzystory).

Najbardziej kłopotliwe jest plombowanie pinów złącza.... Ale jakoś mi się to udało :) Tak też można. Najważniejsze, że nie byłoby „smark”, „krótkich” i „nie lutowanych” :)
Oto kilka zdjęć gotowego produktu. Powiedzmy, że nie opcja wystawiennicza, ale nadal ...
Nawiasem mówiąc, diody SMD widoczne są od dołu, stojąc równolegle do uzwojeń przekaźnika. Transformator mocowany jest dwoma przewodami.

I prześlij szkic testowy:

/*
Test Home made przekaźnik Shield (Ghost D. 2012)
Korzystanie z cyfrowych pinów #7 i #8
*/

pusta konfiguracja()(
//
pinMode(7, WYJŚCIE);
pinMode(8, WYJŚCIE);
}

pusta pętla() (
digitalWrite(7, WYSOKA); // Włącz pierwszy przekaźnik
opóźnienie (2000); // czekamy
digitalWrite(8, WYSOKA); // Włącz drugi przekaźnik
opóźnienie (2000);
digitalWrite(8, LOW); // Wyłącz drugi przekaźnik
opóźnienie (2000);
digitalWrite(7, LOW); // wyłącz pierwszy przekaźnik
opóźnienie (2000); //
}

Nasza nowa tarcza klika przekaźniki. Voila!!!

PS W mojej wersji podczas testów transformator dość mocno się nagrzewa. Albo informacja była błędnie wskazana na zasilaczu (skąd ją pobrałem) (np. 300 mA), albo był z nią jakiś problem ...

Przez jakiś czas miałem Arduino Uno. A oto jest z tego pożytek. Zrobiłem wygodną osłonę do flashowania działających kontrolerów w różnych przypadkach. Teraz ta tablica debugowania jest aktywnie używana. Nakładka pozwala na flashowanie wielu kontrolerów firmy ATMEL, które na wiele sposobów są nadal popularne wśród majsterkowiczów. Tak więc, pod cięciem, wykonanie osłony do flashowania mikrokontrolerów Atmega8 (168/328), Attiny13 (45/85), zarówno w pakietach DIP, jak i QFP i SOIC, za pomocą adapterów.

Podałem link do podobnej płytki debugowania Arduini Uno, ponieważ nie pamiętam, skąd mam swoją. Mój szalik o oryginalnym kroju (oczywiście jest to kopia - bo zabrałem go w Chinach):




Właściwie na tej płycie było już sporo recenzji, więc przejdźmy od razu do tarczy.
Schemat tarczy jest dość prosty:


Kondensator C4 pozwala nie zrestartować samego Arduino Uno podczas oprogramowania, bez tego się dzieje i nie można go flashować. Schemat przedstawia dwa złącza do podłączenia sterowników w obudowach dip28 i dip8. W przypadku dip28 kwarc jest wyposażony w kondensatory C2 i C3. Płytka posiada również standardowe złącze ICSP do podłączenia np. własnych płyt i ich oprogramowania układowego. Jak w typowym zastosowaniu, pin 10 Arduino jest podłączony do RESETu sterowników programowalnych. Wnioski 11,12,13 reprezentujące ICSP są połączone z podobnymi na podłączonych mikrokontrolerach. Wtykowe kontrolery są zasilane i uziemiane przez Arduino Uno. Diody sygnalizacyjne są podłączone do pinów Arduino 7,8,9 poprzez rezystory ograniczające prąd 1KΩ. Nasz nakładka pozwoli na flashowanie popularnych kontrolerów: Atmega8 (168/328), Attiny13 (45/85), zarówno w pakietach DIP jak i w QFP i SOIC za pomocą przejściówek.

Sukienka wygląda tak:




Zainteresowani mogą pobrać w formacie Sprint Layout. Można również pobrać gotowe na zamówienie w Chinach (lub produkcji lokalnej).

Płytka pokazuje dwie wersje otworów na dip28 w wąskim i szerokim opakowaniu, odbywa się to w celu podłączenia przejściówki QFP32 do DIP28, którą recenzowałem. Dodatkowo, jeśli wlutujesz złącze do wąskiej wersji kontrolera, możesz wlutować linie pinów w otwory dla szerokiej wersji i od razu przetestować oprogramowanie kontrolera. Do dip8 przewidziałem również oprócz adaptera otwory na piny. Istnieją również dwie wersje złączy ICSP - szerokie (10 pinów) i wąskie (6 pinów), dobrze i wszystkie inne szczegóły, które są obecne na schemacie. Użyłem diod SMD 1206, rezystorów i kondensatorów (22pF) Diody rozłożyłem następująco: Zielony - READY, Czerwony - ERROR, Żółty - PROG. Dostarczyłem również piny do dodatkowego zasilania i masy, co może być wymagane podczas testowania kontrolera do flashowania.

Zamówiłem tablice, najprawdopodobniej zrobiłbym je z LUT, ale ta usługa umożliwia panelizację, a właśnie znalazłem odpowiednie miejsce na tablicy w zamówieniu i nie było szczególnego pośpiechu. Tablica fabryczna nadal wygląda znacznie lepiej. Tak wyglądają:




Lutujemy części, zrobiłem 2 wersje, na szeroki dip28:




Tutaj nie lutowałem pinów i złączy, ponieważ planuję wykorzystać tę płytkę do flashowania sterowników za pomocą przejściówek w pakietach SOIC i QFP.
Dla wąskiego zanurzenia28:




Jak widać na zdjęciu, użyłem złączy tulejkowych do podłączenia mikroukładów w obudowach zanurzeniowych, bardziej mi się podobają.
Adapter QFP32 na DIP28 do podłączenia do szerokiej wersji nakładki:


Pasuje świetnie:


Cała kanapka, w tym Arduino Uno:




Dla wersji wąskiej z włożonym kontrolerem ATtiny85:


Do flashowania kontrolerów w pakiecie SOIC8 używam również przejściówki:

Aby nasz projekt stał się programistą, należy wgrać firmware ArduinoISP, który jest dostarczany w dowolnej wersji, do Arduino Uno bez osłony:

Dzięki takiej osłonie bardzo wygodne i szybkie stało się flashowanie i testowanie kontrolerów w różnych przypadkach bez obawy zerwania połączeń, jak tutaj:


Przykład pobrania programu do migania diody za pomocą nakładki i sprawdzenia jej działania na miejscu:


Na tym kończę. Dziękuję wszystkim, którzy przeczytali do końca! Mam nadzieję, że podane informacje przydadzą się komuś. Wszystko z dziwnym świętem: Stary Nowy Rok! planuję kupić +22 Dodaj do ulubionych Podobała mi się recenzja +81 +123

01 02.2017

Tarcze Arduino są pełne różnorodności i funkcjonalności. Dodatkowe płytki rozszerzają możliwości głównego kontrolera. Tablice te umożliwiają udostępnianie funkcji, które są potrzebne do określonych zadań w określonych projektach. Na rynku jest ich mnóstwo. Przyjrzyjmy się najpopularniejszym i najciekawszym modułom dla praktyczne zastosowania w rozwoju urządzeń.

Z tego artykułu dowiesz się:

Pozdrowienia drogi gościu! Nazywam się Gridin Siemion, jestem autorką bloga kip-world, możesz o mnie poczytać. Rynek jest pełen różnorodności różne tablice, w tym klony. Dziś w tym artykule podkreśliłem moduły, które moim zdaniem są najważniejsze i cieszą się największym zainteresowaniem. W kolejnych artykułach opiszę ich główne funkcje i pracę z nimi. Stosunkowo podzieliłem tarcze na kilka grup:

  1. Komunikacja;
  2. Moc;
  3. Czujniki-czujniki;
  4. modemy;
  5. Specjalny.

Komunikacja moduły pozwalają na dostarczenie różne drogi komunikacja między urządzeniami, zarówno przewodowa, jak i bezprzewodowa. Tablice rozszerzają zarówno funkcjonalność w szczególności, jak i system jako całość. Ta grupa obejmuje różne WI-FI, Ethernet, różne interfejsy, tworzące elastyczność systemu.

Moc moduły - sterowniki silników, sterowniki krokowe, serwonapędy. Ekrany przekaźników i tranzystorów można również przypisać mocowym.

System widzi, słyszy i czuje tylko na wylot czujniki. Jest ich wystarczająco dużo. Wśród dużej liczby czujników są egzotyki - czujnik dymu, czujnik wilgotności gleby, czujnik podczerwieni. A dzięki twórcom Arduino cena jest bardzo demokratyczna. Ponieważ pracuję w dziedzinie automatyki, te same czujniki będą kosztować 200-300 razy więcej.

Do grupy modemy Wziąłem modemy GPRS. Działają z połączeniem GSM. Moduły pełnią bardzo specyficzną funkcję - zbieranie danych, wysyłanie SMS-ów, odbieranie połączeń.

Kategoria specjalny są takie, które są trudne do zidentyfikowania w jakiejkolwiek grupie. Deweloperzy produkują mnóstwo przeróżnych adapterów, pilotów, panele dotykowe, wskaźniki LCD. Specjalny Klucz RFID można również zaliczyć do tej grupy.

Jeśli czegoś brakuje na liście, napisz w komentarzach, uzupełnię. Tym, którzy kontaktują się z Arduino po raz pierwszy, proponuję poczytać. A teraz opowiem o 5 modułach, z którymi chciałbym się przede wszystkim zapoznać, a Wam je oferuję!!

Moduł internetowy Osłona Ethernet W5100

Pierwszą rzeczą, na którą zwrócę uwagę, jest osłona Ethernet W5100. Moduł adaptera internetowego do wyświetlania tzw. „wizualizacji” w przeglądarce. Idealny do systemu inteligentnego domu, stacji pogodowej, dyspozytorni (jeśli potrzebujesz monitorować parametry fizyczne). Istnieje możliwość wykorzystania technologie chmurowe.

Opis modułu:

  • Obsługa protokołu TCP/IP
  • gniazdo kart microSD
  • Poziom napięcia 3,3/5V
  • Kompatybilny z płytami Arduino UNO i MEGA
  • Poziomy systemu: UDP, TCP, IPv4, ARP, MAC

Modem GPRS Osłona GSM SIM900

Kolejną płytą rozszerzeń na liście jest nakładka GSM SIM900.Jeśli urządzenie jest daleko od Ciebie i potrzebujesz połączenie bezprzewodowe, to technologia Komunikacja GSM Dla Was. Istnieje możliwość wysłania SMS-a w przypadku wypadku lub jakiegoś zdarzenia. Może być stosowany np. w szklarni do okresowej kontroli temperatury i wilgotności.

Specyfikacja karty rozszerzeń:

  • Montaż oparty na chipie SIM900
  • Częstotliwość pracy GSM 850/900/1800/1900 MHz
  • Zarządzanie za pomocą komend AT
  • wbudowany protokół TCP/UDP
  • możliwość podłączenia głośnika i słuchawek, możliwe jest wysyłanie sygnałów DTMF i odtwarzanie nagrań jak na automatycznej sekretarce
  • Uchwyt karty SIM i antena GSM
  • 12 GPIO (wejście/wyjście ogólnego przeznaczenia), 2 PWM (modulacja szerokości impulsu) i ADC (przetwornik analogowo-cyfrowy)

Istnieją również drogie analogi do poważniejszych i bardziej niezawodnych systemów. Ostatnio napisałem program do interakcji modemu PM-01 GPRS i PLC100. W razie wypadku urządzenie wysyła SMS na numer odbiorcy.


Moduł WIFI ESP8266

Innym sposobem bezprzewodowego przesyłania informacji jest transmisja WI-FI. W takim przypadku jest mały moduł WI-FI ESP 8266. Sposób podłączenia i zasadę działania rozważymy później. Wygląda tak.

Opis modułu:

  • Interfejs bezprzewodowy: Wi-Fi 802.11 b/g/n 2,4 GHz
  • Tryby: P2P (klient), soft-AP (punkt dostępu)
  • Maksymalna moc wyjściowa: 19,5 dB mW (89 mW)
  • Napięcie znamionowe: 3,3 V
  • Wolne porty we/wy: 2
  • Częstotliwość procesora: 80 MHz

Kierowca motocyklu L293D

Do sterowania różnymi samochodami i czołgami na silnikach prąd stały wykorzystywany jest głównie sterownik silnika L293D.Istnieje kilka możliwości podłączenia - zarówno dla silników krokowych, jak i serw. Wszystko zależy od programu, który napiszesz. Napisz w komentarzach, jak używasz dany kierowca? W niedalekiej przyszłości chcę kupić to urządzenie, bardzo ciekawe jest złożenie robota na kółkach. Tak, przy okazji, oto on:

Jego cechy:

  • Kompatybilny z Arduino Mega 1280 i 2560, UNO, Duemilanove, Diecimila
  • Sterowanie 4 kanałami
  • zasilanie silnika od 4,5V do 36V
  • dopuszczalny prąd obciążenia 600mA na kanał, prąd szczytowy - 1,2A
  • ochrona przed przegrzaniem
  • 2 interfejsy z dokładnym zegarem Arduino (nie będzie „jittera”) do podłączenia serw do napięcia 5V, jeśli potrzebne jest wyższe napięcie zasilania, należy podłączyć zasilanie jak opisano poniżej
  • możliwe jest jednoczesne sterowanie 4 dwukierunkowymi silnikami szczotkowymi DC lub 2 silnikami krokowymi i 2 serwomotorami
  • złącze do podłączenia zewnętrznego źródła do oddzielnego zasilania logiki sterowania i silników

Moduł interfejsu RS-485

Dla mnie osobiście to też jest ciekawe - RS485 Shield. Czemu? Interfejs RS-485 to przemysłowa skrętka dwużyłowa do łączenia różnych modułów przemysłowych. Magistrala współpracuje z protokołem ModBUS RTU i ModBUS ASCII. Zastanawiam się tylko, jak Arduino będzie współdziałać z innymi urządzeniami za pośrednictwem interfejsu.

Charakterystyka modułu:

  • Zasilanie 5,0 V
  • 16 cyfrowych portów I/O (w tym interfejs I2C)
  • 6 analogowych portów we/wy
  • Przełącz na tryb programowania
  • Przełącznik trybu automatycznego/ręcznego nadajnika-odbiornika
  • Standardowy interfejs RS485, mini interfejs RS485 (PH2.0) i piny RS485

No i tyle, z tymi modułami chciałbym pracować najbardziej. Co możesz zaproponować? Co można dodać do listy? Napisz w komentarzach...

W następnym artykule opowiem Ci jak możesz połączyć się z Arduino, nie przegap tego, będzie ciekawie... Zapisz się do aktualizacji!

Z poważaniem Gridin Siemion.

Tarcza to dodatkowa tablica. Proponuję podzielić osłony na pełnowymiarowe i samodzielne moduły. Pełnowymiarowe pasują do kształtu płytki Arduino, niezależnie od tego, czy jest to UNO, Nano czy MEGA. Poszczególne moduły to tablice o dowolnym kształcie przeznaczone do wykonywania określonego zestawu funkcji. Oba mogą być zarówno uniwersalne, jak i do wykonywania wąsko skoncentrowanych zadań.

W sklepach można znaleźć wiele różnych tarcz, a z pewnymi kwalifikacjami możesz sam się rozmnażać płytka drukowana, w kształcie i ułożeniu wniosków powtarzających arduino i zmontuj swój własny niepowtarzalny. Na zdjęciu z kompletem tarcz.

Zacznijmy od osłony, która nie pełni żadnych specjalnych funkcji, ale została stworzona z myślą o wygodzie montażu Twoich projektów. Tak więc pierwszy w naszej recenzji ułatwi instalację projektów z płytką Arduino Nano, chociaż mały rozmiar „NANO” w tym przypadku nie przyda się.

Na płytce znajduje się złącze do podłączenia wtyczki z zasilacza, stabilizator napięcia, a także listwy zaciskowe. Są podpisane i odpowiadają wnioskom Nanki. Ponadto znajduje się przycisk „reset” i dioda LED „Power”.

Druga tarcza jest przeznaczona dla planszy Uno. Zawiera płytkę stykową bez lutowania do złożenia projektu i wnioski powielające te na samym arduino - wygodne rozwiązanie.

Każdy czujnik analogowy potrzebuje zasilania i styku ujemnego, gdy jest ich dużo - jest tak wiele zworek, że bardzo trudno będzie rozgryźć obwód. Dlatego projektanci wymyślili osłony dla takich rozwiązań. Wyświetlane są w nich wszystkie wejścia i wyjścia, a styki zasilania są zduplikowane i umieszczone obok siebie.

Oto przykład takiej płytki dla wersji Arduino Mega.

Przewodowe i bezprzewodowe

Za pomocą tych płytek można zarządzać mikrokontrolerem przez sieć, na przykład za pomocą kabla Ethernet lub bezprzewodowo za pośrednictwem połączenia GSM, wkładając kartę SIM.

Ta płyta nazywa się w5100 - zawiera moduł Ethernet i moduł czytnika kart SD. Oznacza to, że możesz przechowywać dane, takie jak dziennik pomiarów czujników na karcie pamięci i sterować systemem za pośrednictwem interfejsu internetowego. Aby podłączyć do niego arduino, skorzystaj z bibliotek:

    biblioteka Ethernet;

Zwróć uwagę na zewnątrz, powtarza koncepcję Arduino UNO R3, dodatkowo będzie pasować do Mega.

Jeśli W5100 wydaje się dla Ciebie za duży, to ENC28J60 zajmie mniej miejsca. Niestety nie ma już modułu SD.

Minusem jest to, że nie można go zamontować na płytce, ale jest wykonany jako osobny moduł.

W5500 to kolejna opcja osłony Ethernet. W swej istocie jest to zmodyfikowana wersja W5100, zoptymalizowana pod względem szybkości i efektywności energetycznej.

Należy pamiętać, że na pełnowymiarowych ekranach wszystkie styki są zduplikowane przez blok zacisków. Niestety tarcze wykorzystują porty. Ten konkretny wykorzystuje MOSI, MISO, SCK i pin 10 dla sygnału CS (Communication Destination Select).

Jeśli potrzebujesz połączenia bezprzewodowego to wybierasz osłony Wi-fi, jeśli masz połączenie z Internetem i router, a jeśli go nie masz to moduły GSM lub GPRS Shield.

Na zdjęciu oficjalna tarcza. Posiada slot na kartę pamięci Micro SD oraz komunikuje się z mikrokontrolerem poprzez protokoły SPI, można go aktualizować przez Mini-USB oprogramowanie. Obsługuje 802.11b/g.

Powyżej widać tarczę GPRS z Amperki. Możesz wymienić antenę na mocniejszą. Bliżej widza jest gniazdo na kartę SIM, nieco dalej gniazdo na baterię CR1225. Bateria na płycie jest potrzebna do gorącego zegara czasu rzeczywistego i jest to ważny dodatek do możliwości osłony GPRS. Możesz wysyłać do niego i z niego SMS-y.

Dzięki tej płytce możesz sterować i wydawać polecenia (lub dowolny inny projekt swojej implementacji) z dowolnej odległości. Ważne jest, abyś znajdował się w zasięgu sieci komórkowej.


Jak przechowywać dane na Arduino?

W projektach nie wszystkie informacje są umieszczane w pamięci mikrokontrolera. Czasami trzeba przechowywać pewną ilość informacji. Pierwsza rzecz, jaka przychodzi mi do głowy, została już powiedziana – jest to rejestracja informacji z czujników w celu dalszego badania, jak zmienia się środowisko na przestrzeni godzin, dni, lat. Świetnym przykładem jest domowa stacja pogodowa. Przydaje się nie tylko naukowcom badawczym, ale także amatorom w edukacji ogólnej i rozwoju.

To nie tarcza, ale moduł. Nawiasem mówiąc, jest miniaturowy i łatwy do powtórzenia, oto jego schemat.

Dostępna jest również pełnowymiarowa tarcza do przechowywania danych. Współpracuje z kartami pamięci SD, na pokładzie znajduje się moduł zegara czasu rzeczywistego, zasilany baterią 3V CR1220, co jest miłym dodatkiem.

Sterujemy potężnym obciążeniem z mikrokontrolera

Pierwszą rzeczą, jaka przychodzi mi do głowy, jest przekaźnik. Za ich pomocą możesz przełączać oba obwody prądu stałego i z hukiem poradzą sobie z domową siecią elektryczną o napięciu 220 woltów.

W szczególności moduł pokazany poniżej może przełączać obciążenie 1 kW 220 V (lub 5 A) dla każdego z kanałów, aby zwiększyć moc, można albo równolegle kilka kanałów, albo włączyć ten przekaźnik. W tym przypadku przekaźniki z ekranu będą pełnić rolę wzmacniaczy pośrednich.

Oczywiście można przełączyć przekaźnik tak, jak opisałem w artykule przez tranzystor i trzeba dobrać przekaźnik do prądu, ale użycie gotowej płytki będzie bardziej niezawodne, wygodniejsze i lepiej wygląda.

Przekaźnik ma jedną wadę - Limitowana ilość operacje - jest to konsekwencja wypalenia kontaktów. Dzieje się tak z powodu wystąpienia łuku, gdy otwiera się potężne obciążenie (zwłaszcza o charakterze indukcyjnym - jest to silnik itp.). Możesz zrobić taką tarczę w następujący sposób:

A oto jak wygląda zmontowany:

Wiersz, aby włączyć ładunek prąd przemienny można stosować tyrystory i triaki. Jednym problemem jest to, że nie można ich podłączyć bezpośrednio do arduino, jeśli zepsuje się złącze pn elektrody sterującej, 220 V może być na płytce mikrokontrolera i spalić. Wyjściem z tej sytuacji jest użycie optosimistora.

Ponieważ to zadanie często staje przed wynalazcami, opracowano gotowe rozwiązanie - nakładkę na triak, jej pełna nazwa to ICStation 8 Channel EL Escudo Dos Shield dla Arduino. Pierwotnie był przeznaczony do kontrolowania blasku „elastycznego neonu”.

Posiada 8 kanałów, do których podłączona jest sieć AC i obciążenie.

Osłony do silników

Prowadzenie silnika elektrycznego nie zawsze jest łatwym procesem. W niektórych sytuacjach możesz nie mieć wystarczającej liczby pinów do wykonania zadania lub algorytm sterowania jest dość skomplikowany. Dzięki takim tablicom znacznie szybciej pokonasz swój projekt robota.

Motor-SHIELD dla arduino może sterować silnikami prądu stałego (4 sztuki) lub dwoma silnikami krokowymi.

Jest zbudowany na bazie dwóch L293. Ten mikroukład jest zespołem dwóch mostków H, co pozwala na sterowanie z możliwością odwrócenia dwóch silników prądu stałego lub 1-stopniowego silnika bipolarnego. Schematy połączeń odpowiednio:

A po lewej górny róg Na płytce znajdują się dwa pady pod serwa (plus, minus i sygnał sterujący). Czerwone kółko oznacza miejsce, w którym zainstalowano zworkę. Jeśli tak, to ta płyta jest zasilana z płyty bazowej arduino, a jeśli nie, z zewnętrznego źródła 5 V.

Z tym modułem od producent krajowy można sterować dwoma silnikami prądu stałego, ma też zworkę, która łączy linie zasilające mikrokontrolera lub je rozłącza - dla zasilania z osobnego źródła.

Możesz sterować silnikami zaprojektowanymi dla zakresu napięcia od 5 do 24 woltów. Zamiast 2 silników prądu stałego można zastosować 1 silnik krokowy jednofazowy lub równolegle do kanałów i podłączyć 1 mocny silnik prądu stałego o prądzie do 4A, a to niemało - 48 W przy napięciu zasilania 24 V.

Do podłączenia serwa potrzebne są trzy przewody - plus, minus i sygnał, ale co jeśli masz dużo serw? Twoja deska zamieni się w bałagan swetrów. Aby tego uniknąć, istnieje osłona Multiservo.

Tutaj również istnieje możliwość rozdzielenia obwodów zasilających, jak miało to miejsce w poprzedniej wersji. Łącznie można podłączyć 18 serw (ponumerowane na płycie od 0 do 17).

Wszędzie ma swoją specyfikę, tarcze do nietypowych zadań...

Atmega328, serce naszej płyty, ma ADC. Główny problem polega na tym, że na płytce arduino uno widzimy tylko 6 wejść analogowych. Co jeśli będziemy mieli więcej czujników analogowych?

Możesz połączyć dwa arduino w jedną sieć. Używaj jednego jako głównego, a drugiego pomocniczego do zmian, a od pierwszego wysyłaj sygnały pomiarowe do serwera lub wyświetlaj je na ekranie ... Ale to jest trudne: trzeba marnować pamięć na dodatkowe linie kod programu wdrożyć taki system.

Co jeśli pomnożymy każde wejście przez 16? W sumie możemy mieć do 16*6=96 wejść analogowych. To jest prawdziwe z multiplekserem. Po prostu zmienia się z kolei 16 kanały analogowe do jednego wyjścia analogowego, które można podłączyć do tego samego wejścia dowolnego sterownika światowego.

Za pomocą mikrokontrolera Atmega bardzo trudno uwolnić funkcję rozpoznawania głosu, ale arduiniści nie muszą rozpaczać, istnieje specjalne rozwiązanie - EasyVR Shield 3.0.

To gotowe, ale drogie rozwiązanie, w chwili pisania tego artykułu kosztuje w Rosji prawie 100 dolarów. Najpierw tarcza zapisze twoje polecenie, a następnie porówna je z tym, co jest zapisane w pamięci, określając liczbę - wykona ją.

Można umówić się na „dialog z komputerem”, może on odtworzyć to, co jest w nim zapisane. Bez dodatkowych wzmacniaczy zaleca się „komunikować się” z tą płytką z odległości nie większej niż 60 cm.

Wyświetlanie obrazu

Osłona klawiatury LCD to prawdziwy panel sterowania. Zawiera wyświetlacz LCD1602 (16 znaków w dwóch wierszach) oraz zestaw przycisków. Z ich powodu zaangażowanych jest całkiem sporo portów, na przykład A0 i D4 do D7 dla klawiatury, a port D10 to kontrola jasności podświetlenia PWM. D8 i D9 - zresetuj i włącz.

W rzeczywistości istnieje wiele wyświetlaczy kompatybilnych z arduino. A raczej te, o których napisano najwięcej informacji i które możesz łatwo uruchomić w swoim systemie. Wyświetlacz z NOKII 5110 jest dość popularny w kręgach DIY, są zarówno ekrany OLED, jak i TFT, które działają przez I2C. Ale nie są w wersji „tarcza”.

Zasilanie autonomiczne

Całkiem niezwykła tarcza w tej kolekcji, która wykonuje zwykłe zadanie. Osłona zasilania - jest to ze wszystkimi niezbędnymi zabezpieczeniami i złączem ładowania. Nie brzmi to dużo, ale nada Twojemu projektowi skończony wygląd, a obwody zasilające nie będą musiały być umieszczone obok płyt głównych.

Wniosek

Używanie osłon do wszystkich zadań projektowych pozwoli uniknąć niepotrzebnych zworek i połączeń, a to zmniejszy liczbę błędów i niepotrzebnych zworek. Po montażu otrzymasz wielopiętrową prefabrykowaną kanapkę z płyty. Takie podejście jest czasami określane jako „projektowanie modułowe”. Ułatwi to między innymi konserwację, naprawę i regulację sprzętu.

Entuzjaści ćwiczą projektowanie, okablowanie i montaż unikalnych modułów. To jeden z powodów dużej popularności Arduino nie tylko jako platformy do majsterkowania, układów i prototypów, ale również jako platformy dla gotowych rozwiązań.

Arduino to niewielka płytka o świetnych funkcjach, typowy przedstawiciel Open Hardware i jedno z pierwszych urządzeń, które zyskały dużą popularność wśród hakerów sprzętowych. Nic dziwnego: wygodny projektant elektroniki pozwala nawet początkującym szybko to rozgryźć i zacząć tworzyć własne urządzenia od podstaw.

Jak szybko zacząć?

Na szybki start najłatwiejszym sposobem dla początkującego jest zakup gotowej deski – kosztuje około 30$. Na planszy będą tylko dwa żetony - Mikrokontroler ATMEL oraz układ interfejsu USB, do którego jest podłączony. Wszystkie inne elementy są dodawane niezależnie w razie potrzeby.

Programy Arduino (zwane w slangu „szkicami”) są napisane w języku Wiring. W rzeczywistości jest to zwykły C++, rozszerzony o specjalne procedury, takie jak „digitalWrite” (zapis wartości do portu) lub „analogRead” (odczyt wartości z ADC). Wszystko to jest opanowane w ciągu jednego lub dwóch posiedzeń, zwłaszcza jeśli masz już doświadczenie w programowaniu C++. Napisane szkice są kompilowane i przesyłane do Arduino przez USB za pomocą ArduinoIDE (arduino.cc/en/Main/Software). Złożenie najprostszego projektu zajmuje około trzydziestu minut, bez konieczności zagłębiania się w arkusze danych ATMEL i konstrukcje asemblera. Język jest intuicyjny, a dobra pomoc online pomoże ci uporać się z niuansami. Nawiasem mówiąc, lutowanie jest również opcjonalne, jeśli jest płytka stykowa bez lutowania i zestaw przewodów.

Wszystkie piny mikrokontrolera są poprowadzone do dwóch zgrabnych rzędów padów, do których można podłączyć czujniki, przyciski, wyświetlacze i tym podobne. Jednak im bardziej złożona uprząż, tym więcej może być z nią hemoroidów. Jeśli mówimy o parze diod i przycisków, to żadnych trudności. Ale jeśli chcesz sterować silnikami lub wymieniać dane przez interfejs radiowy, pojawia się szereg trudności. Aby zwalczyć tę wadę, wymyślili tablice tarczowe - gotowe tablice rozszerzające funkcjonalność.

Co to jest tablica tarczy?

Płyta tarczy to gotowe rozwiązanie do realizacji typowych zadań, przed którymi stoją twórcy sprzętu. Przykładami takich zadań może być transmisja danych przez interfejs radiowy oraz praca z siecią Ethernet i sterowanie silnikami elektronicznymi. Karty rozszerzeń są łatwe do zainstalowania na Arduino, dokując za pomocą bloków pinowych i tworząc bardzo sztywną strukturę warstwową.

Możesz zainstalować kilka płytek jednocześnie, najważniejsze jest to, aby urządzenia nie kolidowały ze sobą dla tych samych pinów Arduino. Przy odrobinie grzebania w sieci można znaleźć tabele z listą popularnych tarcz i pinów, które zajmują (shieldlist.org).

Potem pozostaje już tylko podpiąć odpowiednią bibliotekę do głównego szkicu i wypróbować działanie obwodu na przykładowym szkicu dołączonym do biblioteki. Dzięki takiemu podejściu oszczędza się czas dwukrotnie: najpierw na rozwój i debugowanie sprzętu, a następnie na oprogramowanie. Istnieje jednak tylko kilkadziesiąt naprawdę udanych i popularnych tablic osłonowych. Czym różni się dobra tarcza od złej?

Przede wszystkim musi mieć przycisk resetowania. Każdy, kto debugował Arduino z włączoną tarczą, może to docenić - standardowy przycisk resetowania staje się niedostępny, a ćwiczenia jego wciskania przy pomocy podłużnych obiektów są irytujące. Dobry nakładka powinna być również kompatybilna z Arduino Mega - jeśli masz rozszerzoną wersję Arduino na ATmega1280 lub ATmega2560, nie ma pewności, że nakładka wykonana dla znanego Uno lub Duemilanova będzie z nim współpracować. A wszystko przez to, że w Mega piny odpowiedzialne za sprzętowe SPI zostały przeniesione w inne miejsce! Jeśli więc nakładka komunikuje się z Arduino przez magistralę SPI, koniecznie przyjrzyj się jej „brzuchowi” - możesz liczyć na kompatybilność z Mega, jeśli zobaczysz tam nie tylko piny, ale także czarne kwadratowe złącze żeńskie 2x3. Poniżej przygotowałem przegląd najlepszych gotowych płyt Shield do typowych zadań.

Kontrola silnika

Jeśli potrzebujesz sterować silnikami, możesz użyć osłony Motorshield, stworzonej przez utalentowanego amerykańskiego inżyniera Limora Freeda aka ladyada (ladyada.net/make/mshield/).

Główną zaletą osłony jest jej wszechstronność, ponieważ obsługuje do czterech silników prądu stałego, do dwóch silników krokowych i dwóch serwomechanizmów. Można łączyć: na przykład jeden silnik krokowy i dwa silniki prądu stałego. Podstawę ekranu stanowią dwa mikroukłady z czterema mostkami L293D, zdolne do dostarczania prądu do 600 mA na kanał i napięcia roboczego od 4,5 do 36 V. Łącząc wejścia jednego mikroukładu równolegle, można przesunąć ograniczenie prądu do 1.2A.

Dzięki tej osłonie możesz np. jednocześnie sterować silnikami i drążkiem kierowniczym modelu samochodu wyścigowego, silniki krokowe tabela współrzędnych. W przypadku większych obciążeń możesz użyć Ardumoto z chipem L298 firmy Sparkfun (dwa kanały z prądami obciążenia do 2 A) lub jego bardziej zaawansowaną wersją Monster Moto Shield (sparkfun.com/products/10182) na dwóch chipach VNH2SP30, zdolnych dostarczania do 30 A z limitem napięcia 41 V. Jeśli chodzi o Ostatnia wersja, nie zapomnij skonsultować się z doświadczonymi specjalistami: w końcu obciążenia są całkiem przyzwoite, być może będziesz musiał zaopatrzyć się w dodatkowy grzejnik, aby się nie poparzyć.

Praca z Ethernetem

Istnieją dwie główne opcje ekranów Ethernet - oparte na starym dobrym układzie ENC28J60 firmy Microchip i bardziej zaawansowanym W5100 firmy Wiznet. Oba rozwiązania wykorzystują do komunikacji magistralę SPI, zabierając tylko cztery piny Arduino. Ale ENC28J60 pojawił się znacznie wcześniej i wyraźnie przegrywa z zaawansowanym W5100: tylko 10 Mb/s, brak wsparcia sprzętowego dla IP, UDP, TCP. Dodatkowo W5100 pozwala na pracę z czterema gniazdami (co oznacza obsługę do czterech jednoczesnych połączeń).

Generalnie zdecydowanie polecam korzystanie z W5100, ponieważ znacznie oszczędza on kluczowy zasób mikrokontrolera - pamięć RAM (SRAM), którą trzeba oszczędzać (Atmega328 ma tylko jeden kilobajt). Cóż, wszystkie inne zalety przetwarzania wstępnego są oczywiste: podczas gdy sam W5100 prosi o pakiety za pośrednictwem protokołu TCP i oblicza sumy kontrolne nagłówków, Atmega może bezpiecznie robić ważniejsze rzeczy.

Innym przykładowym przykładem jest Arduino Ethernet Shield (arduino.cc/en/Main/ArduinoEthernetShield) od zespołu Arduino. Dzięki niemu możesz stworzyć szkic, który będzie mógł:

  • uzyskać dynamiczny adres IP przez DHCP;
  • ustawić czas za pomocą protokołu NTP;
  • rozwiązywać nazwy przez DNS;
  • przekazać autoryzację przez RADIUS;
  • działać jako prosty serwer sieci Web lub działać jako klient sieci Web, wysyłając żądania i analizując odpowiedzi.

Z podobnych płyt można zauważyć rozwój Freetronics - EthernetShield z PoE (freetronics.com/products/ethernet-shieldwithpoe). Pomysł zasilania urządzenia Ethernet z tej samej linii Ethernet, do której jest podłączone, narodził się w 2001 roku, a dwa lata później stał się oficjalnym standardem branżowym IEEE 802.3af. Z własnego doświadczenia zauważam, że nie ma nic wygodniejszego do zasilania autonomicznych skrzynek, które komunikują się przez Ethernet i są rozrzucone po budynku w promieniu 100 metrów od specjalnego wyłącznika zasilania. Taki nakładka kosztuje trochę więcej, wymaga zakupu dodatkowej mikrokarty modułu PoE, a zamiast złącza SD ma pole płytki stykowej.

Zastosowanie takiej osłony dotyczy wyłącznie struktur stałych, które wymagają interakcji przez sieć TCP/IP. Na przykład wyświetlanie stanu podłączonych czujników w przeglądarce lub zdalne sterowanie niektórymi mechanizmami.

Od razu przypominam sobie projekt „twitter flower”, w którym wiązka Arduino+Ethernet, korzystając z czujnika wilgoci wbitego w ziemię, skarżyła się na Twitterze na suchość i wymagała natychmiastowego podlewania. Przy całej różnorodności aplikacji EthernetShield chcę Cię ostrzec, że każda biblioteka oczywiście oszczędza czas, ale zajmuje też kilka kilobajtów pamięci flash mikrokontrolera. Dlatego jeśli prędzej czy później natkniesz się na limit rozmiaru 30 KB swojego Arduino Duemilanova - pomyśl o zastąpieniu go Mega 2560, będzie osiem i pół raza więcej pamięci na szkice.

Korzystanie z kart SD

W projektach związanych z akumulacją dowolnych informacji (np. współrzędnych GPS) często konieczne jest zwiększenie ilości dostępnej pamięci nieulotnej. Najłatwiej to zrobić, podłączając standardową kartę SD. Do tego jest kilka gotowych tarcz. Najładniejszą opcją, jaką znam, jest moduł microSD, opracowany przez hiszpańską firmę monitorującą Libellium. środowisko(goo.gl/iHCy4).

Nakładka zajmuje tylko jeden blok pinów Arduino i umożliwia pracę z kartami SD i SDHC sformatowanymi w FAT16 (preferowany) lub FAT32. Możesz pracować tylko z jednym plikiem na raz, długie nazwy nie są obsługiwane.

Osłony bezprzewodowe

Najprostsze moduły RF włączone modulacja amplitudy(ASK), pracujące w nielicencjonowanym paśmie 433 i 313 MHz, choć mogą być używane z Arduino poprzez bibliotekę VirtualWire, nadal wydają mi się dość złą opcją.

Są zbyt podatne na zakłócenia, pracują stabilnie tylko na niskie prędkości, nie mają sprzętowej separacji na kanały - kilka jednocześnie pracujących nadajników będzie się wzajemnie zakłócać. Może dlatego nie widziałem jeszcze dla nich tablic tarczy.

Przeciwieństwem jest rodzina płyt Xbee opartych na protokołach Zigbee, idealna do organizowania rozproszonych sieci czujników z własnym zasilaniem. Każda taka płytka sama w sobie jest urządzeniem z mikrokontrolerem na płytce, a od nakładki wymaga się bardzo niewiele - aby zapewnić koordynację z Arduino. Takie tarcze są zwykle nazywane „Xbee Shield”, ale nie zawsze – na przykład Libellium opracowało Communication Shield (goo.gl/OZDxl). Tarcza koniecznie zawiera dwa rzędy padów, do których zadokowany jest moduł w formacie Xbee.

Jedyną chyba wadą jest cena samego modułu Xbee. W zamian otrzymujemy prędkości do 250 Kbps, zasięg na linii wzroku do 90 metrów (modyfikacja Xbee PRO może sięgać nawet 1,2 km), szyfrowanie, oszczędny pobór mocy oraz możliwość przekazywania danych (dwa moduły komunikują się przejrzyście z siebie nawzajem przez trzeci).

Od dawna zauważono, że jeśli firma mówi o sieci bezprzewodowe, przede wszystkim z jakiegoś powodu pamiętają WiFi, znacznie rzadziej - o Bluetooth. Przykładami są WiFly Shield firmy SparkFun (sparkfun.com/products/9954) i moduł Bluetooth firmy Libellium (cooking-hacks.com/index.php/arduinobluetoothmodule-89.html). Ten ostatni jest w formacie Xbee i będzie działał z każdą osłoną przejściową Xbee, oraz ustawienie oprogramowania z Arduino przypomina dialog z modemem - poprzez port szeregowy i komendy AT. Nawiasem mówiąc, kiedyś ukazał się oryginał płyta arduino BT (arduino.cc/en/Main/ArduinoBoardBluetooth), który nie posiadał interfejsu USB, ale został zaprogramowany i podłączony do komputera przez Bluetooth. Nie otrzymał szerokiej dystrybucji - być może z powodu wzrostu ceny.

Do wymiany danych przez GSM zwykle używany jest telefon komórkowy, który może pracować na porcie szeregowym na poziomach TTL.
Ale teraz jest ich coraz mniej – zastępuje je USB, co wymaga bycia hostem (a nie urządzeniem, jakim jest Arduino). Ale na szczęście producenci od dłuższego czasu produkują gotowe moduły GSM, do których pozostaje się przekręcić antena zewnętrzna i złącze karty SIM. Przykładu nie trzeba daleko szukać - moduł Libellium GPRS Quadband dla Arduino (goo.gl/KueFH), który bazuje na modemie SAGEM GPRS.
Cechą tego konkretnego modelu jest to, że moduł GRPS jest wymienny i można przesyłać nie tylko dane - wyjście do zewnętrznego zestawu głośnomówiącego jest przewodowe.

Różne tarcze

Podsumowując, możemy śmiało powiedzieć, że rozwiązania prawie wszystkich typowych problemów od dawna istnieją w postaci tarcz. Ale nie myśl, że to wszystko się kończy. Oto kilka przykładów: Płytka czujnika promieniowania Libellium (licznik Geigera).

Tarcza „zrób to sam”

Jako przykład stwórzmy własną osłonę LCD. Schemat podłączenia popularnego alfanumerycznego LCD 1602 na kontrolerze HD44780 dostępny jest w dwóch wersjach - szyna ośmiobitowa lub szyna czterobitowa. Czas odkryć strategię budowania tarczy Arduino: szpilek nigdy za wiele! Staramy się wykorzystywać je do minimum i dlatego wybieramy schemat czterobitowy (na nasze szczęście obsługa takiego schematu jest zawarta w zestawie dystrybucyjnym ArduinoIDE, w postaci biblioteki LiquidCrystal).

Do budowy naszej tarczy używamy specjalnego blanku - protoshield, czyli płytki stykowej z kilkoma falbankami. Jego najważniejszą wartością są odpowiednio rozmieszczone otwory na piny dla idealnego dokowania z Arduino. Tak się złożyło, że wszystkie szpilki są umieszczone na siatce o rozstawie 2,54 mm, z wyjątkiem jednego (gdyby nie ten przykry fakt, można by wziąć dowolny kawałek „perforowanej płytki stykowej” i wlutować wtyczki dokujące PLS w to). Zrobiono to celowo, aby odbiorca z roztargnienia nie włożył tarczy odwrotnie i nie spalił przyszłego arcydzieła w zarodku.
Zauważ, że obwód zawiera zmienny rezystor do regulacji kontrastu. To jest ważne! Jeśli o tym zapomnisz, przy reszcie schematu i szkicu poprawnym, nic nie będzie widoczne. Dowolne 10-20 kOhm wystarczy, a konkretnie na tym protoekranu jest już przewidziane - choć jest podłączone do wejścia analog0, więc trzeba dolutować dodatkowe przewody.

Weźmy kawałek grzebienia szpilkowego PLS i przylutujmy go najpierw do styków wyświetlacza, a potem do ekranu. Następnie trzeba wziąć przewód montażowy i ostrożnie po kolei rozebrać i przylutować przewody od wyświetlacza do pinów Arduino zgodnie ze schematem - na szczęście jest to proste. Większość z nich intuicyjnie udało mi się ukryć pod wyświetlaczem.

Umieśćmy wynik na Arduino i załadujmy pierwszy szkic testowy z katalogu LiquidCrystal. Nic na ekranie? Albo kilka czarnych kwadratów? To nie ma znaczenia, czas na poprawki zmienny rezystor Na pewno coś będzie! W takim przypadku możesz odetchnąć z ulgą - teraz masz pierwszą własną tarczę. Cóż, skoro zarobił - możesz to zrusyfikować jednocześnie. Kiedyś zmieniłem standardową bibliotekę, aby znaki cyrylicy były poprawnie tłumaczone z UTF-8 na generator znaków wyświetlacza. Szukaj Ostatnia wersja biblioteki na github.com/mk90.