Do czego służą wyjścia arduino pro mini. Samomigający Arduino Pro Mini.

Do tworzenia "amatorskich mikrokontrolerów radiowych" czasami używam stosunkowo niedrogich modułów Evolution Light SEM0010M ze sklepu Ekits.ru. Moduł nie jest czymś wybitnym: Mega Atmela lutuje się na małej płytce stykowej (są różne opcje), jest do niego przymocowany rezonator kwarcowy i… to wszystko! nie ma nic więcej! z wyjątkiem złącza ISP do programowania w obwodzie. Generalnie jest to bardzo wygodne - nie trzeba lutować małej wielopinowej paczki, zajmować się podłączeniem programatora, szukać płytki do wylutowania peryferiów... A środowisko programistyczne Algorithm Builder jest bardzo wygodne do tworzenia nie zbyt ważkie programy.

Wszystko w porządku, ale „ropucha się dławiła”: szkoda 250 rubli za „to cud”. Kiedy raz skontaktowałem się z Aliexpress, postanowiłem sprawdzić, czy bardziej zaawansowani technologicznie południowo-wschodni sąsiedzi mają coś podobnego? I znalazłem – wśród licznej rodziny klonów Arduino, niewielka płytka Arduino Pro Mini wyróżnia się taniością. Cena jest około półtora do dwóch razy tańsza, monokryształ jest znacznie mocniejszy. Oprócz kwarcu jest jakaś sygnalizacja, stabilizator napięcia, przycisk reset !!! A co najważniejsze, wsparcie społeczności Arduino! Oczywiście nie można obejść się bez minusów – nie ma miejsca na instalację peryferiów i co nie jest zbyt ważne, bardzo długi czas dostawy – do dwóch miesięcy…
Ogólnie do testu za te same 250 zł zamówiłem zestaw (na zdjęciu po lewej), składający się z płytki kontrolera i mostka USB-UART do programowania arduino. W powyższym sklepie taki zestaw brzmi mniej więcej tak: Moduł CP2102 + Moduł Pro Mini Atmega328 5V 16MHZ dla Arduino. Sprzedawca opisuje ustawione parametry w następujący sposób:

Opis modułu CP2102:

Nazwa: CP2102 moduł USB na TTL
Zakres szybkości transmisji: 300-1Mbps
Układ kontrolny: CP2102
Napięcie robocze: 4 V-5,25 V
Wsparcie: Windows 98SE, 2000, XP, Vista, Window7, Mac OS 9, Mac OS X i Linux 2.40
Napięcie wyjściowe: Podwójne wyjście napięciowe (3,3 V i 5 V)
Wskaźnik wyjścia: wskaźnik zasilania, wskaźnik TXD
Prąd wyjściowy: 100mA (z ochroną ograniczającą prąd)
6 pinów dla: RST TXD RXD GND 5V 3.3V

Pro Mini opis:

1.14 Cyfrowe porty wejścia / wyjścia RX, TX D13, D2 ~~ z,
2 lub 8 analogowych portów wejściowych A0 do A7
3. Port szeregowy nadawczo-odbiorczy poziomu TTL RX/TX
4.6 Porty PWM, D3, D5 , D6, D9, D10, D11 . Korzystanie z mikrokontrolera Atmel Atmega328P-AU obsługuje pobieranie szeregowe
7. Obsługa zewnętrznego zasilacza 5 V ~ 12 V DC;
8. Obsługa zasilania bateryjnego 9 V;
9 częstotliwość zegara 16 MHz,
10. Wymiary: 33,3 * 18,0 (mm)

Po otrzymaniu paczki zacząłem studiować zestaw z modułem CP2102, ponieważ. tutaj nie musisz nic lutować - wsadziłem Port USB i ciesz się rezultatem. Most jest błyskawicznie wykrywany przez system i instalowany (przy użyciu odpowiedniego sterownika) jako Silicon Labs CP210x USB to UART Bridge (COM9) (no cóż, numer portu - kto ma szczęście...) Później ten moduł został również zarejestrowany na innych komputery: zarówno w systemie Windows XP, jak i Windows 7 Starter (!). Po zabawie z modułem (zabawki jakoś opiszę w innym dziale...) postanowiłem zabrać się do rzeczy i zobaczyć, jak Pro mini zachowuje się z tym modułem.
Połączyłem go według dość logicznego, moim zdaniem, schematu:

Obecna ścieżka „leniwego radioinżyniera” – wdrapujemy się do Internetu i… dowiadujemy się: wiele osób ma ten problem. Jest wiele sposobów na rozwiązanie tego problemu, ale nie ma jednej zrozumiałej metody! Musisz iść własną drogą. Próbujemy:

  • Zmień szybkość transmisji w pliku „C:\Program Files\Arduino\hardware\arduino\boards.txt” (sekcja „ Arduino Pro lub Pro Mini (5V, 16 MHz) z ATmega328", parametr "pro5v328.upload.speed=57600" (z zakresu 9600, 14400, 19200, 28800, 38400, 57600, 115200) - no cóż, jak mogłoby być bez ten...
  • Zmiana sygnałów Rx - Tx - zmień przewody miejscami - w końcu wschodni koledzy "mogliby narobić bałaganu"
  • Wciskamy przycisk Reset w różnych momentach, a także próbujemy podłączyć piąty przewód między GRN i RST (wydaje się, że reset powinien nastąpić automatycznie)
  • Podłączamy Pro mini do UNO bez ATMega328 - staramy się wymienić mostek USB-UART na ten, który jest na Arduino UNO
Czego potrzebujemy - normalnego działania Bootloadera w Pro mini podczas wgrywania szkicu - nie dostaniemy. Ciągle pojawia się ten sam komunikat, a dioda LED na Pro mini „złośliwie mruga pojedynczymi błyskami”. Ale każda chmura ma pozytywną podszewkę, otrzymujemy jakiś użyteczny wynik...

Programowanie Pro mini przez UNO z „mega” usuniętym z płyty UNO

Piny Arduino UNO R3
GND
5V
TX (1)
Rx(0)
RESETOWANIE

Mini piny Arduino Pro
GND
VCC
TX
RX
RST

Przy takim połączeniu płyt (chip kontrolera trzeba oczywiście usunąć z płytki UNO), w Arduino 1.0.5 wybierać Arduino Pro lub Pro Mini (5V, 16MHz) z ATmega328, portCOM8 (ten w kontrolerze odpowiada Arduino), prędkość (patrz board.txt) zostawiamy "oryginalny" 57600 - programowanie szkicu przebiega bezproblemowo! Jesteśmy przekonani, że prędkość w Pro mini to „flashowana” 57600, a nie tak, jak jest wszędzie napisane 19200 czy 9600! Już jest dobrze - znaleziono przynajmniej jakiś sposób wypełnienia szkicu!

Pinout i charakterystyka jednej z najwygodniejszych płyt Arduino - Pro Mini

Komunikacja

Charakterystyka

Mikrokontroler ATmega328
Napięcie robocze Dostępne są 2 modele - 3,3 V i pięć V. Skąd wiesz, który masz? Najprawdopodobniej napisane na tablicy. Jeśli nie, po prostu przyłóż 5 woltów do RAW i zmierz napięcie w VCC. Jeśli jest 5 woltów, to masz 5 woltów, jeśli 3,3 - to 3,3 wolta.
Napięcie zasilania 3,35–12 V (jeśli model jest zaprojektowany na napięcie 3,3 V) lub 5–12 V (dla modeli 5 V)
Wyjścia cyfrowe 14 (6 z nich obsługuje PWM)
Wyjścia analogowe 6
Maksymalny prąd dla wyjścia 40mA
Pamiec przenosna 32 kB (z czego 0,5 kB zajmuje bootloader)
Baran 2 kb
EEPROM 1 kB
Częstotliwość zegara 8 MHz dla modeli 3 V lub 16 MHz dla modeli 5 V

Odżywianie

Na Płytka Arduino Pro Mini ma 2 dodatnie styki zasilania dla RAW i VCC oraz wspólny ujemny styk GND. Jeśli masz pewność, że zasilacz dostarcza dokładnie 5 woltów (lub 3,3 w przypadku trzywoltowej wersji płyty), możesz włączyć zasilanie bezpośrednio do VCC. Jeśli napięcie zasilania jest większe niż 5 woltów, należy podłączyć je do wyjścia RAW - jest tam bardzo niskiej jakości regulator napięcia.

Ponadto, jeśli chcesz zmniejszyć zużycie deski, na przykład, jeśli twój statek jest zasilany przez bateria słoneczna, lepiej użyć wyjścia VCC i wyrwać z płytki diody LED i regulator napięcia - taki mały pięcionożny mikroukład:

Jeśli używane są baterie lub akumulatory, najlepiej połączyć się z VCC przez konwerter doładowania, który da 5 z 0,8 V - pozwoli to maksymalnie wykorzystać baterie:


Jednak zadano wiele pytań o różnicę w stosunku do innych płyt Arduino i jak z nią pracować.

W tym artykule wyjaśnimy koncepcję wypełniania szkiców za pomocą adapterów, a także porozmawiamy o ich cechach konstrukcyjnych.

Pierwszą rzeczą, na którą chcę zwrócić uwagę, jest to, że ta płytka nie jest porównywalna z nakładkami dla Arduino. Płytka ma bardzo mały rozmiar 1,8 x 3,3 cm i według twórców (SparkFun Electronics) powinna być wykorzystywana w projektach kompaktowych. Ta płytka posiada standardowy zestaw dla płyt Arduino: kontroler Atmega 328, stabilizator napięcia wejściowego, przycisk resetowania, diodę LED zasilania oraz diodę LED podłączoną do 13-go pinu.

Oprócz różnicy w zainstalowanych kontrolerach istnieją dwie opcje konfiguracji.

1) Sterownik działa na 5 V, a jego częstotliwość taktowania wynosi 16 MHz

2) Kontroler działa na 3,3 V, a jego częstotliwość taktowania wynosi 8 MHz

W zależności od tych czynników na płycie zostaną zamontowane odpowiednie stabilizatory. Napięcie wejściowe jest podawane na pin RAW. Dla wersji 3,3V napięcie wejściowe waha się od 3,35 do 12V, dla wersji 5V 5-12V.

Mini płytka Arduino PRO posiada sześciopinowy grzebień. Do komunikacji z komputerem wymagany jest adapter USB-UART. Rekomendowane przez SparkFun adaptery oparte są na układzie FT232RL. Oprócz głównych wyjść (TX, RX, GND, +5V) adapter posiada wyjście DTR, które umożliwia automatyczne przesyłanie szkiców do duin.


Jak widać na zdjęciu, pin DTR jest połączony z pinem RESET. Po przesłaniu szkicu pin DTR przechodzi w stan niski i kontroler uruchamia się ponownie. Chciałbym zauważyć, że linie VCC mogą być oddzielne. Jeśli sterownik jest zasilany, można podłączyć tylko linie TX, RX, GND, DTR. Do pracy w środku IDE Arduino na liście płytek wybierz Arduino Pro mini (3,3 V lub 5 V), a w Porty COM wybierz port, który określił przejściówkę USB na UART. Poniżej film z wypełnieniem szkicu flashowania (opóźnienie 50) za pomocą adaptera na podstawie, który ma linię DTR.

Rozważmy teraz tańszą wersję adaptera opartego na chipie. Ten adapter posiada piny 3.3V, 5V, TX, RX, GND. Jak widać nie ma tu linii DTR, co oznacza, że ​​na początku nalewania na wyjściu RESET nie pojawi się niski poziom i sterownik nie zrestartuje się automatycznie. W związku z tym będziesz musiał ręcznie nacisnąć przycisk resetowania na płycie Arduino.


Początek pobierania szkicu można śledzić za pomocą diody TX na adapterze. Po kompilacji pojawi się kilka mrugnięć, a następnie możesz to zobaczyć na wideo.

W uczciwości chciałbym zauważyć, że sam układ PL2303 ma wyjście DTR i jest obecny w niektórych adapterach. Na przykład, jeśli usuniesz obudowę, zobaczysz wiele linii pomocniczych.



PS Mamy nadzieję, że w tym artykule udzieliliśmy odpowiedzi na wiele pytań.

6,3 USD (obecnie 1,43)

Kupiłem Arduino Pro Mini w komplecie z przejściówką USB-UART na chipie CP2102 1,5 roku temu (ich ceny od tamtego czasu znacznie spadły) i cały czas leżą na mojej półce. Wszystkie ręce nie sięgnęły, aby cokolwiek zrobić na tym kontrolerze. Nie ostatnią rolę w tym odegrał fakt, że flashowanie szkicu w Arduino Pro Mini, choć nie trudne, jest nieco trudniejsze niż w Arduino UNO, Mega czy Nano.

I tak postanowiłem użyć tego kontrolera w jednym z moich projektów, nadal leży bezczynnie.

