Obsah:

Sériový řadič na bázi Arduina: 6 kroků
Sériový řadič na bázi Arduina: 6 kroků

Video: Sériový řadič na bázi Arduina: 6 kroků

Video: Sériový řadič na bázi Arduina: 6 kroků
Video: Using Micro SD Card and Data logging with Arduino | Arduino Step by Step Course Lesson 106 2024, Červenec
Anonim
Sériový řadič na bázi Arduina
Sériový řadič na bázi Arduina
Sériový řadič na bázi Arduina
Sériový řadič na bázi Arduina

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 …

Věci, které můžete potřebovat…
Věci, které můžete potřebovat…
Věci, které můžete potřebovat…
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

Připojte hardware
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

Naprogramujte Arduino
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

Nainstalujte software
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

Použijte program rozhraní
Použijte program rozhraní
Použijte program rozhraní
Použijte program rozhraní

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í

Buďte kreativní!
Buďte kreativní!
Buďte kreativní!
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: