Obsah:
- Krok 1: Věci, které můžete potřebovat …
- Krok 2: Připojte hardware
- Krok 3: Naprogramujte Arduino
- Krok 4: Nainstalujte software
- Krok 5: Použijte program Interface
- Krok 6: Buďte kreativní
Video: Sériový řadič na bázi Arduina: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:25
Jedná se o jednoduchý sériový řadič pro více serv na základě Arduina. (můj první návod také:))
Většina práce v této oblasti pocházela z toho, že se software dostal k rozhovoru s arduino a vytvořil protokol pro předávání dat. Pokud jde o hardwarový aspekt, použil jsem pouze dvě serva (zde standardní servo Parallax.) Sparkfun Arduino ProtoShield a Arduino Duemilanove s ATMEGA328, ale většina těchto částí může být nahrazena podobnými položkami. Tento projekt jsem vymyslel jako součást RC systému, ale nastavení komunikace trvalo hodně času. Pokud má někdo nějaké vylepšení, nápady nebo chyby, neváhejte se vyjádřit. EDIT: Napsal jsem to před chvílí, nedávno jsem to zveřejnil.
Krok 1: Věci, které můžete potřebovat …
Některé věci, které budete ke stavbě potřebovat. 1. Deska Arduino (zvolíte) 2. dvě (nebo jedno) servo 3. propojovací vodiče 4. Visual Studio 2008 Express - odkaz (volitelně) 5. Arduino IDE - odkaz Omlouváme se fanouškům Linuxu a Apple, můj program běží pouze na Windows prozatím, ale stále můžete ručně odesílat sériové příkazy na arduino bez změny kódu.
Krok 2: Připojte hardware
V tomto kroku není nic složitého. Stačí připojit jedno servo na pin 9 a druhé na pin 10.
Krok 3: Naprogramujte Arduino
nyní můžete skicu nahrát na arduino.
Zde je jednoduché členění kódu: #include Servo myservo; // vytvoření objektu serva k ovládání serva Servo myservo1; int incomingByte = 0, datacount = 0, counter = 0, ready = 0; // pro příchozí sériová data char data [10]; const char verify [8] = "ma11hew"; char příkaz [3]; void setup () {myservo.attach (9); myservo1.attach (10); Serial.begin (38400); // otevírá sériový port, nastavuje rychlost přenosu Serial.println („Ahoj Arduino tady!“); // přidáno k identifikaci sériového portu Tím se nastaví sériový port a serva. int i; pro (i = 0; i <180; i ++) {myservo.write (i); zpoždění (15); } myservo.write (5); pro (i = 0; i <180; i ++) {myservo1.write (i); zpoždění (15); } myservo1.write (5); } Jednoduchý pohyb zametáním k ověření správného fungování serv. void loop () {připraveno = 0; čítač = 0; while (1 == 1) {if (Serial.read ()! = verify [counter]) {break; } if (counter == 6) {delay (20); příkaz [0] = Serial.read (); příkaz [1] = Serial.read (); // if (Serial.read () == ((příkaz [1] * 12) % 8)) // {ready = 1; //} Serial.println ("uložený příkaz"); } čítač ++; zpoždění (2); } toto zkontroluje sériovou vyrovnávací paměť pro správný autorizační řetězec a poté chytí dva bajty pro příkaz. komentovaný příkaz if umožňuje provizorní kontrolní součet, ale ztěžuje ruční rozhraní. ready lze nastavit na 0, takže příkazy nebudou analyzovány, jako v případě poškozených dat. // prohledávání příkazů if (ready == 1) {if (příkaz [0] == 'T') {příkaz [0] = 0; Serial.print ("ovládání plynu na pinu 9:"); Serial.println (mapa (příkaz [1], 32, 126, 2, 180), DEC); myservo.write (mapa (příkaz [1], 32, 126, 2, 180)); } if (příkaz [0] == 'S') {příkaz [0] = 0; Serial.print ("ovládání plynu na pinu 10:"); Serial.println (mapa (příkaz [1], 32, 126, 2, 180), DEC); myservo1.write (mapa (příkaz [1], 32, 126, 2, 180)); }}} zbytek kódu je vyhledat příkaz pro platné příkazy (T nebo S.), pokud se shodují, vezme další bajt a odešle jej na servo. více na mapě (příkaz [1], 32, 126, 2, 180) později … zde uvedený kód lze rozšířit o vše, co byste mohli potřebovat (např. světla, motory, IR atd.), tento kód by měl fungovat bez modifikace.
Krok 4: Nainstalujte software
Mám dva způsoby, jak nainstalovat tento … nsis instalační program: Stáhněte si níže uvedený samorozbalovací instalační program a spusťte jej. Během instalace budete mít možnost nainstalovat zdroje. instalační binární balíček nainstaluje základní c ++ dll, takže jej lze spustit na počítači bez již nainstalovaného vizuálního c ++. Jakmile instalační program skončí, můžete jej spustit z plochy nebo z nabídky Start. zip cesta (neověřeno): Stáhněte a spusťte, mělo by to fungovat. možná. (Archiv zip má stejnou strukturu složek vytvořenou instalačním programem, bez zdrojů. Nemám počítač bez vizuálního studia, na kterém bych ho mohl vyzkoušet, takže nemusí fungovat.)
Krok 5: Použijte program Interface
Chcete -li program použít, nejprve vyberte přenosovou rychlost definovanou v náčrtu arduino. Výchozí hodnota neupraveného náčrtu je 38 400 baudů, ale lze ji změnit tak, aby vyhovovala vašim potřebám, například pro pomalejší rádiové spojení. poznámka: přenosové rychlosti vyšší než 38400 nebyly příliš stabilní, domnívám se, že je to proto, že se uart zaplní, než mohou být data zpracována. Dále vyberte port COM, který chcete použít. program má výchozí nastavení COM4, určitě jej změňte, jinak program spadne. Nakonec klikněte na otevřít. Pokud vše proběhlo dobře, program otevře vybraný sériový port při zvolené přenosové rychlosti. Pokud ne, program pravděpodobně spadne s neošetřenou výjimkou. ujistěte se, že je port správný, a zkuste to znovu. Pomocí textových polí můžete odeslat přímé příkazy arduinu. „Mapa (příkaz [1], 32, 126, 2, 180)“škáluje všech 94 možných příkazů, * mezera * až ~, čitelné arduinem v ASCII na 2 až 180 pro servo. libovolný bajt menší než ASCII 32 (mezera) nebo vyšší než 126 (~), výchozí hodnota je 63 (?) Panely kolejí poskytují příjemnější rozhraní pro přímé příkazy. každý krok posílá postupně arduino sériový příkaz.
Krok 6: Buďte kreativní
Vymyslete skvělé věci, které s tím můžete udělat. Několik nápadů: 1. Dálkový plyn pro auto. 2. Držák 3D kamery 3. podvodní rover Bavte se !!
Doporučuje:
CPU a GPU řízený řadič ventilátoru: 6 kroků (s obrázky)
CPU & GPU Driven Fan Controller: Nedávno jsem upgradoval svoji grafickou kartu. Nový model GPU má vyšší TDP než můj CPU a starý GPU, takže jsem také chtěl nainstalovat další ventilátory skříně. Můj MOBO má bohužel pouze 3 konektory pro ventilátory s regulací otáček a lze je připojit pouze k
PID řadič VHDL: 10 kroků
PID Controller VHDL: Tento projekt byl mým posledním projektem pro dokončení bakalářského titulu Honors z Cork Institute of Technology. Tento výukový program je rozdělen na dvě části, první bude pokrývat hlavní část kódu PID, což je hlavní účel projektu a sekundární
Řadič barev UCL-IIoT: 7 kroků
Řadič barev UCL-IIoT: Úvod V této instrukci se pokusíme vysvětlit, jak se chystáme programovat a jak shromažďujeme stroj na třídění barev. Bude naprogramován v Arduino Uno prostřednictvím Arduino Software. Tento projekt je volitelný v naší studii. Význam
Vizualista, řadič analogových video efektů 80. let: 5 kroků
Vizualista, řadič analogových video efektů 80. let: Video efekty v reálném čase se zvukově reaktivním psychedelickým obrazem. Při hledání na internetu najdete mnoho obvodů zvukových efektů, ale obvody analogových obrazových efektů jsou vzácné. Proč? Není zájem? Visualist je projekt z roku 2011, ale já jsem
Řadič barev na bázi pásového dopravníku TIVA: 8 kroků
Řadič barev na bázi pásového dopravníku TIVA: Elektronické pole má široké uplatnění. Každá aplikace potřebuje jiný obvod a jiný software a také konfiguraci hardwaru. Mikrokontrolér je integrovaný model integrovaný v čipu, ve kterém lze spouštět různé aplikace s