Arduino Pro Mini SZCZEGÓŁY

ATmega168 lub 328

napięcie robocze

3,35 -12 V (model 3,3 V) lub 5 - 12 V (model 5 V)

Cyfrowe piny we/wy

14 (z czego 6 zapewnia wyjście PWM)

Piny wejścia analogowego

Prąd DC na pin we/wy

16 KB (z czego 2 KB używane przez bootloader)

8 MHz (model 3,3 V) lub 16 MHz (model 5 V)

Skończyło się na modelu 16MHz 5V opartym na układzie ATmega 328. Jak się okazało analizując dane z Internetu, są płyty kontrolerów, które nie mają sygnału DTR. W moim przypadku wszystko jest okablowane poprawnie. W zestawie znalazł się konwerter USB-UART.


Platforma zawiera 14 wejść i wyjść cyfrowych (6 z nich można wykorzystać jako wyjścia PWM), 6 wejść analogowych, rezonator, przycisk resetowania oraz otwory na kołki montażowe. Do płytki konwertera USB-UART można podłączyć blok sześciu pinów.

Arduino Pro Mini samodzielnie Specyfikacja techniczna a parametry są bardzo zbliżone do Arduino Nano. Mają taką samą szerokość, ale długość Arduino Pro Mini jest o około 1 cm krótsza.


10 mm to dużo. Ale tylko jeśli wlutujesz piny do podłączenia USB-UART do płytki, wszystkie zalety tej płytki nad Nano znikną. Na ten moment Arduino Pro Mini jest o 0,25 USD tańszy niż Arduino Nano. To nie ma znaczenia. Nie ma już zalet i zalet, tylko wady.

ORAZ główna wada— trudniejsze ładowanie szkiców.

Istnieje kilka sposobów flashowania szkicu.

Jednym ze sposobów jest użycie Arduino UNO jako USB-UART. W Internecie jest wiele instrukcji, jak to zrobić, więc nie będę się nad tym rozwodził.

Drugim sposobem jest użycie samego adaptera USB-UART. Mam go i ten „poprawny”, więc postanowiłem go użyć. Jak działa adapter? Arduino komunikuje się z układem konwertera za pośrednictwem zwykłego UART, natomiast z komputerem łączy się przez USB. Komputer rozpoznaje podłączony adapter jako port COM.

Wgranie szkicu do Arduino Pro Mini nie jest, jak się okazało, wcale trudne. Wystarczy podłączyć przewody z zestawu 5 pinów na adapterze i Arduino:

(Przetwornik)<->(Arduino)

DTR<->GRN
TXD<->RXI
RXD<->TXO
GND<->GND
5V<->VCC


W moim Arduino Pro Mini sygnał DRT jest oznaczony jako GRN. Zgadywanie co nie było łatwe, zwłaszcza, że ​​na jednej ze stron „miły” doradca napisał, że GRN trzeba połączyć z GND. Otóż ​​Internet to wielkie wysypisko śmieci i nie po raz pierwszy jestem przekonany, że najchętniej udzielają rad na forach wcale nie są ci, którzy naprawdę rozumieją omawiany temat. Tak więc GRN to DTR.

Dla tych, którzy nie wiedzą, czym jest DTR:
Terminal danych gotowy (DTR) - sygnał sterujący w protokół transmisji danych szeregowych przesyłany z urządzenia końcowego (DTE) do urządzenia odbiorczegoaby wskazać, że terminal jest gotowy do komunikacji.

W Arduino sygnał DTR wyzwala sygnał Reset w momencie rozpoczęcia transmisji szkicu.

Jest to możliwe zamiast podłączania DTR<->GRN podłącz adapter DTR przez kondensator 0,1uF do Reset Arduino Pro Mini. To też działa, przetestowane. To przez kondensator. Pomimo tego, że fora i wiele stron mówi, że trzeba podłączyć DTR i RESET bezpośrednio, kiedy bezpośrednie połączenie szkic nie jest przenoszony. Przynajmniej nic nie działało dla mnie z bezpośrednim połączeniem.


Teoretycznie, jak mówią w Internecie, możesz nagrać szkic nawet bez DTR, naciskając reset na płycie kontrolera dokładnie w momencie rozpoczęcia nagrywania. Kilka razy próbowałem uchwycić ten moment – ​​nie udało mi się. Nie ćwiczyłem swoich umiejętności w próbie trafienia resetu w odpowiednim momencie, łatwiej sygnał Reset powierzyć chipowi konwertera CP2102.

Ale nie wszystkie CP2102 są równie przydatne. Istnieje wiele tanich podróbek sprzedawanych na eBayu i AliExpress, na które ludzie cierpią i często muszą modyfikować, aby mogli napisać szkic w Arduino Pro Mini. W tych adapterach sygnał DTR z pinu 28 układu CP2102 nie jest podłączony. W niektórych oznaczenia Rx i Tx są mylone. Dlatego na forach w sieci jest tak wiele instrukcji, które są ze sobą sprzeczne, a czasem po prostu wprowadzają czytelników w błąd. Spędziłem około dwóch godzin czytając te bzdury (nie chciałem wymyślać koła na nowo, myślałem, że zaoszczędzę czas) i próbując wpisać szkic do sterownika zgodnie z tymi instrukcjami. W rezultacie wszystkie instrukcje okazały się nie działać dla mojego adaptera CP2102. Okazało się to dla mnie „poprawne”, w którym zastosowano prawidłowe oznaczenie i wszystkie sygnały są poprawnie odseparowane.


Wystarczyło tylko podłączyć wszystkie przewody i wszystko działało.


Jeśli więc kiedykolwiek będziesz musiał napisać szkic do Arduino Pro Mini przez USB-UART, pierwszą rzeczą do zrobienia jest sprawdzenie, czy sygnał DTR jest kierowany na płytkę Arduino Pro Mini. Czytałem, że są deski, na których się nie rozwodzi. W takim przypadku można skorzystać z opcji podłączenia sygnału DTR z płytki adaptera USB-UART do pinu RESET Arduino Pro Mini poprzez kondensator 0,1-0,15uF.

Po drugie sprawdź, czy płytka adaptera USB-UART ma sygnał DTR podłączony do dowolnego pinu. Pin może być, a nawet być podpisany jako DTR, ale nie może być podłączony do pinu 28 układu CP2102. Jeśli 28. wyjście tego mikroukładu nie jest nigdzie podłączone, musisz zapewnić jego połączenie z pinem DTR. Jeśli gdzieś w obwodzie jest podłączone wyjście 28, to ten tor należy odciąć i doprowadzić bezpośrednio do pinu DTR.

Poprawność oznaczeń Rx i Tx na fałszywej płytce CP2102 można ustalić empirycznie, są tylko 2 opcje.

Czytałem też w internecie instrukcje, że trzeba napisać szkic przez przejściówkę USB-UART CP2102 w trybie „Pobierz przez programistę”, podobno tylko tak wszystko działa. Nie wiem, czy autor tego dzieła celowo wprowadza czytelników w błąd, czy nie miał przejściówki USB-UART CP2102, ale coś innego, ale ta rada jest NIEPOPRAWNA!

Poprzez przejściówkę USB-UART CP2102 komputer widzi Arduino Pro Mini tak, jakby był podłączony do portu COM, czyli tak jak inne Arduino, które mają na pokładzie przejściówkę USB-UART.

Dlatego szkice w Arduino Pro Mini wgrywa się w taki sam sposób, jak w innych modelach Arduino. Wystarczy wybrać model Pro Mini w środowisku programistycznym Arduino, następnie w dodatkowej pozycji, która się pojawi, wybrać jeden z 4 możliwych typów procesora (ATmega168 lub 328, 3,3 lub 5V) oraz wirtualny port COM, który pojawił się po instalacji sterowniki adaptera USB-UART. Następnie możesz użyć przycisku pobierania lub Ctrl-U. Jeśli wszystko jest prawidłowo podłączone, rodzaj i model przejściówki nie ma znaczenia, szkice wgrywa się przez UART. Wystarczy wybrać port COM, dla którego jest zdefiniowany adapter.

Po 2 godzinach czytania forów i stron z „instrukcjami” i „wskazówkami”, które okazały się w 99% błędne, przynajmniej nie pasowały do ​​moich konkretnych modeli Arduino Pro Mini i adaptera USB-UART CP2102, udało mi się podłączyć i wgraj wszystko poprawnie do kontrolera lekko zmodyfikowany szkic migającej diody. Kazałem mu mrugać SOS alfabetem Morse'a.

Oto szkic, na wypadek gdyby ktoś był zainteresowany:

// funkcja konfiguracji uruchamia się raz po naciśnięciu resetu lub włączeniu zasilania płyty
pusta konfiguracja()(
// zainicjuj cyfrowy pin 13 jako wyjście.
pinMode(13, WYJŚCIE);
}

// funkcja pętli działa w kółko i w nieskończoność
pusta pętla() (
opóźnienie (100); // czekać
opóźnienie(300); // czekać
digitalWrite(13, WYSOKA); // włącz diodę LED (HIGH to poziom napięcia)
opóźnienie (100); // czekać
digitalWrite(13, LOW); // wyłącz diodę LED, obniżając napięcie
opóźnienie(300); // czekać
digitalWrite(13, WYSOKA); // włącz diodę LED (HIGH to poziom napięcia)
opóźnienie (100); // czekać
digitalWrite(13, LOW); // wyłącz diodę LED, obniżając napięcie
opóźnienie(300);
digitalWrite(13, WYSOKA); // włącz diodę LED (HIGH to poziom napięcia)
opóźnienie(300); // czekać
digitalWrite(13, LOW); // wyłącz diodę LED, obniżając napięcie
opóźnienie(300); // czekać
digitalWrite(13, WYSOKA); // włącz diodę LED (HIGH to poziom napięcia)
opóźnienie(300); // czekać
digitalWrite(13, LOW); // wyłącz diodę LED, obniżając napięcie
opóźnienie(300); // czekać
digitalWrite(13, WYSOKA); // włącz diodę LED (HIGH to poziom napięcia)
opóźnienie(300); // czekać
digitalWrite(13, LOW); // wyłącz diodę LED, obniżając napięcie
opóźnienie(300); // czekać
digitalWrite(13, WYSOKA); // włącz diodę LED (HIGH to poziom napięcia)
opóźnienie (100); // czekać
digitalWrite(13, LOW); // wyłącz diodę LED, obniżając napięcie
opóźnienie(300); // czekać
digitalWrite(13, WYSOKA); // włącz diodę LED (HIGH to poziom napięcia)
opóźnienie (100); // czekać
digitalWrite(13, LOW); // wyłącz diodę LED, obniżając napięcie
opóźnienie(300); // czekać
digitalWrite(13, WYSOKA); // włącz diodę LED (HIGH to poziom napięcia)
opóźnienie (100); // czekać
digitalWrite(13, LOW); // wyłącz diodę LED, obniżając napięcie
opóźnienie(300); // czekać
opóźnienie (1500); // czekaj 1,5 sek.
}

Wnioski:

Gdybym nie starał się oszczędzić czasu na „wymyślaniu koła” i nie spędzał czasu na czytaniu bezużytecznych (nawet dość szkodliwych) wskazówek i instrukcji na forach i stronach internetowych, podłączenie i flashowanie Arduino Pro Mini zajęłoby nie 2 godziny, ale maksymalnie 5-10 minut.

Mój zestaw Arduino Pro Mini i adaptera USB-UART CP2102, jak na dzisiejsze standardy kupiłem trochę za drogo. To prawda, pociesza mnie fakt, że adapter jest poprawny i wszystkie sygnały są na nim wyprowadzone.

Arduino Nano, który ma identyczne parametry i możliwości jak Arduino Pro Mini, kosztuje nieco więcej (maksymalnie 25-50 centów), traci 1 cm (a przy wlutowanych pinach Arduino Pro Mini wcale nie traci) , ale jest znacznie wygodniejszy w użyciu dzięki wbudowanemu USB-UART i wspólnemu złączu MicroUSB.

Arduino Pro Mini nie jest najpopularniejszą płytką, wpisz „Arduino Nano” w wyszukiwarce eBay i posortuj według ceny w kolejności rosnącej, a zobaczysz, jak przebiegli Chińczycy sprzedają wiele Arduino Pro Mini, które w tej sekcji są podszywane jako Nano bardzo tanio ? w nadziei, że kupujący tego nie zrozumie i wkraczając w niską cenę, kupi te kontrolery. Wszystkie mają nadzieję tylko dla kupujących-frajerów.

Czy poleciłbym zakup Arduino Pro Mini? Nowicjusz - nie. Tak - do osoby, która dokładnie wie, co to jest, jakie ma wady i czy są warte tych skromnych oszczędności.

Po raz kolejny flashowanie Arduino Pro Mini nie jest trudne, ale czy to zamieszanie z okablowaniem lub Arduino UNO warte 0,2-0,25 USD różnicy w cenie. Zwłaszcza jeśli musisz wielokrotnie podłączać kontroler do komputera w celu debugowania, ale czy w przypadku? Jeśli uważasz, że podłączenie i odłączenie 5 przewodów dziesięć do piętnastu razy jest bardziej opłacalne niż płacenie 20 centów, ten kontroler jest dla Ciebie.

To właściwie wszystko. Podzieliłem się swoim doświadczeniem i wyraziłem swoją opinię, decyzja należy do Ciebie.

PS Minęło trochę czasu i trochę zmieniłem zdanie na temat Arduino Pro Mini. Nawet oszczędności rzędu 25-50 groszy to dużo, zwłaszcza jeśli zmontowana zostanie niewielka partia produktów za pomocą tego sterownika. Oczywiste jest, że w dobry sposób na małą partię pożądane jest zintegrowanie kontrolera bezpośrednio z płytką, a nie używanie gotowego Arduino (to jeszcze bardziej płytka do debugowania). Ale opcje są różne, czasami są już gotowe płytki i można je ulepszyć i rozszerzyć funkcjonalność integrując Arduino. Będzie to tańsze niż budowanie nowych desek.

A obecność przejściówki USB-UART na pokładzie przekazanego użytkownikowi produktu jest zupełnie niepotrzebna, a nawet szkodliwa. Tak więc Arduino Pro Mini ma prawo do życia.

Informacje ogólne

Arduino Pro Mini oparty jest na mikrokontrolerze ATmega168 ( opis techniczny). Platforma zawiera 14 wejść i wyjść cyfrowych (6 z nich można wykorzystać jako wyjścia PWM), 6 wejść analogowych, rezonator, przycisk resetowania oraz otwory na kołki montażowe. Sześciopinowy blok można podłączyć do kabla FTDI lub płytki konwertera Sparkfun w celu zasilania i komunikacji USB.

Arduino Pro Mini jest przeznaczony do nietrwałego montażu w obiektach lub eksponatach. Platforma jest dostarczana bez zainstalowanych pinów, co pozwala użytkownikom korzystać z własnych pinów i złączy. Wyprowadzenie jest zgodne z platformą Arduino Mini.

Istnieją dwie wersje platformy Pro Mini. Jedna wersja działa przy 3,3 V i 8 MHz, druga przy 5 V i 16 MHz.

Arduino Pro Mini został zaprojektowany i wyprodukowany przez firmę SparkFun Electronics.

Schemat i dane początkowe

Charakterystyka
Odżywianie

Arduino Pro Mini może być zasilany za pomocą kabla FTDI lub z płytki konwertera, lub z regulowanego źródła 3,3 V lub 5 V (w zależności od platformy) przez pin Vcc lub z nieregulowanego źródła przez pin RAW.

Kołki zasilania:

  • SUROWY. Do podłączenia nieregulowanego napięcia.
  • VCC. Do podłączenia regulowanego 3,3 V lub 5 V.
  • GND. Zaciski uziemiające.
Pamięć

Mikrokontroler ATmega168 posiada: 16 kB pamięci flash do przechowywania kodu programu (2 kB wykorzystywane jest do przechowywania bootloadera), 1 kB RAM i 512 bajtów EEPROM (odczytywane i zapisywane przy użyciu biblioteki EEPROM).

Wejścia i wyjścia

Każdy z 14 cyfrowych pinów Pro może być skonfigurowany jako wejście lub wyjście za pomocą funkcji pinMode() , digitalWrite() i digitalRead(). Piny działają przy napięciu 3,3 V. Każdy pin ma rezystor podciągający 20-50 kΩ (domyślnie wyłączony) i może przenosić do 40 mA. Niektóre piny mają specjalne funkcje:

  • Magistrala szeregowa: 0 (RX) i 1 (TX). Piny służą do odbierania (RX) i przesyłania (TX) danych TTL. Piny te są połączone z pinami TX-0 i RX-1 sześciopinowego bloku.
  • Przerwanie zewnętrzne: 2 i 3. Piny te można skonfigurować tak, aby wyzwalały przerwanie przy niskiej wartości, zboczu narastającym lub opadającym lub przy zmianie wartości. dokładna informacja znajduje się w opisie funkcji attachInterrupt().
  • PWM: 3, 5, 6, 9, 10 i 11. Każdy pin zapewnia 8-bitową PWM przy użyciu funkcji analogWrite().
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Piny te zapewniają komunikację SPI, która choć obsługiwana przez sprzęt, nie jest zawarta w języku Arduino.
  • LED: 13. Wbudowana dioda LED podłączona do cyfrowego pinu 13. Jeśli wartość na pinie jest wysoka, dioda LED jest włączona.

Platforma Pro Mini posiada 6 wejść analogowych, każde o rozdzielczości 10 bitów (czyli może przyjmować 1024 różne wartości). Cztery z nich znajdują się na krawędzi peronu, natomiast dwa pozostałe (wejścia 4 i 5) są bliżej środka. Pomiar odnosi się do uziemienia do wartości VCC. Niektóre piny mają dodatkowe funkcje:

  • I2C: A4 (SDA) i A5 (SCL). Poprzez wyjścia realizowana jest komunikacja I2C (TWI), do tworzenia której wykorzystywana jest biblioteka Wire.

Na platformie jest dodatkowe wyjście:

  • Resetowanie. Niski poziom sygnału na wyjściu resetuje mikrokontroler. Zwykle używany do podłączenia przycisku resetowania na płytce rozszerzeń, która blokuje dostęp do przycisku na samej płytce Arduino.
Połączenie

Na platformie Arduino Pro Mini zainstalowanych jest kilka urządzeń do komunikacji z komputerem, inne Urządzenia Arduino lub mikrokontrolerów ATmega168 obsługuje interfejs szeregowy UART TTL za pośrednictwem pinów 0 (RX) i 1 (TX). Arduino Serial Monitor umożliwia wysyłanie i odbieranie danych tekstowych przez połączenie USB.

Dzięki bibliotece SoftwareSerial możliwe jest utworzenie szeregowego transferu danych przez dowolny z cyfrowych pinów Pro Mini.

ATmega168 obsługuje interfejsy I2C (TWI) i SPI. Arduino zawiera bibliotekę Wire, która ułatwia korzystanie z magistrali I2C. Więcej informacji znajduje się w dokumentacji. Aby skorzystać z interfejsu SPI, zapoznaj się z arkuszem danych mikrokontrolera ATmega168.

Programowanie

ATmega168 jest dostarczany z fabrycznie załadowanym programem ładującym, który ułatwia pisanie nowych programów bez konieczności korzystania z zewnętrznych programistów. Komunikacja odbywa się za pomocą oryginalnego protokołu STK500.

Można nie używać bootloadera i programować ATmega168 za pomocą zewnętrznego programatora. Szczegółowe informacje znajdują się w niniejszej instrukcji.

Automatyczne ponowne uruchamianie (oprogramowania)

Arduino Pro Mini zaprojektowano w taki sposób, aby przed napisaniem nowego kodu program sam się restartował, a nie przez naciśnięcie przycisku na platformie. Jeden z pinów sześciopinowego bloku jest podłączony do linii resetowania mikrokontrolerów ATmega168 poprzez kondensator 100nF. Ten wniosek podłączony do jednej z linii sterowania przepływem konwertera USB-szeregowego podłączonego do urządzenia: do linii RTS przy użyciu kabla FTDI lub do linii DTR przy użyciu płytki konwertera Sparkfun. Aktywacja tej linii, tj. sygnalizacja niski poziom, restartuje mikrokontroler. Korzystanie z programu Arduino ta funkcja, przesyła kod jednym kliknięciem przycisku Prześlij w samym środowisku programistycznym. Niska sygnalizacja na linii resetu jest koordynowana z rozpoczęciem pisania kodu, co zmniejsza limit czasu bootloadera.

Funkcja ma inne zastosowanie. Pro Mini uruchamia się ponownie za każdym razem, gdy jest podłączony do programu Arduino na komputerze Mac X lub Linux (przez USB). Kolejne pół sekundy po restarcie bootloader działa. Podczas programowania pierwsze kilka bajtów kodu jest opóźniane, aby platforma nie otrzymała błędnych danych (wszystko poza kodem nowy program). Jeśli wykonujesz jednorazowe debugowanie szkicu zapisanego na platformie lub wprowadzasz jakiekolwiek inne dane przy pierwszym uruchomieniu, musisz upewnić się, że program na komputerze czeka sekundę przed przesłaniem danych.

Charakterystyka fizyczna

wymiary płytka drukowana Pro Mini mają wymiary 1,8 x 3,3 cm.