Obsah:

Ovládejte zařízení v reálném světě pomocí počítače: 15 kroků (s obrázky)
Ovládejte zařízení v reálném světě pomocí počítače: 15 kroků (s obrázky)

Video: Ovládejte zařízení v reálném světě pomocí počítače: 15 kroků (s obrázky)

Video: Ovládejte zařízení v reálném světě pomocí počítače: 15 kroků (s obrázky)
Video: Tento Tvar Je NEMOŽNÝ Nakreslit!😱 2024, Listopad
Anonim
Ovládejte zařízení v reálném světě pomocí počítače
Ovládejte zařízení v reálném světě pomocí počítače

Tento Instructable vám ukáže, jak propojit PC a mikrokontrolér. Toto demo bude snímat hodnotu potu nebo jakéhokoli analogového vstupu a také ovládat servo. Celkové náklady jsou nižší než 40 $ včetně serva. Servo zapne mikrospínač a poté mikrospínač rozsvítí lampu. V praktické aplikaci může být hrnec teplotním čidlem a servo může zapínat ohřívač. Servo by mohlo být nahrazeno relé nebo jiným regulátorem výkonu. Picaxe je naprogramován ve zjednodušené verzi basic a rozhraní používá VB. Net. Veškerý software je k dispozici zdarma. Související instruktáž ukazuje, jak propojit dva mikrokontroléry přes internet

Krok 1: Shromážděte součásti

Shromážděte díly
Shromážděte díly

Seznam dílů: Čip Picaxe 08M dostupný z mnoha zdrojů včetně Rev Ed https://www.rev-ed.co.uk/picaxe/ (UK), PH Anderson https://www.phanderson.com/ (USA) a Microzed https://www.microzed.com.au/ (Austrálie) Protoboard, servo, mikrospínač, 9V baterie, 4xAA baterie a držák, tag, 10k odpor, 22k odpor, 33uF 16V kondenzátor, 0,1uF kondenzátor, 7805L nízký výkon 5V regulátor, 10k pot, vodiče (telefon s pevným jádrem/datový kabel např. Cat5/6), 6V žárovka, zásuvka a krytka D9, 2 metry 3 (nebo 4) jádrového datového vodiče, svorky na baterie Výše uvedené společnosti také prodávají USB sériovým zařízením které jsou užitečné pro notebooky, které nemají sériový port. Stojí za zmínku, že některá zařízení USB na sériová zařízení nefungují stejně dobře jako jiná a stojí za to získat jedno od jednoho z výše uvedených dodavatelů, protože byly testovány pro použití s picaxe čipy. Ten, o kterém je známo, že funguje, je https://www.rev-ed.co.uk/docs/axe027.pdf Samozřejmě, pokud váš počítač má sériový port (nebo starou kartu sériového portu), pak to nebude být problém.

Krok 2: Stáhněte a nainstalujte nějaký software

Stáhněte a nainstalujte nějaký software
Stáhněte a nainstalujte nějaký software

Budeme potřebovat software VB. Net a ovladač picaxe. VB. Net (Visual Basic Express) je k dispozici na adrese https://msdn2.microsoft.com/en-us/express/aa718406.aspx Pokud tento odkaz nefunguje, vyhledejte na Googlu pro: vizuální základní expresní stahování Software picaxe je k dispozici na adrese https://www.rev-ed.co.uk/picaxe/ K získání stahování se budete muset zaregistrovat u společnosti Microsoft - pokud se jedná o problém, použijte falešný e -mail nebo něco. Vlastně mi přišlo užitečné dát svůj skutečný e -mail, protože odesílají příležitostné aktualizace.

Krok 3: Vytvořte obvod pro stahování

Vytvořte obvod pro stahování
Vytvořte obvod pro stahování

Tento stahovací obvod používá čip picaxe, pár odporů, regulátor a 9V baterii. Další informace jsou k dispozici v dokumentaci k picaxe, a to by mělo trvat jen několik minut, než budou všechny části po ruce.

Mohu také dodat, že picaxe běží šťastně na 3 AA baterie. Regulované napájení 5 V je užitečné pro spouštění analogových vstupů, protože referenční napětí se nemění, ale pro jednoduché obvody zapnutí/vypnutí není regulované napájení potřeba. V těchto situacích lze vynechat 5V reg.

Krok 4: Protoboardové rozložení obvodu pro stahování

Protoboardové rozložení obvodu pro stahování
Protoboardové rozložení obvodu pro stahování

Tato fotografie ukazuje stahovací kabel, který je jednoduše zástrčkou D9 a několik metrů několika vícežilového kabelu. Většina moderních počítačů má připojení k sériovému portu D9. Počítač postavený zhruba před rokem 1998 může mít 25kolíkový konektor. Na konec ohebných vodičů jsem připájel asi 1 cm drátu s plným jádrem a pak jsem kolem toho dal tepelný smršť - dráty s plným jádrem jdou do protoboardu mnohem lépe než ohebné dráty.

Krok 5: Stáhněte si program Picaxe

Stáhněte si program Picaxe
Stáhněte si program Picaxe

Stahujte kliknutím na modrou šipku. Pokud se nestáhne, jsou v návodu k použití picaxe nějaké návrhy na ladění. Můžete zkusit stáhnout jednoduchý program pro zapnutí a vypnutí LED a zkontrolovat, zda čip funguje. Tento program, jaký je, nedělá nic, dokud není připojen k počítači, protože čeká, až mu počítač něco pošle. Pokud se stáhne v pořádku, funguje a čip je naprogramován a dalším krokem je překonfigurování čipu na čip sériového rozhraní.

Zkopírujte a vložte níže uvedený kód. Chcete -li jej zobrazit pomocí syntaxe barev, podívejte se do zobrazení/Možnosti/Editor. Barevné konvence jsou podobné VB. Net main: serin 3, N2400, ("Data"), b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13 readadc 1, b1 'přečtěte pot a poté odešlete zpět serout 0, N2400, ("Data", b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13) vyberte případ b0 'číst datový bit b0 případ <140' pokud <140 pak nastavit servo na jednu pozici servo 2, 120 pauza 1000 'pauza druhá servo 2, 160 pauza 1000 endselect low 2' vypnout servo, protože serin to stejně dělá přejít na hlavní

Krok 6: Překonfigurujte obvod jako obvod sériového rozhraní

Překonfigurujte obvod jako obvod sériového rozhraní
Překonfigurujte obvod jako obvod sériového rozhraní

V obvodu picaxe byly provedeny dvě jemné změny. 22k rezistor, který dříve chodil do 2. etapy, nyní přechází do 4. etapy a 2. uzemnění bylo uzemněno. Jediným účelem části 2 je přijímat programovací data z počítače, takže jakmile je čip naprogramován, může být spojen se zemí. Pokud se vrátíte k programování čipu k opravě chyb atd., Odpojte nohu 2 od země a znovu připojte 22k k noze 2. Picaxe mluví zpět k počítači přes nohu 7, takže to není třeba měnit.

Byl přidán hrnec a bylo přidáno servo. Servo není opravdu nutné a LED a 1k odpor by fungovaly dobře a/nebo jakýkoli obvod, který chcete připojit. Právě jsem použil servo, abych ukázal, jak se kliknutím na něco na obrazovce může něco skutečně pohnout. Servo je napájeno z vlastního napájecího zdroje. Toto samostatné napájení by nebylo potřeba, pokud by picaxe pouze zapínaly a vypínaly LED. Picaxe je připraven jít - teď potřebujeme nějaký kód VB.

Krok 7: Napište nějaký kód rozhraní VB

Napište nějaký kód rozhraní VB
Napište nějaký kód rozhraní VB

Jakmile je VB. Net nainstalován, spusťte jej, vyberte Soubor/Nový projekt a vyberte Windows Application. Můžete kliknout na Soubor/Uložit vše hned na začátku a uložit kamkoli chcete, a pak v budoucnu buď spustit projekt z VB. Net, nebo kliknutím na soubor.sln, který bude vytvořen.

Krok 8: Navrhněte formulář VB. Net

Navrhněte formulář VB. Net
Navrhněte formulář VB. Net

VB vytvoří nový prázdný formulář s názvem Form1.vb. Pokud je projekt jednoduchý, můžete jej nyní nebo později změnit nebo jej ponechat jako Form1. Necháme to tak. Abychom přidali nějaké ovládání, musíme otevřít panel nástrojů, který je zakroužkován zeleně. Panel nástrojů lze otevřít a zavřít, kdykoli je to potřeba - obvykle je prvním krokem přidání ovládacích prvků, zavření panelu nástrojů a práce na kódu. Můžete jej nechat stále otevřený, ale zabírá trochu obrazovky.

Krok 9: Přidejte časovač

Přidejte časovač
Přidejte časovač

Posunuli jsme se dolů po panelu nástrojů a vybrali časovač. Dvojitým kliknutím na časovač jej přidáte. V dolní části obrazovky se objeví obrázek hodin s názvem Timer1 a vpravo nahoře jsou zvýrazněny vlastnosti časovače. Můžete je upravit nebo je lze změnit v textovém těle kódu. Necháme je tak, jak jsou a změníme je v textu.

Kromě toho panel nástrojů vypadá trochu skličující, ale pro většinu programů je potřeba jen několik - mezi ně patří tlačítka, textová pole, štítky, časovače, obrázková pole, zaškrtávací políčka a políčka rádia. Možná otevřete nový program a někdy si s některými zahrajte.

Krok 10: Přidejte pár tlačítek

Přidejte pár tlačítek
Přidejte pár tlačítek

Klikněte na nástroj tlačítka a nakreslete velikost tlačítka na Form1. Budeme potřebovat dvě tlačítka, rámeček obrázku a štítek. Pokračujte a přidejte je - další snímek obrazovky ukazuje, že jsou všechny nakreslené. Velikost a pozice nejsou důležité a můžete je později přejmenovat, pokud chcete.

Krok 11: Formulář s přidanými všemi ovládacími prvky

Formulář se všemi přidanými ovládacími prvky
Formulář se všemi přidanými ovládacími prvky

Formulář 1 je nyní rozložen. Políčko vedle Button2 je malé obrázkové pole. Můžete do toho vložit obrázky, ale my to použijeme k označení, které tlačítko bylo stisknuto, změnou z červené na zelenou. Label1 zobrazuje registry picaxe.

Krok 12: Přidejte nějaký kód

Přidejte nějaký kód
Přidejte nějaký kód

