Pro mini pinout. Popis mini desky arduino pro. Arduino Pro Mini - pinout a vlastnosti. Schéma a počáteční návrh. Přidání Chinese Pro Mini do Arduino IDE

Před nedávnem jsem ve svém projektu narazil na nutnost použít Arduino Pro Mini a hned vyvstala otázka, jak do něj nahrát skicu. Samozřejmě se prodávají různé adaptéry UART, pomocí kterých lze tento problém rychle vyřešit, ale v tu chvíli takový adaptér nebyl po ruce.

Tedy následovně:

Nano -> Pro Mini

  • +5v -> Vcc
  • GND -> GND
  • D10 -> RST
  • D11 -> D11
  • D12 -> D12
  • D13 -> D13

Mám to asi takhle:

Poté, co je vše složeno a zkontrolováno, můžete 7x mrknutí připojit Nano k počítači, obě desky jsou připraveny k použití.

Dále, abychom flashovali firmware, musíme se ujistit, že při nastavování flashované desky a programátoru používáme stejné rychlosti portů, přičemž rychlost z náčrtu bereme jako standard. Pro typ desky musíte najít soubor board.txt jeho cesta je relativní nainstalovaný program IDE je takto: Arduino/hardware/arduino/boards.txt. V něm musíme najít sekci parametrů pro desku Pro Mini, vypadá to asi takto:

Pro5v328.name=Arduino Pro nebo Pro Mini (5V, 16 MHz) s ATmega328

Mám flashable 5 V mini s mikrokontrolérem ATmega328, ale pokud máte jinou verzi desky, musíte najít sekci odpovídající vaší desce.

Zde se musíte ujistit, že rychlost je správně nastavena:

Pro5v328.upload.speed=19200

Poté přejděte do souboru programers.txt, jeho cestu Arduino/hardware/arduino/programmers.txt a ujistěte se, že parametry jsou správné:

Arduinoisp.name=Arduino jako ISP
arduinoisp.communication=serial
arduinoisp.protocol=stk500v1
arduinoisp.speed=19200

Poté, co se ujistíte, že jsou všechny parametry správné, můžete spustit IDE; pokud bylo spuštěno, restartujte jej. To je nezbytné, aby se nové parametry projevily.

Po spuštění IDE musíme v nabídce „Nástroje“ nastavit, aby se naše deska flashovala a typ programátoru „Arduino jako ISP“:

Nyní jsme všichni připraveni na firmware. Vyberte požadovaný náčrt; můžete si vybrat kterýkoli z příkladů pro testování. A nyní zvláštní pozornost Řeknu vám, jak to flashnout, obvyklé tlačítko na flashování nám nebude fungovat, protože je určeno pro flashování standardním programátorem, tzn. v Arduino Nano a když jej zmáčkneme, jednoduše blikneme Nano, což absolutně nepotřebujeme.

Správný způsob flashování Pro Mini je v nabídce „Soubor“ a jmenuje se „Načíst pomocí programátoru“, mám IDE verzi 1.5.6-r2, tam se tato položka nazývá „Načíst pomocí programátoru“, zřejmě existují potíže s překladem v tomto vydání, ve verzi 1.0.5-r2 je vše v pořádku.

Poprvé se vám nemusí podařit flashnout a v budoucnu se může zobrazit chyba, jako je tato:

Nemějte však obavy, pokud je vše správně sestaveno a bezpečně připájeno, pak stačí stisknout „Reset“ na Pro Mini, počkat několik sekund a deska bude úspěšně blikat.

Děkuji za pozornost, to je prozatím vše.

– kompaktní verze platformy Arduino, určená pro stavbu všech druhů projektů, které nejsou velké. Platforma je 100% kompatibilní s ostatními platformami Arduino, jako např Arduino UNO, ale mnohem kompaktnější než on. V tomto článku přezkoumám čínský analog Arduino Pro mini, řeknu vám, jak se liší od originálu, jak se tato deska liší od jiných desek platformy Arduino, a také vám řeknu, jak ji připojit k počítači a nahrát náčrt do toho. Nakonec se přesvědčme, že deska funguje pomocí náčrtu „blikání“ jako příkladu.

Koupil jsem tento analog Arduino Pro mini na Aliexpress za 1,30 $, zatímco původní deska na webu výrobce stojí 13 EUR. Rozdíl v ceně je prvním hlavním rozdílem mezi čínským analogem a originálem.

Deska přišla v antistatickém sáčku. Součástí sady jsou také kontaktní podložky.

Pro srovnání, horní deska je původní Arduino Pro mini, níže je můj čínský protějšek. Co do počtu a umístění kontaktů je deska shodná s originálem, kromě kontaktů A4, A5, A6 a A7. Na originální deska Tyto kontakty jsou umístěny uprostřed, u analogu jsou vlevo.

Abychom měli vizuální představu o velikosti desky, ukážu ji vedle jejího čínského protějšku Arduino UNO. Pro mini bylo možné zmenšit velikost odstraněním USB konektor, deska odpovídající obvody s USB port, byl také odstraněn napájecí konektor. Čínský analog je 100% kompatibilní se všemi moduly, ovladači a senzory, které pracují s původní verzí.

Originální moderní mini deska Arduino Pro je založena na mikrokontroléru ATmega328, stejně jako Arduino UNO. Více rané modely tato deska byla postavena na mikrokontroléru ATmega168.

Čínské analogy Arduino Pro mini on tento moment se staví jako ATmega328 a dále ATmega168. Toto je druhý rozdíl mezi originálem a jeho analogem. Deska založená na ATmega168 bude stát méně než deska založená na ATmega328. Hlavní rozdíl mezi těmito řadiči je v tom, že ATmega328 obsahuje na desce dvakrát více paměti než ATmega168.

Rozdíly mezi mikrokontroléry

ATmega168

ATmega328

16 kB

To ale neznamená, že nebude možné postavit projekt na ATmega168, který byl vyvíjen na desce s ATmega328, protože 16 KB bude na mnoho skic úplně stačit. Přesto, pokud potřebujete dvojnásobné množství paměti, přečtěte si před nákupem popis desky. Při nákupu svého čínského protějšku jsem si vybral desku 1,30 $ s ATmega168 namísto desky 1,93 $ s ATmega328. Jak vidíte, i zde můžeme ušetřit na nákupech.

Originální Pro mini deska se vyrábí se dvěma možnostmi napájení: 5 a 3,3 V. U verze pracující od 3,3 voltů pracuje mikrokontrolér na frekvenci 8 MHz, u 5 voltové verze - na frekvenci 16 MHz. Čínské analogy jsou také vyráběny ve 2 verzích. Moje deska běží na 5V.
Vizuálně lze provozní frekvenci ovladače určit podle křemene nainstalovaného na desce, pokud je ve velkém pouzdře, můžete jasně vidět frekvenci, na které pracuje: 8 nebo 16 MHz.

Fragmenty desek s křemenem pracující na různých frekvencích.

O napájení pro Arduino Pro mini.

K napájení desky slouží piny GND, VCC a RAW.
GND- to je mínus výkon (zem).
VCC– slouží k napájení 3,3 nebo 5 V, v závislosti na verzi desky. Tento konektor je napájen výhradně napětím, pro které je deska navržena. Napětí z tohoto kontaktu jde přímo do mikrokontroléru, pokud je vyšší, než je nutné, může selhat.
Pokud budete desku napájet vysokým napětím, pak by měl být ke konektoru připojen napájecí zdroj „+“. DRSNÝ. Tento konektor dokáže napájet až 12 V bez ohledu na to, pro jaké napětí je deska určena. Napětí z tohoto kontaktu je přivedeno do stabilizátoru napětí, který jej převede na požadovanou hodnotu a teprve poté je přivedeno do regulátoru.

Pokud se stane, že jste si koupili desku a nevíte, na jaké napětí je určena, přiveďte 5 voltů na RAW konektor a změřte napětí na VCC konektoru. Pokud je deska navržena pro 3,3 voltu, pak odpovídající napětí bude na VCC, pokud je 5 voltů na VCC, pak je deska 5 voltů.

Digitální a analogové výstupy Pro mini odpovídají stejnému počtu výstupů jako na desce UNO: 14 digitálních a 6 analogových. K propojení slouží kontakty A4 (SDA) a A5 (SCL). různá zařízení přes I2C sběrnici.

O firmwaru Arduino Pro mini.

Tím, že se deska Pro mini stala jednou z nejmenších desek na platformě Arduino, získala nevýhodu - není možné ji flashnout bez vnější pomoc. Všechno ti řeknu možné způsoby nahrávání náčrtů do Pro mini.

Firmware pro Arduino Pro mini pomocí desky Arduino UNO.

Není to nejjednodušší způsob, protože ne každý má desku UNO a není vhodné ji kupovat speciálně pro flashování Pro mini desek. Ale protože mám čínskou obdobu UNO, začnu touto metodou. Pro implementaci této metody musí být na desce UNO nainstalován ovladač a musí být určeno číslo portu COM, ke kterému je tato deska připojena. Jak to udělat, je popsáno v článku o čínském analogu Arduino UNO.

Desky spojíme jako na obrázku. závěry GND, TX A RX spojit se s podobnými. závěr" VCC"na desce Pro mini se připojíme k " 5V"nebo" 3V3„na palubě UNO. Pokud máte 5V verzi Pro mini, připojte ji ke svorce „5V“, jako v mé verzi. Pokud je verze 3V, připojte se k „3V3“ na desce UNO. Závěr RESETOVAT na desce UNO připojíme na pin DTR na desce Pro mini. Na původní desce výstup DTR označený jako GRN, obecně je to to samé.

Když je vše propojeno, spustíme Arduino IDE.



Vyberte desku, do které chcete skicu vložit:« Nástroje» - « Platit:" a vyberte svou desku, v tomto případě je to "Arduino Pro nebo Pro Mini».

Protože desky Pro Mini mohou používat různé mikrokontroléry (ATmega168 nebo ATmega328), stejně jako různá napájecí napětí (3.3 v nebo 5v ), vyberte svou konfiguraci: “ Nástroje» - « PROCESOR:"V v tomto příkladu vybírám" ATmega168 (5 V, 16 MHz)».

Vyberte port, ke kterému je deska připojenaOSN: « Nástroje» - « Přístav:» v mém případě je to"COM7».

Zkusme nahrát první skicu a ujistit se, že deska funguje. Vyberte náčrt " Blikat ", což znamená, že bliká LED vestavěná do desky: " Soubor» - « Vzorky» - « 01. Základy» - « Blikat».

Pomocí tlačítek " Šek" A " Zatížení„Náčrt se zkontroluje na chyby a nahraje se na desku. Pokud nejsou žádné chyby, na desce Pro Mini začne blikat modrá LED.

Můžete si pohrát s hodnotami ve skice a změnit čas, kdy LED svítí a čas, kdy je LED vypnutá, znovu vyplnit skicu a uvidíte, že LED bude blikat jinak.

Firmware pro Arduino Pro mini pomocí adaptéru USB na TTL.

O jednom z těchto adaptérů na čipu PL2303 jsem již mluvil, nyní je čas to vyzkoušet v praxi. Existují dvě verze tohoto adaptéru, jedna bez kontaktu GRN (DTR), jako já, a druhá s tímto kontaktem. Ty s kontaktem stojí minimálně dvakrát tolik než ty bezkontaktní.

Pokud používáte adaptér bez kontaktu GRN (DTR), připojte jej k Pro mini jako na obrázku.

Pokud máte 3voltovou Pro mini verzi, pak VCC pin desky musí být připojen k 3V3 pinu USB adaptéru.

Když je vše připojeno, spusťte Arduino IDE. Vybereme verzi desky, procesor a port, vybereme skicu „Blink“, vše je stejné jako ve výše uvedeném příkladu s UNO.

K vyplnění náčrtu potřebujete:
1. Klikněte na „ Zatížení».
2. Začne proces sestavování náčrtu, jak je patrné z nápisu „ Kompilace skic...».
3. Jakmile se tento nápis změní na „ Načítání...».
4. Krátce stiskněte tlačítko na desce Pro mini RESETOVAT.
5. Náčrt bude nahrán na nástěnku a budete moci vidět nápis „ Vyloženo“ a blikající LED na desce.

Pokud náhodou máte v rukou adaptér USB na TTL, s pinem DTR (aka GRN, RESET), připojte jej k odpovídajícímu pinu RESET na desce Pro mini. V tomto případě při nahrávání náčrtu nebudete muset mačkat tlačítko RESET, deska se resetuje sama.

Tento adaptér, stejně jako PL2303, umožňuje flashovat desku Arduino. Schéma zapojení je následující:

Existují i ​​jiné USB adaptéry pro flashování firmwaru Arduino Pro mini např. na čip FT232, ale vzhledem k tomu, že je tento adaptér dražší, tak to neberu v úvahu.

Firmware pro Arduino Pro mini pomocí programátoru CH341A.

Programátor na čipu CH341A může pracovat v režimu UART, což znamená, že může flashovat Arduino Pro mini.

Programátor může být prezentován v různých vizuálních provedeních, přičemž hlavním rozdílem je cena a přítomnost dalších kontaktů. Mezi tyto kontakty lze například vést další +5V kontakt. Kupovaný tento kontakt neměl, musel jsem ho na desce připájet, abych získal toto napětí.

Chcete-li použít tento programátor jako adaptér UART, musíte otevřít kontakty P/S.

Pro připojení k Pro mini budete potřebovat kontakty na programátoru: Tx, Rx, GND A +5V. Další vlastností tohoto programátoru je, že na desce je kontakt DTR, který připojíte k desce Pro mini, nebude nutné mačkat tlačítko Resetovat, při vyplňování náčrtu. Chcete-li aktivovat tento kontakt, musíte použít kontakt MOSI, v režimu UART to funguje jako DTR.

V mé verzi programátoru nebyl na výstupu kontakt +5V, toto napětí jsem musel odebírat z nohy stabilizátoru. Konečné připojení je následující:

Pro mini CH341A
Tx Rx
Rx Tx
DTR MOSI
GND GND
VCC +5V

Stáhnout ovladač: Disk Yandex MEGA Cloud mail@ru

Po instalaci ovladače se ve Správci zařízení objeví virtuální COM port. Vyplňování náčrtů probíhá stejným způsobem jako prostřednictvím adaptérů PL2303 / CH340G, pouze s tím rozdílem, že nemusíte mačkat tlačítko Resetovat.

Je třeba poznamenat, že tento programátor lze připojit pouze k 5 voltům Arduino desky protože používá 5 voltů! Totéž platí pro ostatní zařízení, která vyžadují adaptér UART.

Firmware pro Arduino Pro mini přes COM port.

Nebude možné přímo flashovat desku přes COM port, protože COM port a Pro mini mají různé logické úrovně. K jejich koordinaci je potřeba použít adaptér na čipu MAX232. Čip sám o sobě není drahý, ale nevím, jestli se to vyplatí Pro firmware mini sestavení takového adaptéru, pokud cena není levnější než nákup USB adaptéru pro .

V každém případě uvádím schéma.

Abych se ujistil, že tato metoda funguje, musel jsem tento obvod sestavit sám na prkénku. Probíhá platba...

Většina modulů prodávaných jako součásti sad Arduino je deska s lineárním stabilizátorem a nápisem: „vstupní napětí od 3 do 5 voltů“ a samotné mikroobvody, které provádějí práci modulů, jsou často napájeny napětím 3,3 V, a může někdy fungovat při snížení na 3 nebo 1,8 V.

Tento modul pomůže optimalizovat velikost a zvýšit provozní dobu mého GPS loggeru...

Arduino je zabaleno v sáčku s čárovým kódem:



Možná je to původní modul?


LED indikátor napájení svítí zeleně, #13 svítí červeně:

Proč potřebujete toto konkrétní Arduino - 3,3 V, a ne jako všichni ostatní - 5 V za 1,4 $? Všechno je v pořádku, když potřebujeme ukázat zázrak, který se stane, když připojíme zařízení k Arduinu: koupíme moduly, připojíme je ke společnému 5V zdroji, nahrajeme skicu – a vše se leskne a bafne. Při vývoji více či méně používaných zařízení ale musíte myslet jak na energetickou účinnost, tak na kompaktnost – v důsledku toho polovina bloků navíc vyletí z obvodů.

Jak vidíte, procesor je Atmega328 tohoto modulu může pracovat při napětí 2,7 V a napětí prakticky klesá na stabilizátoru; pro srovnání na 5voltovém Arduinu (od předchozí verze GPS logger) jsem pozoroval napětí 3,6 V při napájení z 5 V na vstupu RAW.

Mimochodem, jakou rychlostí produkuje informace? Měl jsem soubor protokolu, za dvě minuty se nahromadí 5,42 KB (4336 KB) ~ 37 KB/s, pokud se nepletu, rychlost je téměř 15krát nižší.

Stejné zapojení, připojíme napájení bez stabilizátoru - přímo na VCC, TX -> 2:


Skript čte znak po znaku ze softwaru sériový port a zapíše do hardwarové místnosti, ke které jsme připojili programátor, a uvidíme, co vyjde:
#zahrnout // Chcete-li použít softwarový port. SoftwareSerial mySerial(2, 3); //Inicializuje pin 2 Arduina. char ch; // Vyrovnávací paměť. void setup() ( Serial.begin(9600); mySerial.begin(9600); ) void loop() ( // Pokud je znak načten ze softwarového potu, if ((ch = mySerial.read()) != -1) Serial.write(ch); // zapište to na hardware. )
V „Port Monitor“ jsou čáry charakteristické pro modul GPS:

Dříve napsaný kód je ve skutečnosti někdy chybný, takže je stále potřeba jej vylepšit. Po shromáždění této alfa verze:


přepsal scénář -

téměř hotový GPS záznamník

#zahrnout #define SER_SP 9600 // Rychlost sériového portu. Soubor flDataFile; // Soubor pro záznam řetězců GPS. char chGpsLint; // Proměnná pro uložení řetězce GPS, byte btReaded; // jeho délka. void setup() ( Serial.begin(SER_SP); // Nastavte port. if (!SD.begin()) // Pokud s kartou nemůžeme začít pracovat, delay(3600000); // nedělej nic na hodinu. flDataFile = SD.open("-NKK-LOG.GPS", FILE_WRITE); // Soubor k zápisu: if (!flDataFile) // pokud nemůžeme otevřít delay(3600000); // nedělat nic na hodinu. ) void loop() () void serialEvent() ( // Automaticky voláno, když dorazí nová data. while (Serial.available()) ( // Zatímco jsou na sériovém portu data, btReaded = Serial.readBytesUntil ("\n", chGpsLint, 128) ; // přečte řádek, pokud (btReaded > 45) // pokud je dlouhý alespoň tolik znaků, flDataFile.write(chGpsLint, btReaded); // zapíše data do soubor. ) flDataFile.flush(); // Vyprázdnění vyrovnávací paměti souboru. )

Zachyťte text při přerušení. Ten, který je zobrazen na fotografii výše, lze již připojit k baterii a používat, ale produkt je třeba dokončit!

Pro instalaci bylo rozhodnuto použít, ale před instalací by nebylo lepší přemýšlet o tom, jak by byly prvky uspořádány - Fritzing pomoci!


Nejobtížnější bylo dokreslit desku, ale je lepší trávit čas před obrazovkou počítače než ještě více času s páječkou a volit optimální uspořádání prvků.
„Hut“ vlevo - MicroSD->Adaptér paměťové karty SD;
LEDky vpravo nahoře: 3 pro kadenci a jedna pro indikaci stavu zařízení (selhání při přístupu na kartu, selhání při vytváření souboru, čekání na data z GPS), odpor bude SMD vůči zemi;
GPS modul není zobrazen: je umístěn na zadní straně desky;
bude také napájecí baterie;
vpravo dole - jack-3.5 pro připojení jazýčkového spínače, budete muset vyvrtat otvor do pouzdra poblíž jeho umístění.
Pustil jsem se do montáže, velikost desky mi vyšla přesně na velikost pouzdra. Zdá se mi, že jsem si ho vybral do tohoto pouzdra... Tavné lepidlo mi pomůže při uchycení modulů uvnitř pouzdra! Nejprve jsem chtěl vyřezat baterii do pouzdra:


Ale konstrukční vlastnosti určují, že je lepší umístit jej na desku:


Poté byl k desce připevněn modul GPS a jeho anténa (tak, aby ležela vedle baterie), kvůli nedostatku místa bylo nutné z antény odstranit „obrazovku“:


Aby bylo odstranění ještě pohodlnější, byla k desce připájena „rukojeť“:


Původně jsem plánoval namontovat modul Arduino přes konektory, ale protože výška pouzdra nestačila a nechtěl jsem nic řezat ani řezat, rozhodl jsem se ho připájet k desce chladným způsobem:


Poprvé jsem viděl takovou montáž desku na desku v modulu Bluetooth - ukázalo se to v pohodě. Jediným negativem je, že jej zpět bezbolestně odstraníte pouze fénem. Pro flashování připájem více kontaktů - deska je velká.
Výše uvedený obrázek mi pomohl správně zapájet adaptér paměťové karty, 2x jsem ho přepájel a potřetí jsem si vzpomněl na umístění kontaktů =)


Pro pohodlí jej opravujeme horkým lepidlem:

^-pod adaptérem jsou napájecí kontakty pro modul GPS, propojené propojkou: přes propojku přichází napájení z lineárního stabilizátoru Arduina. Při připojení k GPS modulu přes UART lze propojku odstranit, aby Arduino nezachytilo rozhraní.


Po zapnutí GPS udával GMT čas po 80 sekundách a údaje o poloze po 14 minutách! Je toho hodně, ale tohle je jen z balkonu.
Po přepnutí a připájení LED a kondenzátoru do RAW (28uF, pro případ, nalezené „extra“ díly):

^- pro připojení k programátoru vyčnívají kontakty na desce.
Na zadní straně výše zmíněný jumper umožňuje deaktivovat modul GPS při práci s Arduinem nebo Aruino při práci s modulem GPS pomocí programátoru UART:

^- kontakty se zobrazují samostatně pro snadné připojení k GPS.

Kryt, ve kterém je deska zajištěna, se nasadí na dno a zajistí (zatím gumičkami z komory). Spodní část je zase připevněna k volantu; k tomu jsou ve vrcholech obdélníku 4 otvory:


Pro LED displeje je potřeba řada otvorů na okraji, ale ty bude ještě potřeba upravit: buď LEDky upevním dovnitř, nebo otvory zalepím průhledným horkým lepidlem, ještě jsem se nerozhodl. Nalepeno na přední stranu pouzdra:


Spodní část je připevněna k volantu:


„Víko“ přilne ke dnu (a změní se na dno):


Po připevnění k volantu již nelze „spodní část“ sejmout a zařízení zůstává v krytu; lze jej vyjmout a použít samostatně pro ladění nebo nahrávání stopy, například jogu.

Tři modré LED indikátory kadence se rozsvítí podle následujícího vzoru:
[LED] [ * * * ] 130 + [ * * ] 120 [ * ] 110 [ * * ] 100 [ * ] 90 [ * * ] 80 [ * ] 70 70 - [Kadence]

Z toho, co bylo třeba udělat:
- poté bylo rozhodnuto jej programově zakázat;
- modul pro zvýšení napětí byl odstraněn, spotřeba proudu je kolem 95-125 mA - to je téměř 2krát méně ve srovnání s a nebyly zde žádné LED, z nichž každá spotřebovává 10-15 mA;
- SD připojen přímo;
- umístění LED a prvků uvnitř pouzdra koliduje s přáním udělat na desce univerzální/demontovatelný systém - pouzdro ve výsledku zůstává stejné a není téměř kam do něj zapojit baterii =)

Zdroj

/** * Kvůli četným žádostem * zveřejňuji dlouho očekávaný zdrojový kód, * bez ukazatelů kadence. * Jedna LED (17) svítí na začátku provozu * dokud není přijat první řetězec NMEA o délce 70 znaků. */ #zahrnout #define FILE_NM "-NKK-LOG.GPS" #define SER_SP 9600 #define RED_ON PORTC |= 0b000001000 // Zapnout nebo #define RED_OFF PORTC &= 0b111110111 // vypnout červenou LED. těkavé slovo wTotRev, // Celkový počet otáček pedálu; wTotRevLastWtd = 0; // poslední zapsaný do logu. Soubor flNMEA; // Soubor pro záznam řetězců GPS. char chNMEA; // Proměnná pro uložení řetězce GPS, byte btReaded; // jeho délka. bool bWaitingGps = true; // Příznak čekání na první aktuální data GPS. void setup() ( delay(800); // Když je zapnuto, napájecí kontakty mohou poskakovat. pinMode(17, OUTPUT); // Stavové LED diody zařízení. while (!SD.begin()) ( // Zatímco SD karta není detekována , RED_ON; delay(150); // bliká. RED_OFF; delay(500); ) flNMEA = SD.open(FILE_NM, FILE_WRITE); // Kontrola práce se soubory. if (!flNMEA) // Pokud dojde k chybě při otevírání souboru, zatímco (true) (​// blikne 2x. RED_ON; delay(150); RED_OFF; delay(150); RED_ON; delay(150); RED_OFF; delay(500); ) Serial.begin(SER_SP); // Začněme pracovat se senzorem GPS. RED_ON; ) // setup() // void loop() ( ) // loop() // void serialEvent() ( // Automaticky voláno když dorazí nová data. while (Serial.available( )) ( // Když jsou na sériovém portu data, přečtěte si. btReaded = Serial.readBytesUntil("\n", chNMEA, 128); if (bWaitingGps) ( // Pokud GPS ještě nevytváří aktuální data, if (btReaded > 70 ) ( // zkontrolujte je. bWaitingGps = false; RED_OFF; flNMEA.write(chNMEA, btReaded); ) ) else if (btReaded > 0) // Pokud dříve GPS vydaná aktuální data, flNMEA.write(chNMEA, btReaded); // zápis do souboru. ) flNMEA.flush(); // Obnovení vyrovnávací paměti souboru. ) // serialEvent() //

Produkt byl poskytnut k napsání recenze obchodem. Recenze byla zveřejněna v souladu s článkem 18 Pravidel webu.

Mám v plánu koupit +21 Přidat k oblíbeným Recenze se mi líbila +16 +36

Arduino + dvě serva + nabíjecí deska + deska boost konvertoru + stará baterie + hromada rádiových komponent + kus překližky + přepínač = splněný sen idiota!
Spousta textu pro ty, kteří rádi čtou. Spousta spoilerů pro ty, kteří rádi čtou diagonálně. Video pro ty, kteří milují videa. Skica pro ty, kteří rádi okamžitě kopírují a běhají „na koleně“. Foto, foto, foto. Kočka, pro milovníky koček.

Ve skutečnosti to není vyloučení odpovědnosti

Toto je můj první projekt, kromě blikající LEDky, Hello world atd. Podle tradice si musíte nejprve nasypat popel na hlavu, abyste se ujistili, že kód není ani zdaleka dokonalý, a určitě se zapojte do sporu o toto. A pokud jde o částečné kopírování kódu z jiného projektu, požádejte, abyste se příliš nebili atd. Ale to se nestane. Kód je perfektní! Protože to funguje, líbí se mi to a udělal jsem si to pro sebe.
Zájemcům poradím: nebojte se, zapojte se do bitvy, nasypte hory kódu, postavte si vlastní megapyramidy z různých operátorů. Postupem času přijde styl, sofistikovanost a ideál.
Dokud je místo v paměti ovladače, ničeho se nebojíte. Pokud narazíte na zeď, budete optimalizovat. A to je také vývoj. Je to důležité.
Velká kniha o programování v C – ano, užitečná. Zpočátku je však mnohem užitečnější mít po ruce rychlou referenční příručku k příkazům a mít v záložkách několik odkazů pro práci s jednoduché příklady, knihovny atd., jako, nebo stejný Ampere.
Také mi hodně pomáhají vývojové diagramy. Obdélník, kosočtverec, ovál. Kdo se s tím setkal, chápe. Dělám teď jeden projekt – bez vývojového diagramu to nezvládnu. Pro mě je lepší kreslit několik dní - překreslovat na papír, abych si jasněji představil celý tok programu, než zapisovat hromadu kódu a zaseknout se v něm, protože... Nemám schopnost pokrýt celý kód silou svých programátorských myšlenek kvůli svým omezeným zkušenostem.
Těm, kteří si to chtějí zopakovat nebo udělat po svém, zodpovím všechny dotazy.
Nebudu vstupovat do prázdných sporů o mém psaní, stylu, designu, kódu a nezbytnosti produktu atd. Pokud jsem někde v recenzi udělal závažnou chybu, opravím ji nebo doplním.

Můžete si vygooglit, co je „nejužitečnější zařízení“. Narazil jsem na to náhodou. Tento kód byl vzat jako základ, protože nespustilo se to samo od sebe a chtěl jsem vytvořit vlastní skripty.

Lyrická odbočka

Říká se, že po čtyřicítce, zvláště když už máte hodně po čtyřicítce, musíte zkusit „prohýbat“ mozek. A že učit se jazyky je ta nejlepší rozcvička. A nejen v tomto věku. Na jazyky moc nejsem, ale časopis Zdraví jakoby radí... Obecně jsem se rozhodl naučit se něco nového pro sebe. Elektronika mi není cizí, i když jsem většinu zapomněl, ale programování mi nikdy nebylo povědomé. Bál jsem se ho. Zde se ale shodovalo mnoho příznaků shora: časopis „Zdraví“, který doporučuje naučit se něco nového, dávný sen porozumět (alespoň trochu) programování (aspoň něco) a youtube, ve kterém nemluví jen líní o tom, jak blikat LED pomocí chytrého poplatku za dolar a cent.
Předtím jsem docela dobře zvládal blikání LED pomocí dvou tranzistorů, kondenzátoru a páru rezistorů, ale teď se říká, že to není comme il faut. Takže musíte být v trendu.


Toto zbytečné, v přeneseném slova smyslu, zařízení se mi moc líbilo. Viděl jsem to a zamiloval jsem se. Chci to, to je vše! Jako dětský sen! Ale věk udělal své vlastní úpravy. Chci si to vyrobit sám, ne kupovat. Hlavně že je ve slevě jednoduchá zařízení. Narazil jsem na „intelektuální“, ale nic podobného jsem v prodeji nenašel. Navíc se to musí udělat!
A opět Arduino. A já v tom nebum-bum. Takže na to musíme přijít. Aliexpress na záchranu. Začal jsem s Arduinem. Pochopil jsem, že cesta ke studiu bude trnitá a oběti jsou nevyhnutelné. Tak jsem si objednal pět různých. Nechte je hořet, kdyby něco. Ladění okruhu proběhlo na Uno od jiného prodejce. Ale protože tato konkrétní deska byla ve finálním zařízení, byla zahrnuta do názvu.
Kromě Arduina jsem si objednal obrovské množství všemožného harampádí, jak kompatibilního s Arduinem, tak téměř Arduina. Zde vám řeknu pouze to, co bylo užitečné v tomto produktu.

Arduino Pro Mini


Doručení je rychlé, baleno ve standardním antistatickém sáčku a obálce s pupínkovým vnitřním povrchem. Prodejce je společenský, rusky mluvící.
Na čipu 328. 3,3 V, 8 MHz. proč tomu tak je? Ano, omylem. Chtěl jsem 5 voltů, 16 MHz, ale koupil jsem tento. Je to moje vlastní chyba. Pro tento projekt to však není kritické - nainstaloval jsem další měnič napětí. To je vše. Žádné velké rozdíly od ostatních Mini jsem nenašel. Rozdíl ve značce je černý textolit(?) Ze zárubní: RAW pin na desce nefunguje. Ale ani to nepřestalo. I když, ušetřit by s ním mohl převodník 3,3 V. Hřebeny nejsou pájené. Deska je vyrobena dobře.
Proč tak krátké? Protože ohledně tohoto prodejce a jeho poplatků již existuje podjatost (bod 18). Kdo chce, snadno najde. Nemá smysl to převyprávět. Do komentářů jsem k tomu přidal i své dva centy. A hodně jsem si dopisoval s prodejcem.


Servopohon SG90


3,2 $ za šarži dvou kusů.
Není zde nic zvláštního k popisu. Slabý servopohon s průměrnou přesností polohování, která je vysoce závislá na rychlosti pohybu. Ale je to levné. Pro pohon víka - více než dost, pro „ruku“ - na hranici možností. K provozu vyžaduje 5 voltů, ale pro ovládání stačí 3,3. Zkoušel jsem to ovládat přes převodník i přímo z Arduina - rozdíl není. Převaděč úrovní tedy ušetřil peníze.


Regulátor nabíjení a měnič napájení


2,28 $ za pět kusů. S ochranou. Během nabíjení svítí červená LED, po dokončení nabíjení svítí modrá LED. Tady byla recenze.


0,50 $ každý. Doručení je však placené, ale z tohoto obchodu jsem koupil spoustu dalších věcí, takže doručení nebylo otravné. Zásuvka USB byla odstraněna, aby se snížila hmotnost))) Výstup produkuje 5,12 voltů.





Vzal jsem to offline. Trochu těsný. Pro usnadnění chodu serva bylo možné jej rozebrat, zkrátit pružinu nebo vyměnit za slabší. Ale lenost zvítězila. Dal jsem to takhle. Pravda, musel jsem do kódu napsat přísady do úhlu natočení serva při vysokých rychlostech.


TTL převodník


1,5 $ za kus. Vlastně jsem si ho objednal jako první. Je to poloviční cena. Ale z nějakých podivných důvodů zemřel hrdinskou smrtí. Pořád nechápu, jak jsem ho zabil. Z tohoto důvodu se projekt na měsíc zastavil, dokud nepřišel nový, pokročilejší – není třeba mačkat reset. Není to pokrok?


Zbytek je ze skladu

Regulátor napětí 1117T-3,3V v pouzdře TO220, kondenzátory 1500,0x6,3 a 470,0x16, dva kondenzátory 0,1 μF, bílá LED a mikrospínač z dětského auta, rezistor 220 Ohm. Baterie ležela několik let nevyužitá. Jednou jsem rozebral vypálený (doslova) přenosný DVD přehrávač. Jediná dobrá věc, která tam byla, byly baterie, které přežily. Zde je jeden z nich, který přišel vhod. Napětí 3,7 V, kapacitu jsem v označení nenašel.
Lepicí pistole, gumička na peníze, dva háčky z... podprsenky (díky mé ženě. Miláčku, miluji tě!), dvě nábytkové hmoždinky, čtyři šrouby, čtyři nalepovací nárazníky na nábytková dvířka, kousek prkénka, dráty, konektory.


S trupem byla situace složitější. Bylo vyzkoušeno mnoho krabic. Plastová krabička od hodinek Tissot se ukázala jako křehká, částečně kartonová. Ale zvedly se z toho kovové závěsy. Dokonce jeden zbyl na skladě. Zkoušela jsem hotové obaly na parfémy, krabičku na víno a bonboniéru. Nakonec jsem se rozhodl, že to udělám sám.
V dětské hořící stavebnici byla nalezena kvalitní překližka, nejspíš bříza. Dítě vyrostlo - sada zůstává. Na jedné straně byla kresba, ale druhá strana vypadala abych to řekl na rovinu, vynikající

Jednoduše řečeno, skvělé

Ve škole jsme měli Trudovika. Letitý. Obecně je to úžasný člověk. Byl respektován. Když jsme prošli elektřinou na příkladu baterie, žárovky a klíče, udělal nám přednášku.
"V baterii je proud." Nyní vychází z pozitivního a sleduje dráty. Jde, jede, najednou bum - klíč je na cestě. A klíč je otevřený. Tok chápe, že není kam jít dál. Otočil se a šel do baterie. A světlo se nerozsvítí. Zavíráme klíč. Proud znovu začal téct, dosáhl klíčku, prošel jím, prošel žárovkou a vrátil se do baterie. A žárovka svítí, upřímně řečeno, perfektně.“ Od té doby je v lexikonu takové slovní spojení, jako synonymum něčeho nečekaně úspěšného.




Zkoušel jsem řezat překližku pilkou na železo a skládačkou, ale nefungovalo to. Třísky, které se pak obtížně odstraňují, a nerovný okraj. Našel jsem cestu ven - ostrý papírnický nůž. Prořízne polovinu překližky na jedné straně a polovinu na druhé straně. Pak trochu obroušení a vše v pořádku. Ale s dobrým kovovým pravítkem a neustále ostrou čepelí získáte dokonalý řez a rovnou linii.
Samozřejmě ne bez chyb - pod nálepkou Hand made se skrývá banální otvor. Vyvrtal jsem to uprostřed pro přepínač. Servo ale nesedělo. Musel jsem posunout páčkový přepínač na stranu a zavřít díru. Takové potíže mě neděsí.
Nevidím smysl popisovat každé kýchnutí spojené s výrobou zařízení. Popíšu některé body. A kdo má ruce, ať to dělá.
Krabičku jsem sestavil pomocí tavného lepidla. Samotné lepidlo jsem nešetřil. Perfektně drží. Nevrže, nehraje. Rychlé, levné a veselé. A obecně, jak jste si všimli, téměř vše drží pohromadě toto lepidlo. Doporučuji. Velmi to urychluje proces montáže. Vypínací mikrofon jsem nalepil zevnitř na levou stěnu - na fotce je to trochu vidět.
Víko bylo připevněno k závěsu.

Trpěl jsem se závojem. Hodně jsem experimentoval. Chtěl jsem, aby víko bylo umístěno nahoře na krabici, a ne uvnitř. Dokonce jsem z kancelářských sponek ohýbal několik verzí sponkových závěsů. Poe si později vzpomněl, že při pokusech ho zaujaly závěsy z krabice hodinek Tissot. Tak dobře, Švýcar (Číňan?).
Závoj je důležitá věc. Jeho kvalita je pro celek velmi důležitá vnější krása zařízení.
Hlavní páčkový přepínač musí být měkčí, pak to půjde snadněji.
Víko je vráceno do uzavřené polohy elastickým pásem. Není třeba volit příliš tuhou - servo to zvládne, ale pokud je závěs umístěn uprostřed, víko se zkroutí.
V případě překližky je lakování povinné - velmi se špiní. Použila jsem čirý tsaponový lak. Jednoduše proto, že nikdo jiný po ruce nebyl.
Je lepší umístit servo, které ovládá „ruku“, jinak. Ne na boku, ale před páčkovým spínačem. Pak může být „rameno“ jednodušší na výrobu – ve tvaru L, místo ve tvaru U. Šířku krabice lze zmenšit a pákový přepínač umístit do středu.
Je lepší otočit servo víka o 180 stupňů, pak v kódu bude jednodušší spojit stupně tohoto serva s ovládáním víka. U mě je to naopak, takže otevření znamená snížení stupňů. Ale pro „ruku“ je to naopak. A správnější je zatlačit na víčko ze stejné strany, ze které ho gumička stahuje zpět.
Krabice by neměla být příliš malá. Nebude to pohodlné používat. Ale plošší je přijatelný. Krabice je lehká a pokud bude plošší, bude stabilnější. Pohodlnější bude stisknout páčkový přepínač prstem, aniž byste drželi krabičku.
Ze dvou kusů prkénka jsem udělal něco jako štít. Připájeno do Arduina bez konektorů. Těsně. Nevadí mi to.


Všechny periferie jsem ale vyrobil na konektorech. Je to pohodlnější.
Kondenzátor velká kapacita Je vyžadován napájecí zdroj pro arduino (3,3 V). Bez něj Arduino visí.
Nemám montážní výkresy zařízení. Je to tak jednoduché, že lze použít mnoho dalších jednoduchá řešení, na kterém jsou založeny všechny mechaniky. Na videu, jak mém, tak i dalších podobných zařízeních, můžete vidět použité možnosti pohonu.

#zahrnout #zahrnout Servo dveřní Servo; //kryt servopohonu Servo handServo; //servo paže Bounce bouncer = Bounce(12, 40); //vytvoří instanci třídy Bounce pro pin 12 přepínače int pos = 0; //proměnná výchozí pozice int pos1door = 70; //počáteční poloha serva víka int pos2door = 30; //konečná poloha serva krytu int pos1hand = 10; //počáteční poloha ručního serva int pos2hand = 160; //konečná poloha serva ramene int r; //náhodné číslo, na kterém závisí možnost vypnutí přepínače #define LED_PIN 11 // číslo výstupu připojeného k LED int ledState = LOW; // nastavení stavu LED s touto proměnnou long previousMillis = 0; // uložení času posledního sepnutí LED #define INTERVAL 30UL // interval mezi zapnutím/vypnutím LED void setup() ( pinMode(LED_PIN, OUTPUT); pinMode(12, INPUT); // přepínač pin 12 do vstupního režimu digitalWrite(12, 1); //zapněte na něm pull-up rezistor Serial.begin(9600); //nastavte port na rychlost 9600 bps. Pro ladění. Poté jej můžete odebrat. doorServo .attach(9); //přiřadit servo víka k pinu 9 handServo.attach(10); //přiřadit ruční servo k pinu 10 doorServo.write(pos1door); //nastavit servo víka do výchozí polohy handServo. write(pos1hand); //nastaví ruční servo do výchozí polohy ) void loop() ( if (bouncer.update()) ( if (bouncer.read()==0) ( //pokud je stisknuto tlačítko ( r = random(0,11); //vygenerování náhodného čísla jn 0 až 10 Serial.println® ; if (r == 0) ( move_0(); ) //volání funkce pomocí náhodného čísla else if (r == 1) ( move_1(); ) else if (r == 2) ( move_2(); ) else if (r == 3) ( move_3(); ) else if (r == 4) ( move_4() ; ) else if (r == 5) ( move_5(); ) else if (r == 6) ( move_0(); ) else if (r == 7) ( move_1(); ) else if (r == 8 ) ( move_4(); ) else if (r == 9) ( move_3(); ) else if (r == 10) ( move_0(); ) ) ) ) // Knihovna funkcí. Obecná zásada: otevřete víko - natáhněte ruku a vypněte páčkový vypínač - sundejte ruku - zavřete víko // a jsou možnosti, jak to krásně ozdobit............ void move_0( ))( //jednoduchá možnost: open-turned-closed //otevřete víko pro (pos = pos1door; pos >= pos2door; pos -=3) ( doorServo.write(pos); delay(15); ) // natáhnout ruku pro (pos = pos1ruka; pos<= pos2hand; pos +=3) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand; pos >= pos1ruka; pos -=3) ( handServo.write(pos); delay(15); ) //zavření víka pro (pos = pos2door; pos<= pos1door; pos +=3) { doorServo.write(pos); delay(15); } } void move_1(){ //простой вариант 2: открыли-выключили-закрыли //открываем крышку for(pos = pos1door; pos >= pos2door; pos -=1) ( doorServo.write(pos); delay(15); ) delay(1000); //natáhněte ruku pro (pos = pos1ruka; pos<= pos2hand; pos +=1) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand; pos > <= pos1door; pos +=5) { doorServo.write(pos); delay(15); } } void move_2(){ //задумчивый вариант 2: приоткрыли-закрыли-открыли-выключили-закрыли //открываем крышку for(pos = pos1door; pos >= pos2dveře+15; pos -=5) ( doorServo.write(pos); delay(15); ) delay(1000); //zavřete víko pro(pos = pos2dveře+15; pos<= pos1door; pos +=5) { doorServo.write(pos); delay(15); } delay(1000); //открываем крышку for(pos = pos1door; pos > <= pos2hand+2; pos +=5) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand+2; pos >= pos1ruka; pos -=5) ( handServo.write(pos); delay(15); ) //zavření víka pro (pos = pos2door; pos<= pos1door; pos +=5) { doorServo.write(pos); delay(15); } } void move_3(){ //дерганый вариант: приоткрыли-подергали - закрыли-открыли-выключили-закрыли //открываем крышку for(pos = pos1door; pos >= pos2dveře+15; pos -=1) ( doorServo.write(pos); delay(50); ) delay(500); //zatáhněte víko pro (int i=1; i<=8; i ++) { doorServo.write(pos2door+18); delay(80); doorServo.write(pos2door+15); delay(80); static unsigned long previousMillis = 0; if(millis() - previousMillis >INTERVAL) ( previousMillis = millis(); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); ) ) delay(500); //zavřete víko pro(pos = pos2dveře+15; pos<= pos1door; pos +=1) { doorServo.write(pos); delay(50); } delay(1000); //открываем крышку for(pos = pos1door; pos >= pos2door; pos -=5) ( doorServo.write(pos); delay(15); ) //vystrčit ruku pro (pos = pos1hand; pos<= pos2hand+2; pos +=5) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand+2; pos >= pos1ruka; pos -=5) ( handServo.write(pos); delay(15); ) //zavření víka pro (pos = pos2door; pos<= pos1door; pos +=5) { doorServo.write(pos); delay(15); } } void move_4(){ //открываем крышку delay(2000); for(pos = pos1door; pos >= pos2dveře+15; pos -=5) ( doorServo.write(pos); delay(50); ) delay(500); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); zpoždění (2000); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); zpoždění(500); //zavřete víko pro(pos = pos2dveře+15; pos<= pos1door; pos +=5) { doorServo.write(pos); delay(50); } delay(1000); //открываем крышку не полностью for(pos = pos1door; pos >= pos2dveře+15; pos -=1) ( doorServo.write(pos); delay(50); ) delay(2000); //úplně otevřete víko for(pos = pos2door+15; pos >= pos2door; pos -=1) ( doorServo.write(pos); delay(15); ) //vystrčte ruku pro (pos = pos1hand; poz<= pos2hand-35; pos +=1) { handServo.write(pos); delay(35); } delay(1000); //высовываем руку for(pos = pos2hand-35; pos <= pos2hand+3; pos +=4) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand+3; pos >= pos1ruka; pos -=7) ( handServo.write(pos); delay(15); ) //zavření víka pro (pos = pos2door; pos<= pos1door; pos +=7) { doorServo.write(pos); delay(15); } delay(500); //открываем крышку for(pos = pos1door; pos >= pos2dveře+20; pos -=5) ( doorServo.write(pos); delay(50); ) delay(300); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); zpoždění(500); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); zpoždění(100); //zavřete víko pro(pos = pos2dveře+20; pos<= pos1door; pos +=1) { doorServo.write(pos); delay(50); } } void move_5(){ //возня for(int i=1; i <=2; i ++) { for(pos = pos1door; pos <= pos1door+45; pos +=5) { doorServo.write(pos); delay(50); } for(pos = pos1door+45; pos >= pos1dveře; pos -=5) ( doorServo.write(pos); delay(50); ) delay(100); ) //zatáhněte víko pro (int i=1; i<=3; i ++) { doorServo.write(pos1door-6); delay(80); doorServo.write(pos1door-3); delay(80); } delay(300); //открываем крышку digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos1door; pos >= pos2dveře+25; pos -=5) ( doorServo.write(pos); delay(50); ) delay(500); //otevřete kryt digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos2dveře+25; pos >= pos2dveře+10; pos -=5) ( doorServo.write(pos); delay(50); ) //otevření dveří digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos2door+10; pos >= pos2door-5; pos -=2) ( doorServo.write(pos); delay(50); ) //natáhni ruku pro (pos = pos1hand; pos<= pos2hand-35; pos +=9) { handServo.write(pos); delay(35); } delay(1000); //убираем руку for(pos = pos2hand-35; pos >= pos2hand-70; pos -=1) ( handServo.write(pos); delay(15); ) delay(1000); //natáhněte ruku pro (pos = pos2hand-70; pos<= pos2hand+3; pos +=9) { handServo.write(pos); delay(15); } delay(50); //убираем руку for(pos = pos2hand+3; pos >= pos1ruka; pos -=7) ( handServo.write(pos); delay(15); ) //zavření krytu digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(poz = poz.2dveře-5; poz<= pos1door+3; pos +=5) { doorServo.write(pos); delay(50); } }

Náčrt navržený autorem z odkazu na začátku recenze se mi neosvědčil. A to jsem ještě nebyl profík, kterým jsem teď))))))))
Obecně jsem začal chápat. V důsledku toho jsem si na základě někoho jiného vytvořil vlastní náčrt. Přidána ochrana proti odskoku. Bylo by samozřejmě jednodušší nainstalovat rezistor s kondenzátorem, ale opravdu jsem to chtěl naprogramovat.


Schéma je v zásadě jasné z náčrtu. Ale stejně ji přinesu. Omlouvám se za kvalitu - jak jsem mohl. Vzal jsem trochu jinou desku převodníku - v předním pohledu jsem ji nezjistil.


Pro skicu nejsou žádná zvláštní vysvětlení. Možná okamžik přidání několika stupňů úhlu natočení, když je rychlost serva vysoká. Všiml jsem si, že pokud „ruka“ náhle vyskočí, nevypne přepínač. To je samozřejmě způsobeno špatnou kvalitou serv. Proto musíte trochu přidat k úhlu odjezdu „paže“. Mám podezření, že s opakováním se pro vás tyto další stupně mohou lišit. Záleží na rameni „paže“.
A o programech. Programů je zatím šest. Voláno pomocí generování náhodných čísel. Jednoduché programy (0, 1 a 2) jsou navíc volány častěji než běžné. Všem mým testerům se zdálo, že sofistikovanější programy by měly být vzácným příjemným bonusem, pak se objeví jistá záludnost. Takže jsem udělal.
Pro milovníky čísel je velikost krabičky: délka - 150mm, výška - 70mm, šířka - 65mm.

Youtube velmi zhoršil kvalitu. Pokud se potřebujete podívat na originál, stáhněte si ho. 21 MB.
Zde byl náčrt upraven tak, aby vám umožnil vidět všech šest programů postupně, abyste o nich měli představu. V životě, jak jsem psal, mají pseudonáhodné pořadí.



Nabíjení probíhá přes micro-USB s běžnou mobilní nabíječkou. Životnost baterie velmi závisí na frekvenci používání. Někdy na několik dní a někdy „zabiju“ za den.


Konečně.
Projekt je však možné dále rozvíjet a zlepšovat. Můžete vymýšlet nové scénáře. Můžete přidat výškový reproduktor a hlasovat v zařízení. Nechte ho například „vrčet“, jako by se vztekal, pokud je doba mezi vypnutím a zapnutím přepínače velmi krátká. Stejně jako v původním projektu můžete přidat pohyb krabice v různých směrech.
Můžete zabudovat kontrolu pro případ, kdy „ruka“ z nějakého důvodu nevypnula přepínač (například v chladu servo nedosahuje požadovaného úhlu docela málo) a upravit úhel jeden po druhém, psaní jakési „nervózní“ zprávy speciálně pro takový případ » program vypnutí. Nano můžete nainstalovat a programovat přes USB, aniž byste zařízení pokaždé rozebírali.

A obecně – můžete to udělat opatrněji. Existuje mnoho různých možných věcí. Vlastně to je přesně to, co navrhuji udělat těm, kteří se o to zajímají.
Možná mi něco uniklo. Toto je trochu recenze na tak jednoduché zařízení. To je to, za co se mohu omluvit.
Teď kočka a děkuji, že jste dočetli až do konce.

6,3 $ (aktuálně 1,43)

Arduino Pro Mini kompletní s USB-UART adaptérem na čipu CP2102 jsem si koupil před 1,5 rokem (ceny za ně od té doby výrazně klesly) a celou tu dobu mi leží na poličce. Každý se nemohl dostat k tomu, aby na tomto ovladači něco dělal. Důležitou roli v tom sehrál fakt, že flashnout náčrtek v Arduino Pro Mini, ač není obtížné, je o něco obtížnější než v Arduinu UNO, Mega nebo Nano.

A tak jsem se rozhodl tento ovladač použít v jednom ze svých projektů, stále leží ladem.

PODROBNOSTI Arduino Pro Mini

ATmega168 nebo 328

Provozní napětí

3,35 – 12 V (model 3,3 V) nebo 5 – 12 V (model 5 V)

Digitální I/O piny

14 (z toho 6 poskytuje PWM výstup)

Analogové vstupní piny

Stejnosměrný proud na I/O pin

16 kB (z toho 2 kB používá bootloader)

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

Náhodou jsem měl 16MHz 5voltový model na čipu ATmega 328. Jak se ukázalo při rozboru dat z internetu, existují desky řadiče, které nemají signál DTR veden. V mém případě je vše správně zapojeno. Sada obsahovala převodník USB-UART.

Platforma obsahuje 14 digitálních vstupů a výstupů (6 z nich lze použít jako PWM výstupy), 6 analogových vstupů, rezonátor, resetovací tlačítko a otvory pro montáž kolíků. Blok šesti pinů lze připojit k desce převodníku USB-UART.

Arduino Pro Mini je svými technickými vlastnostmi a parametry velmi podobné Arduinu Nano. Na šířku jsou stejně velké, ale délka Arduino Pro Mini je asi o 1 cm kratší.

10 mm je hodně. Pokud ale do desky připájete piny pro připojení USB-UART, všechny výhody této desky oproti Nano mizí. V současné době stojí Arduino Pro Mini o 0,25 $ méně než Arduino Nano. Je to nepodstatné. Neexistují žádné další výhody a nevýhody, pouze nevýhody.

A hlavní nevýhodou je složitější načítání skic.

Skicu lze flashovat několika způsoby.

Jedním ze způsobů je použít Arduino UNO jako USB-UART. Na internetu je spousta návodů, jak to udělat, takže se tím nebudu zdržovat.

Druhým způsobem je použití samotného adaptéru USB-UART. Mám ho a ten „správný“, tak jsem se rozhodl ho použít. Jak adaptér funguje? Arduino komunikuje s čipem převodníku přes běžný UART a k počítači se připojuje přes USB. Počítač rozpozná připojený adaptér jako COM port.

Nahrát skicu do Arduino Pro Mini, jak se později ukázalo, není vůbec těžké. Stačí připojit vodiče ze sady 5 pinů na adaptéru a Arduinu:

(Konvertor)<->(Arduino)

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

Na mém Arduino Pro Mini je signál DRT označen GRN. Nebylo snadné uhodnout, co je co, zvláště když na jednom ze stránek „laskavý“ poradce napsal, že GRN je třeba propojit s GND. Internet je velké smetiště a není to poprvé, co jsem se přesvědčil, že lidé, kteří jsou nejochotnější poradit na fórech, nejsou ti, kteří skutečně rozumí diskutovanému tématu. GRN je tedy DTR.

Pro ty, kteří nevědí, co je DTR:
Datový terminál připraven (DTR) - řídicí signál v sériový datový protokol, přenášený z koncového zařízení (DTE) do přijímacího zařízeník označení, že terminál je připraven ke komunikaci.

V Arduinu signál DTR iniciuje signál Reset v okamžiku, kdy se začne přenášet skica.

Možné místo připojení DTR<->GRN připojte adaptér DTR přes 0,1uF kondenzátor k Reset Arduino Pro Mini. Taky to tak funguje, vyzkoušeno. Je to přes kondenzátor. Navzdory skutečnosti, že na fórech a mnoha stránkách je napsáno, že potřebujete přímo propojit DTR a RESET, s přímým připojením se skica nepřenáší. Alespoň mi nic nefungovalo s přímým připojením.

Teoreticky, jak píšou na internetu, můžete nahrát náčrt bez DTR stisknutím reset na desce ovladače přesně v okamžiku zahájení nahrávání. Několikrát jsem se snažil zachytit tento okamžik, ale nepodařilo se mi to. Netrénoval jsem své dovednosti ve snaze resetovat ve správný čas; je snazší důvěřovat čipu převodníku CP2102, že dodá signál Reset.

Ale ne všechny CP2102 jsou si rovny. Na eBay a AliExpress se prodává spousta levných padělků, se kterými se lidé potýkají a často je musí upravovat, aby mohli nahrát skicu do Arduino Pro Mini. V těchto adaptérech není signál DTR z pinu 28 čipu CP2102 směrován. Některé mají označení Rx a Tx zaměněné. To je důvod, proč je na online fórech tolik návodů, které si vzájemně odporují a někdy jednoduše uvádějí čtenáře v omyl. Strávil jsem asi dvě hodiny čtením těchto nesmyslů (nechtěl jsem znovu vynalézat kolo, myslel jsem, že ušetřím čas) a snažil jsem se napsat náčrt do ovladače pomocí těchto pokynů. V důsledku toho se ukázalo, že všechny pokyny pro můj adaptér CP2102 nefungují. Ukázalo se, že je to ten „správný“, ve kterém bylo aplikováno správné značení a všechny signály byly správně směrovány.

Stačilo zapojit všechny vodiče a vše fungovalo.

Pokud tedy stojíte před nutností nahrát skicu v Arduino Pro Mini přes USB-UART, nejprve zkontrolujte, zda je signál DTR veden na desce Arduino Pro Mini. Četl jsem, že jsou desky, na kterých se to nevede. V tomto případě můžete využít možnost připojení DTR signálu z adaptérové ​​desky USB-UART k RESET pinu Arduino Pro Mini přes kondenzátor 0,1-0,15 µF.

Za druhé zkontrolujte, zda je signál DTR připojen k některému kolíku na desce adaptéru USB-UART. Pin může být a dokonce může být podepsán jako DTR, ale není připojen k pinu 28 čipu CP2102. Pokud není pin 28 tohoto mikroobvodu nikde zapojen, je třeba zajistit jeho připojení k pinu DTR. Pokud je někde v obvodu zapojen pin 28, je potřeba tuto stopu odříznout a připojit přímo na pin DTR.

Správnost označení Rx a Tx na falešné desce CP2102 lze určit experimentálně, jsou pouze 2 možnosti.

Na internetu jsem četl i návod, že je potřeba nahrát skicu pomocí USB-UART adaptéru CP2102 v režimu “Upload via programmer”, prý jedině tak vše funguje. Nevím, zda autor tohoto opusu záměrně klame čtenáře, nebo zda měl něco jiného než USB-UART adaptér CP2102, ale tato rada je MYLNÁ!

Prostřednictvím adaptéru USB-UART CP2102 počítač vidí Arduino Pro Mini, jako by bylo připojeno k portu COM, tedy stejně jako ostatní Arduina, která mají na desce adaptér USB-UART.

Proto se náčrtky nahrávají do Arduino Pro Mini stejným způsobem jako do jiných modelů Arduino. Stačí pouze vybrat model Pro Mini v programovacím prostředí Arduino, poté v další položce, která se objeví, vybrat jeden ze 4 možných typů procesoru (ATmega168 nebo 328, 3,3 nebo 5V) a virtuální COM port, který se objevil po instalaci Ovladače adaptéru USB-UART. Poté můžete použít tlačítko stahování nebo Ctrl-U. Pokud je vše správně zapojeno, na typu a modelu adaptéru nezáleží, skici se nahrávají přes UART. Jednoduše vybereme COM port, kterým je adaptér určen.

Po 2 hodinách čtení fór a stránek s „návody“ a „tipy“, které byly z 99 % nesprávné, alespoň nebyly vhodné pro mé konkrétní modely Arduino Pro Mini a USB-UART adaptér CP2102, se mi podařilo vše připojit a nahrát správně do ovladače mírně upravený náčrt blikání LED. Donutil jsem ho mrkat SOS v morseovce.

Tady je skica, kdyby to někoho zajímalo:

// funkce nastavení se spustí jednou, když stisknete reset nebo zapnete desku
void setup() (
// inicializuje digitální pin 13 jako výstup.
pinMode(13, OUTPUT);
}

// funkce smyčky běží stále znovu a znovu
void loop() (
zpoždění(100); // počkej
zpoždění(300); // počkej
digitalWrite(13, VYSOKÉ); // zapněte LED (HIGH je úroveň napětí)
zpoždění(100); // počkej
digitalWrite(13, NÍZKÁ); // vypněte LED tak, že snížíte napětí
zpoždění(300); // počkej
digitalWrite(13, VYSOKÉ); // zapněte LED (HIGH je úroveň napětí)
zpoždění(100); // počkej
digitalWrite(13, NÍZKÁ); // vypněte LED tak, že snížíte napětí
zpoždění(300);
digitalWrite(13, VYSOKÉ); // zapněte LED (HIGH je úroveň napětí)
zpoždění(300); // počkej
digitalWrite(13, NÍZKÁ); // vypněte LED tak, že snížíte napětí
zpoždění(300); // počkej
digitalWrite(13, VYSOKÉ); // zapněte LED (HIGH je úroveň napětí)
zpoždění(300); // počkej
digitalWrite(13, NÍZKÁ); // vypněte LED tak, že snížíte napětí
zpoždění(300); // počkej
digitalWrite(13, VYSOKÉ); // zapněte LED (HIGH je úroveň napětí)
zpoždění(300); // počkej
digitalWrite(13, NÍZKÁ); // vypněte LED tak, že snížíte napětí
zpoždění(300); // počkej
digitalWrite(13, VYSOKÉ); // zapněte LED (HIGH je úroveň napětí)
zpoždění(100); // počkej
digitalWrite(13, NÍZKÁ); // vypněte LED tak, že snížíte napětí
zpoždění(300); // počkej
digitalWrite(13, VYSOKÉ); // zapněte LED (HIGH je úroveň napětí)
zpoždění(100); // počkej
digitalWrite(13, NÍZKÁ); // vypněte LED tak, že snížíte napětí
zpoždění(300); // počkej
digitalWrite(13, VYSOKÉ); // zapněte LED (HIGH je úroveň napětí)
zpoždění(100); // počkej
digitalWrite(13, NÍZKÁ); // vypněte LED tak, že snížíte napětí
zpoždění(300); // počkej
zpoždění(1500); // počkejte 1,5 sec.
}

Závěry:

Kdybych se nesnažil ušetřit čas „znovuobjevením kola“ a netrávil čas čtením zbytečných (dokonce škodlivých) tipů a návodů na fórech a webech, připojení a flashování Arduina Pro Mini by netrvalo 2 hodiny, ale maximálně 5-10 minut.

Koupil jsem si svou sadu Arduino Pro Mini a USB-UART adaptér CP2102, která byla na dnešní poměry docela drahá. Pravdou je, že mě utěšuje, že adaptér je správný a jsou na něj připojeny všechny signály.

Arduino Nano je parametry a funkcemi totožné s Arduino Pro Mini, stojí jen o něco málo více (maximálně 25-50 centů), ztrácí 1 cm na velikosti (a s pájenými kolíky neztrácí Arduino Pro Mini vůbec), ale je mnohem pohodlnější při použití díky vestavěnému USB-UART a společnému MicroUSB konektoru.

Arduino Pro Mini není nejoblíbenější deska, zadejte „Arduino Nano“ do vyhledávání na eBay a seřaďte vzestupně podle ceny a uvidíte, jak mazaní Číňané velmi levně prodávají spoustu Arduino Pro Mini v této sekci a míjejí pryč jako Nano? v naději, že na to kupující nepřijde a s využitím nízké ceny si tyto ovladače koupí. Veškerou svou naději vkládají pouze do zákazníků, kteří jsou hlupáci.

Doporučil bych koupit Arduino Pro Mini? Pro začátečníka - ne. Ano – člověku, který přesně ví, co to je, jaké to má nevýhody a zda stojí za ty mizivé úspory.

Znovu opakuji, že flashování Arduino Pro Mini není obtížné, ale stojí tento povyk s připojením kabeláže nebo Arduino UNO za cenový rozdíl 0,2 - 0,25 $. Zvláště pokud musíte ovladač připojit k počítači pro ladění mnohokrát, ale co když je v pouzdře? Pokud si myslíte, že připojení a odpojení 5 vodičů desetkrát až patnáctkrát je výhodnější než platit 20 centů, tento ovladač je pro vás.

To je vše. Podělil jsem se o své zkušenosti a vyjádřil svůj názor, je na vás, jak se rozhodnete.

P.S. Uplynulo trochu času a trochu jsem změnil názor na Arduino Pro Mini. Dokonce i úspora 25-50 centů je hodně, zvláště pokud je sestavena malá dávka produktů používajících tento ovladač. Je jasné, že pro malou dávku je lepší integrovat řadič přímo na desku, než používat hotové Arduino (stále jde spíše o ladicí desku). Možnosti jsou ale různé, někdy existují již hotové desky a můžete je upgradovat a rozšířit jejich funkčnost integrací Arduina. Bude to levnější než stavět nové desky.

A přítomnost USB-UART adaptéru na palubě produktu předávaného uživateli je zcela zbytečná a dokonce škodlivá. Arduino Pro Mini má tedy právo na život.