Vpravo zakroužkováno zeleně je několik užitečných tlačítek - druhé zprava je tlačítko Zobrazit kód a pravé tlačítko je Návrhář zobrazení. V praxi při psaní kódu jde člověk tam a zpět mezi těmito pohledy. Obecně platí, že pokud se člověk nachází v režimu Návrháře, dvojitým kliknutím na objekt, jako je tlačítko, se v zobrazení kódu objeví místo pro přidání nějakého kódu nebo se přejde na část kódu, která se spustí po stisknutí tlačítka. Tímto způsobem se tok programu stává zcela intuitivním - uživatel klikne na věci a kousky kódu, spustí a změní obrazovku atd. Pro naše účely budeme podvádět a vkládat celou desku pracovního kódu. bude mít Formulář veřejné třídy1… Koncová třída - zvýrazněte toto a odstraňte jej. Nyní vezměte veškerý níže uvedený kód a vložte jej do. Imports System. IOImports Strings = Microsoft. VisualBasic 'tak může používat věci jako left (and right (for stringsPublic Class Form1Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Integer)' pro příkazy spánkuDim WithEvents serialPort jako nový IO. Ports. SerialPort 'sériový port deklarujeDim PicaxeRegisters (0 až 13) jako Byte' registruje b0 až b13Private Sub Form1_Load (ByVal sender As Object, ByVal e As System. EventArgs) Handles Me. LoadTimer = True 'při vytváření to v kódu nastaví jako výchozí na hodnotu falseTimer1. Interval = 5000' 5 sekundPictureBox1. BackColor = Color. Red 'nastaveno na pozici' red'Array. Clear (PicaxeRegisters, 0, 13) 'pravděpodobně není potřeba jako deklarované pole blankEnd SubPrivate Sub Timer1_Tick (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles Timer1. Tick 'timer ticks every 5 secondsCall SerialTxRx ()' talk to picaxeEnd SubSub SerialTxRx () Dim LabelString As String 'string to display values byte DataP acket (0 To 17) As Byte 'all data packet "Data" +14 bytesDim i As Integer' i is always useful for loops etcLabel1. Text = "" 'clear the text on the screenFor i = 0 To 3DataPacket (i) = Asc (Mid ("Data", i + 1, 1)) "přidejte slovo" Data "do packetNextFor i = 0 až 13DataPacket (i + 4) = PicaxeRegisters (i) 'přidejte všechny bajty do packetNextIf serialPort. IsOpen ThenserialPort. Close () 'jen v případě, že již byl otevřenEnd IfTryWith serialPort. PortName = "COM1"' Většina nových počítačů je standardně nastavena na com1, ale jakýkoli počítač před rokem 1999 se sériovou myší bude pravděpodobně výchozí na com2. BaudRate = 2400 '2400 je maximální rychlost pro malé picaxes. Parity = IO. Ports. Parity. None 'no parity. DataBits = 8' 8 bits. StopBits = IO. Ports. StopBits. One 'one stop bit. ReadTimeout = 1000' milliseconds so times out in 1 second pokud žádná odpověď. Open () 'open the serial port. DiscardInBuffer ()' clear the input buffer. Write (DataPacket, 0, 18) 'send the datapacket arrayCall Sleep (300)' 100 milliseconds minimum to wait fo r data se vrátí a více, pokud je datový tok delší. Přečíst (DataPacket, 0, 18) 'přečíst zpět v poli datových paketů. Close ()' zavřít sériový portEnd WithFor i = 4 To 17LabelString = LabelString + "" + Str (DataPacket (i)) 'proměnit na textový řetězecNextLabel1. Text = LabelString' umístit textový řetězec na screenCatch ex As Exception'MsgBox (ex. ToString) 'odkomentujte to, pokud chcete vidět skutečnou chybovou zprávuLabel1. Text = " Timeout "'to zobrazí, pokud picaxe nejsou připojeny atd. 120 'libovolná hodnota pro servoEnd SubPrivate Sub Button2_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles Button2. ClickPictureBox1. BackColor = Color. Green' box to greenPicaxeRegisters (0) = 160 'arbitrární hodnota pro třída servoEnd SubEnd

Krok 13: Spusťte program

Spusťte program
Spusťte program

Zapněte picaxe, pokud není zapnutý. Spusťte program vb.net kliknutím na zelený trojúhelník v horní části obrazovky poblíž středu. Napravo od běžeckého trojúhelníku jsou tlačítko pro pozastavení a tlačítko pro zastavení, nebo lze program zastavit kliknutím vpravo nahoře x nebo pomocí Soubor/Konec, pokud jste přidali nabídku. Program lze zkompilovat, pokud chcete, ale pro ladění ho nechte spuštěný v rámci VB. Časovač odesílá bajty každých 5 sekund, takže zobrazení displeje trvá 5 sekund. Štítek1 zobrazuje výpis 14 registrů picaxe. Ty jsou odeslány do picaxe a poté znovu odeslány zpět. Není téměř nutné posílat všech 14 a váš kód lze upravit tak, aby vyhovoval. Druhý bajt s hodnotou 152 je hodnota potu, která se mění z 0 na 255. Pokud kliknete na tlačítko 1, odešle hodnotu 120 v prvním bajtu a pokud kliknete na tlačítko 2, odešle 160 a program picaxe je dekóduje a přesune servo. Tento kód ukazuje, jak odesílat data a získávat data zpět z mikrokontroléru. Mikrokontrolér dokáže zapnout nejrůznější zařízení - mám doma asi 30 spuštěných postřikovačů, světel, zabezpečení, detekci aut na příjezdových cestách, zapínání řady 3,6 kW čerpadel a snímání hladiny vody v nádržích. Picaxes lze daysychained na společné sběrnici a dokonce mohou navzájem komunikovat prostřednictvím rádiových spojů. Je také možné nahrávat a stahovat data z webových stránek, a proto používat internet k připojení zařízení kdekoli na světě https://www.instructables. com/id/Worldwide-microcontroller-link-for-under-20/Další dvě stránky také obsahují několik příkladů použití různých senzorů a ovládání různých zařízení. Dr. James MoxhamAdelaide, Jižní Austrálie

Krok 14: Vstupní zařízení

Vstupní zařízení
Vstupní zařízení

Programátor picaxe obsahuje několik velmi užitečných souborů nápovědy, z nichž jeden se nazývá „Propojovací obvody“a je také k dispozici na adrese https://www.rev-ed.co.uk/docs/picaxe_manual3.pdf Toto ukazuje, jak ovládat motory, vnímat prostředí a další užitečné ovládání. Kromě těchto cirucitů existuje několik, které používám znovu a znovu. Teplota - snímač teploty LM35 produkuje napětí, které může jít přímo do picaxe a lze jej číst příkazem readadc nebo readadc10. Světlo - odpor závislý na světle má odpor, který se pohybuje od několika stovek ohmů na jasném slunečním světle až po více než 5 megohmů v černé barvě. Změřte odpor na úrovni světla, na které chcete přepnout, a zapojte LDR do série s odporem přibližně stejné hodnoty. Například jsem chtěl detekovat světla auta vjíždějícího do přístřešku pro rozsvícení některých světel. Odpor byl asi 1M od nepřímého světla, takže jsem dal 1M do série s LDR. Přepínač - některé přepínače přepínají mezi 5 V a 0 V (jednopólový přepínač s dvojitým vrháním), ale některé se zapínají a vypínají. Pokud se přepínač zapne, může poslat 5V na čip picaxe, ale pokud je vypnutý, pin picaxe by byl „plovoucí“a mohl by mít libovolnou hodnotu. Tento obvod ukazuje, jak vytáhnout vstup na zem, když je vypínač vypnutý. Toto je obvod, který se používá pro většinu tlačítkových spínačů. Potentiomter - starý dobrý knoflík. Otočte knoflíkem a odečtěte napětí na čipu. Existují nejrůznější další elektronická zařízení, která vytvářejí napětí od 0 do 5 V nebo je lze snadno nakonfigurovat. Příkladem jsou magnetické senzory, vlhkost, rychlost, dotek, infračervené světlo, tlak, barva a zvuk. Senzory obecně stojí jen několik dolarů každý.

Krok 15: Ovládání zařízení

Ovládání zařízení
Ovládání zařízení

Soubor nápovědy picaxe obsahuje skvělé vysvětlení ovládání motorů a světel. Kromě toho jsem zjistil, že existuje několik obvodů, které používám znovu a znovu. První je jednoduchý tranzistorový obvod. Picaxe čip může zapnout maximálně 20 mA na pin, což je dobré pro zapnutí LED, ale nic jiného. Tranzistor 547 zvyšuje proud na 100 mA, což je dobré pro malé žárovky. Druhý obvod ukazuje mosfet. Mosfety k jejich pohonu nepotřebují prakticky žádný proud - pouze volty, takže je lze přímo ovládat picaxem. K dispozici jsou nejrůznější mosfety, ale já dávám přednost BUK555 60B https://www.ortodoxism.ro/datasheets/philips/BUK555-60A.pdf Lze jej napájet přímo z 5 V (na rozdíl od některých, které vyžadují 10 V), ale hlavní výhodou je, že má při zapnutí extrémně nízký odpor - 0,045 ohmů, což není o mnoho více než odpor vodičů, které by k němu člověk připojil. To znamená, že se nezahřívá při jízdě s poměrně vysokou zátěží, což šetří energii a také šetří náklady na chladič. Například řízení 5ampové zátěže jako automobilový světlomet; watty = proud na druhou x odpor, takže W = 5*5*0,045 = 1,12 wattů, což by vyžadovalo pouze chladič jako 1palcový čtvercový kus tenkého hliníku. Třetí obvod ukazuje relé. Pro všechna relé existuje několik parametrů - napětí cívky, odpor cívky a napětí a proud zátěže. Například relé může mít cívku 12 V s cívkovým proudem 30 mA, odpor cívky 400 ohmů a může být schopen napájet až 240 V na 1 amp. Proud cívky je více voltů a zesilovačů, než může poskytnout picaxe, takže k přepínání cívky používáme tranzistorový obvod. Součástí je také dioda - to potlačí zadní EMF, když se relé vypne. Zpět EMF je to, co vytváří jiskru pro zapalovací svíčku, takže nechcete, aby tato vysoká napětí byla kdekoli v obvodu. Kontakty budou mít maximální proud a volty - proud může být několik ampérů a napětí je často 240 V, takže přepínání na 12 V nebo 24 V bude v dosahu. Pokud nemáte zkušenosti s elektronikou, nehrajte se síťovým napětím. Existují také malá relé, která mají napětí cívky 5 V nebo 6 V. U těchto relé možná nebudete potřebovat samostatné napájení 12 V, ale stačí sledovat odpor cívky, protože mnohé z nich mají odběr proudu přes 100 mA. Pokud ano a používáte 78L05 100mA 5V regulátor, můžete to změnit na regulátor 7805, který může dodávat až 1 ampér. Relé jsou zvláště užitečné pro spínání AC - např. Solenoidů zahradních postřikovačů 24 VAC, zahradních světel 12VAC a v elektricky hlučných prostředích, jako je auto. Jsou také užitečné pro ovládání velkých zátěží, např. Picaxe dodávajícího 20mA při 5V = 0,1W ovládající tranzistor 12V při 100mA = 1,2W do relé 24V 100mA = 2,4W do stykače pohánějícího 3600W čerpadlo. Pokud chcete takto ovládat napájení, požádejte elektrikáře, aby zapojil ovládací skříňku a poskytl vám dva vodiče (cívkové vodiče pro relé 12V), které můžete ovládat. Elektrikář se tak může odhlásit na napájecí skříňce a vy můžete provádět veškerou elektroniku, aniž byste se museli obávat zásahu elektrickým proudem. Další použití pro relé je zpětné ovládání motoru. Pomocí modulace šířky pulsu do mosfetu můžete ovládat rychlost stejnosměrného motoru a pomocí výkonového relé DPDT můžete změnit směr. Jedná se o jednoduchý způsob ovládání velkých motorů, jaké se používají v „robotických válkách“. Pokud potřebujete pomoc s budováním něčeho, napište komentář.

Doporučuje: