Tartalomjegyzék:

A valós világ eszközeinek vezérlése számítógéppel: 15 lépés (képekkel)
A valós világ eszközeinek vezérlése számítógéppel: 15 lépés (képekkel)

Videó: A valós világ eszközeinek vezérlése számítógéppel: 15 lépés (képekkel)

Videó: A valós világ eszközeinek vezérlése számítógéppel: 15 lépés (képekkel)
Videó: ChatGPT-4 A mesterséges intelligenciával beszélgettünk. Milyen irányba megy az emberiség? 2024, Július
Anonim
Irányítsa a valós világ eszközeit a számítógépével
Irányítsa a valós világ eszközeit a számítógépével

Ez az útmutató bemutatja, hogyan kell csatlakoztatni a számítógépet és a mikrokontrollert. Ez a bemutató érzékeli az edény vagy bármely analóg bemenet értékét, és egy szervót is vezérel. A teljes költség a szervóval együtt 40 dollár alatt van. A szervó bekapcsol egy mikrokapcsolót, majd a mikrokapcsoló lámpát. Egy gyakorlati alkalmazásban az edény lehet hőmérséklet -érzékelő, és a szervó bekapcsolhatja a fűtőtestet. A szervót le lehet cserélni egy relére vagy más teljesítményszabályozóra. A picaxe az alap egyszerűsített változatába van programozva, és a felület a VB. Net -et használja. Minden szoftver ingyenesen elérhető. A kapcsolódó Instructable bemutatja, hogyan lehet két mikrokontrollert összekapcsolni az interneten keresztül

Lépés: Gyűjtse össze az alkatrészeket

Gyűjtse össze az alkatrészeket
Gyűjtse össze az alkatrészeket

Alkatrészlista: A Picaxe 08M chip számos forrásból elérhető, köztük a Rev Ed https://www.rev-ed.co.uk/picaxe/ (Egyesült Királyság), a PH Anderson https://www.phanderson.com/ (USA) és a Microzed https://www.microzed.com.au/ (Ausztrália) Protoboard, szervo, mikrokapcsoló, 9V -os elem, 4xAA elem és tartó, címkecsík, 10k ellenállás, 22k ellenállás, 33uF 16V kondenzátor, 0,1uF kondenzátor, 7805L kis teljesítményű 5V szabályozó, 10 ezer edény, vezetékek (szilárd magú telefon/adatvezeték, pl. Cat5/6), 6V -os izzó, D9 -es dugaszolóaljzat és fedél, 2 méter 3 (vagy 4) magos adatkábel, elemcsipeszek A fenti vállalatok USB -t is értékesítenek soros eszközökhöz amelyek olyan laptopok számára hasznosak, amelyek nem rendelkeznek soros porttal. Érdemes megjegyezni, hogy egyes USB -soros eszközök nem működnek olyan jól, mint mások, és érdemes beszerezni egyet a fenti szállítóktól, mivel tesztelték őket picaxe chipekkel való használatra. Az ismert, hogy működik, a https://www.rev-ed.co.uk/docs/axe027.pdf Természetesen, ha számítógépe soros porttal (vagy régi soros portkártyával) rendelkezik, akkor ez nem fog működni kérdés legyen.

2. lépés: Töltsön le és telepítsen bizonyos szoftvereket

Néhány szoftver letöltése és telepítése
Néhány szoftver letöltése és telepítése

Szükségünk lesz a VB. Net-re és a picaxe vezérlőszoftverre. A VB. Net (Visual Basic Express) a https://msdn2.microsoft.com/en-us/express/aa718406.aspx címen érhető el. Ha ez a link nem működik, akkor keressen a Google -ban: vizuális alapvető expressz letöltés vagy valami. Valójában hasznosnak találtam a valódi e -mail küldését, amikor alkalmi frissítéseket küldenek.

3. lépés: Hozzon létre egy letöltési áramkört

Hozzon létre egy letöltési áramkört
Hozzon létre egy letöltési áramkört

Ez a letöltési áramkör picaxe chipet, pár ellenállást, szabályozót és 9 V -os akkumulátort használ. További információ a picaxe dokumentációban található, és ennek elkészítése csak néhány percet vesz igénybe, miután az összes alkatrész kéznél van.

Azt is hozzátenném, hogy a picaxok boldogan működnek 3 AA elemmel. Az 5 V -os szabályozott tápegység analóg bemenetek működtetéséhez hasznos, mivel a referenciafeszültségek nem változnak, de az egyszerű be- és kikapcsolási áramkörök esetében nincs szükség szabályozott tápellátásra. Ezekben a helyzetekben az 5V -os regiszter kihagyható.

4. lépés: A letöltési áramkör protoboard elrendezése

A letöltési áramkör protoboard elrendezése
A letöltési áramkör protoboard elrendezése

Ez a fotó a letöltőkábelt mutatja, amely egyszerűen egy D9 dugó és néhány méternyi többmagos kábel. A legtöbb modern számítógép D9 soros porttal rendelkezik. Egy 1998 előtt épített számítógép 25 tűs csatlakozót tartalmazhat. Körülbelül 1 cm -es tömör huzalt forrasztottam a hajlékony huzalok végére, majd köré helyeztem a hőzsugorodást - a szilárd maghuzalok sokkal jobban mennek a protoboardba, mint a rugalmas vezetékek.

5. lépés: Töltse le a Picaxe programot

Töltse le a Picaxe programot
Töltse le a Picaxe programot

A letöltéshez kattintson a kék nyílra. Ha nem töltődik le, akkor néhány hibakeresési javaslatot talál a picaxe használati utasításában. Megpróbálhat letölteni egy egyszerű programot a LED be- és kikapcsolásához, hogy ellenőrizze a chip működését. Ez a program semmit sem tesz, amíg nem csatlakozik a számítógéphez, mivel várja, hogy a PC küldjön valamit. Ha a letöltés rendben van, akkor működik, és a chip programozva van, és a következő lépés a chip újrakonfigurálása soros interfész chipként.

Másolja ki és illessze be az alábbi kódot. Ha színes szintaxissal szeretné megtekinteni, keresse meg a Nézet/Beállítások/Szerkesztő menüpontot. A színek megegyeznek a VB. Net fővel: serin 3, N2400, ("Adatok"), b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13 readadc 1, b1 'olvassa el a potot, majd küldje vissza ezt a 0 -as, N2400 -as sorozatot, ("Adatok", b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13) select b0 'eset adatabit olvasása b0 eset <140', ha <140, akkor állítsa a szervót egy pozícióba szervo 2, 120 szünet 1000 'szünet második másodperc egyéb szervo 2, 160 szünet 1000 endselect low 2' kapcsolja ki a szervót, mivel a szerin ezt így is teszi goto main

6. lépés: Konfigurálja újra az áramkört soros interfész áramkörként

Konfigurálja újra az áramkört soros interfész áramkörként
Konfigurálja újra az áramkört soros interfész áramkörként

Két finom változtatás történt a picaxe áramkörön. A 22 k -os ellenállás, amely korábban a 2 -es szakaszhoz ment, most a 4 -es lábhoz megy. És a 2 -es lábat földelték. A 2. szakasz egyetlen célja a programozási adatok fogadása a PC -től, így a chip programozása után a földhöz köthető. Ha visszatér a chip programozásához, hogy kijavítsa a hibákat stb., Akkor válassza le a 2. lábat a földről, és csatlakoztassa újra a 22k -t a 2. lábhoz.

Egy edényt hozzáadtak, és a szervót is hozzáadták. A szervó nem igazán szükséges, és egy led és egy 1k ellenállás jól működne, és/vagy bármilyen áramkör, amelyet csatlakoztatni szeretne. Csak egy szervó segítségével mutattam be, hogyan kattinthat valamire a képernyőn valami, ami valóban mozoghat. A szervó saját tápegységéről fut. Erre a külön tápegységre nem lenne szükség, ha a picaxe csak be- és kikapcsolja a LED -eket. A picaxe használatra kész - most szükségünk van néhány VB kódra.

7. lépés: Írjon be néhány VB interfészkódot

Írjon néhány VB interfész kódot
Írjon néhány VB interfész kódot

A VB. Net telepítése után futtassa azt, és válassza a Fájl/Új projekt, majd a Windows alkalmazás lehetőséget. Kattintson a Fájl/Mentés minden gombra az elején, és mentse a kívánt helyre, majd a jövőben vagy indítsa el a projektet a VB. Neten belülről, vagy kattintson a létrehozandó.sln fájlra.

8. lépés: Tervezze meg a VB. Net űrlapot

Tervezze meg a VB. Net űrlapot
Tervezze meg a VB. Net űrlapot

A VB létrehoz egy üres űrlapot Form1.vb néven. Megváltoztathatja ennek nevét most vagy később, vagy egyszerűen hagyhatja Form1 -ként, ha a projekt egyszerű. Hagyjuk úgy, ahogy van. Némi vezérlés hozzáadásához ki kell nyitnunk a zölden karikázott eszköztárat. Az eszköztár szükség esetén nyitható és zárható - általában az első lépés a vezérlők hozzáadása, majd az eszköztár bezárása és a kódon való munka. Folyamatosan nyitva hagyhatja, de egy kis képernyőt igényel.

9. lépés: Időzítő hozzáadása

Időzítő hozzáadása
Időzítő hozzáadása

Görgetett az eszköztárban, és kiválasztott egy időzítőt. A hozzáadáshoz kattintson duplán az időzítőre. A Timer1 nevű óra képe megjelenik a képernyő alján, jobb oldalon pedig az időzítő tulajdonságai vannak kiemelve. Ezeket szerkesztheti, vagy módosíthatja a kód szövegtörzsében. Hagyjuk őket olyannak, amilyenek, és megváltoztatjuk őket a szöveg törzsében.

Eltekintve attól, hogy az eszköztár kissé ijesztőnek tűnik, de a legtöbb programhoz csak néhányra van szükség - ezek közé tartoznak a gombok, szövegdobozok, címkék, időzítők, képdobozok, jelölőnégyzetek és rádiódobozok. Esetleg nyisson meg egy új programot, és játsszon el néhány alkalommal néhány emberrel.

10. lépés: Adjon hozzá pár gombot

Adjon hozzá pár gombot
Adjon hozzá pár gombot

Kattintson a gomb eszközre, és rajzolja ki a gomb méretét a Form1 -en. Szükségünk lesz két gombra, egy képdobozra és egy címkére. Hajtsa végre, és adja hozzá ezeket - a következő képernyőkép ezeket mind berajzolja. A méret és a pozíció nem fontos, és később átnevezheti őket, ha úgy tetszik.

11. lépés: Űrlap az összes vezérlőelem hozzáadásával

Űrlap az összes vezérlőelem hozzáadásával
Űrlap az összes vezérlőelem hozzáadásával

Az 1. űrlap most ki van dolgozva. A Button2 melletti doboz egy kis képdoboz. Képeket tehet ebbe, de csak arra használjuk, hogy jelezzük, melyik gombot nyomtuk meg, vörösről zöldre cserélve. A Label1 megjeleníti a picaxe regisztereket.

12. lépés: Adjon hozzá néhány kódot

Adjon hozzá néhány kódot
Adjon hozzá néhány kódot

A jobb oldalon zölden karikázva számos hasznos gomb található - jobbról a második a View Code gomb, a jobb gomb pedig a View Designer. A gyakorlatban, amikor kódot ír, az ember oda -vissza mozog ezen nézetek között. Általában, ha tervező módban van, duplán rákattint egy objektumra, például egy gombra, és megjelenik egy pont a kódnézetben, hogy hozzáadjon néhány kódot, vagy átvesz egyet a gomb megnyomásakor futó kódrészlethez. Ily módon a programfolyamat meglehetősen intuitívvá válik - a felhasználó rákattint a dolgokra és a kódrészletekre, megváltoztatja a képernyőt és így tovább. Céljaink szerint azonban csalni és beilleszteni fogunk egy egész munkakódot. lesz Nyilvános osztály űrlap1… Vége osztály - jelölje ki ezt, és törölje. Most vegye ki az összes alábbi kódot, és illessze be az. Imports System. IOImports karakterláncokba = Microsoft. VisualBasic ', így használhat olyan dolgokat, mint a bal (és a jobb (stringsPublic Class Form1Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Integer)') alvási utasítások esetén Dim WithEvents serialPort mint új IO. Ports. SerialPort 'soros port deklaráljaDim PicaxeRegisters (0 -tól 13 -ig) Byte -ként regisztrálja a b0 -b13 -ot. = Igaz 'írja be ezt a kódot alapértelmezettként hamis értékre, amikor létrejönTimer1. Interval = 5000' 5 másodperc blankEnd SubPrivate Sub Timer1_Tick (ByVal feladó mint System. Object, ByVal e As System. EventArgs) Kezeli az időzítőt1. Jelölje be az "időzítő kullancsokat 5 másodpercenként Hívja SerialTxRx ()" beszéljen a picaxeEnd SubSub SerialTxRx () Dim LabelString mint karakterlánccal DataP acket (0 -tól 17 -ig) Bájtként "teljes adatcsomag" Data "+14 bájt Dim i As Integer 'i mindig hasznos a hurkok stb. Asc (Mid ("Data", i + 1, 1)) 'add hozzá az "Data" szót a packetNextFor i = 0 -hoz 13DataPacket (i + 4) = PicaxeRegisters (i)' add hozzá az összes bájtot a packetNextIf serialPort. IsOpen ThenserialPort. Close () 'csak abban az esetben, ha már megnyíltEnd IfTryWith serialPort. PortName = "COM1"' A legtöbb új számítógép alapértelmezés szerint com1, de minden 1999 előtti számítógép soros egérrel valószínűleg a com2. BaudRate = 2400 '2400 a maximális érték sebesség kis picax -oknál. ha nincs válasz. Nyissa meg () 'nyissa meg a soros portot. DiscardInBuffer ()' törölje a bemeneti puffert. Írjon (DataPacket, 0, 18) 'küldje el az adatcsomag tömböt r adatok visszajöhetnek és még több is, ha az adatfolyam hosszabb. Olvassa el (DataPacket, 0, 18) 'olvassa vissza az adatcsomag tömbjét. Close ()' zárja be a soros portot Vége WithFor i = 4 To 17LabelString = LabelString + "" + Az Str (DataPacket (i)) 'szöveges karakterlánccá alakul Az időtúllépés "" ezt jeleníti meg, ha a picaxe nincs csatlakoztatva. 120 'tetszőleges érték a servoEnd SubPrivate algombhoz servoEnd SubEnd osztály

13. lépés: Futtassa a programot

Futtassa a Programot
Futtassa a Programot

Kapcsolja be a picaxe -t, ha nincs bekapcsolva. Futtassa a vb.net programot, ha rákattint a zöld háromszögre a képernyő tetején, középen. A futási háromszögtől jobbra található a szünet és a leállítás gomb, vagy a program leállítható a jobb felső x gombra kattintva, vagy ha a menüt hozzáadta, a Fájl/Kilépés gombbal. A program lefordítható, ha úgy tetszik, de a hibakereséshez hagyjuk futni a VB -n belül. Az időzítő 5 másodpercenként küld bájtokat, így 5 másodpercbe telik, amíg a kijelző felbukkan.. Ezeket elküldik a picaxe -be, majd újra elküldik. Szinte biztosan nem szükséges mind a 14 -et elküldeni, és a kódja tetszés szerint megváltoztatható. A második bájt 152 értékkel a pot értéke, amely 0 -ról 255 -re változik. Ha az 1 -es gombra kattint, az 120 -as értéket küld az első bájtban, és ha a 2 -es gombra kattint, akkor 160 -at küld, és a picaxe program dekódolja ezeket és mozgatja a szervót. Ez a kód megmutatja, hogyan lehet adatokat küldeni és adatokat visszakapni egy mikrokontrollerről. A mikrokontroller mindenféle eszközt be tud kapcsolni - körülbelül 30 házamban van sprinklerek, lámpák, biztonsági berendezések, felismerik az autókat a bejárati utakon, számos 3,6 kW teljesítményű szivattyút kapcsolnak be, és érzékelik a tartályok vízszintjét. A Picax -okat egy közös buszon lehet szétkapcsolni, és akár rádióhivatkozásokon keresztül is kommunikálhatnak egymással. Lehetőség van arra is, hogy adatokat töltsünk fel és töltsünk le weboldalakról, és így az internetet használva csatlakoztassuk az eszközöket a világ bármely pontjára https://www.instructables. com/id/Worldwide-microcontroller-link-for-20 év alatti

14. lépés: Bemeneti eszközök

Beviteli eszközök
Beviteli eszközök

A picaxe programozó nagyon hasznos súgófájlokat tartalmaz, amelyek közül az egyik az "Interfacing áramkörök", és a https://www.rev-ed.co.uk/docs/picaxe_manual3.pdf címen is elérhető. Ez bemutatja a motorok vezérlését, érzékelni a környezetet és más hasznos irányítást. Ezen cirucitok mellett van néhány, amit újra és újra használok. Hőmérséklet - az LM35 hőmérséklet -érzékelő olyan feszültséget állít elő, amely egyenesen a picaxe -be kerül, és readadc vagy readadc10 paranccsal olvasható. Fény - a fényfüggő ellenállás ellenállása a fényes napfénytől néhány száz ohmtól az 5 megohm feletti koromsötétig terjed. Mérje meg az ellenállást azon a fényszinten, amelyen kapcsolni szeretne, és sorolja fel az LDR -t körülbelül azonos értékű ellenállással. Pl. Fel akartam érzékelni egy autó fényeit, amelyek a kocsibeállóba húzódtak, hogy felkapcsoljanak néhány lámpát. Az ellenállás körülbelül 1M volt a közvetett fénytől, ezért 1M -ot sorba tettem az LDR -rel. Kapcsoló - néhány kapcsoló 5V és 0V között kapcsol (egypólusú dupla dobókapcsoló), de néhány csak be- és kikapcsol. Ha egy kapcsoló bekapcsol, akkor 5 V -ot küldhet egy picaxe chipre, de ha ki van kapcsolva, akkor a picaxe csap "lebegő" és bármilyen érték lehet. Ez az áramkör bemutatja, hogyan húzza le a bemenetet a földre, amikor a kapcsoló ki van kapcsolva. Ezt az áramkört kell használni a legtöbb nyomógombos kapcsolóhoz. Potenciométer - egy jó régi vágású gomb. Forgassa el a gombot, és olvassa be a feszültséget a chipbe. Vannak mindenféle más elektronikus eszközök, amelyek 0-5 V feszültséget hoznak létre, vagy könnyen konfigurálhatók erre. Ilyenek például a mágneses érzékelők, páratartalom, sebesség, érintés, infravörös fény, nyomás, szín és hang. Az érzékelők általában csak néhány dollárba kerülnek.

15. lépés: Eszközök vezérlése

Vezérlő eszközök
Vezérlő eszközök

A picaxe súgófájl nagyszerű magyarázatot tartalmaz a motorok és lámpák vezérlésére. Ezenkívül azt tapasztalom, hogy van néhány áramkör, amelyeket újra és újra használok. Az első egy egyszerű tranzisztoros áramkör. Egy picaxe chip maximum 20 mA -t tud bekapcsolni csaponként, ami jó a LED bekapcsolásához, de nem sok más. Az 547 tranzisztor 100 mA -ra növeli az áramot, ami jó a kis izzókhoz. A második áramkör mosfetet mutat. A Mosfet -eknek gyakorlatilag nincs szükségük áramra a hajtásukhoz - csak voltra, így közvetlenül irányíthatók egy picaxe segítségével. Mindenféle mosfet kapható, de én a BUK555 60B nevet választom. fő előnye, hogy bekapcsoláskor rendkívül alacsony az ellenállása - 0,045 ohm, ami nem sokkal több, mint a vezetékek ellenállása. Ez azt jelenti, hogy nem melegszik fel nagy terhelésnél, ami energiát és hűtőborda költségeket takarít meg. Példaként 5 amper terhet vezet, mint egy autó fényszórója; watt = áram négyzet x ellenállás, tehát W = 5*5*0,045 = 1,12 watt, amelyhez csak egy hűtőborda szükséges, mint egy 1 hüvelykes négyzet alakú vékony alumínium darab. A harmadik áramkör relét mutat. Minden relének számos paramétere van - a tekercs feszültsége, a tekercs ellenállása, valamint a terhelési feszültség és áram. Például egy relé 12 V -os tekercset tartalmaz, 30 mA tekercsárammal, 400 ohm tekercsellenállással, és akár 240 V -ot is képes meghajtani 1 amperrel. A tekercsáram több volt és erősítő, mint amennyit egy pica képes ellátni, ezért a tranzisztoros áramkört használjuk a tekercs kapcsolására. Van egy dióda is - ez elnyomja a hátsó EMF -et, amikor a relé kikapcsol. A hátsó EMF az, ami szikrát hoz létre a gyertyákhoz, így nem akarja ezeket a magas feszültségeket az áramkörben. Az érintkezők maximális árammal és feszültséggel rendelkeznek - az áram néhány amper lehet, és a feszültség gyakran 240 V, így a 12 vagy 24 V kapcsolás jó hatótávolságon belül lesz. Ha nem jártas az elektronikában, ne játsszon hálózati feszültséggel. Vannak olyan kis relék is, amelyek tekercsfeszültsége 5V vagy 6V. Ezeknél a reléknél előfordulhat, hogy nincs szükség külön 12 V -os tápellátásra, de figyelje a tekercs ellenállását, mivel ezek közül többnek az áramfelvétele meghaladja a 100 mA -t. Ha igen, és 78L05 100mA 5V -os szabályozót használ, érdemes ezt 7805 -ös szabályozóra cserélni, amely akár 1 amperes teljesítményt is képes biztosítani. A relék különösen hasznosak a váltakozó áramú váltáshoz - pl. 24VAC kerti esőztető mágnesszelepek, 12VAC kerti lámpák és elektromosan zajos környezetben, például autóban. Hasznosak nagy terhelések vezérléséhez is, pl. Egy picaxe, amely 20 mA -t táplál 5 V = 0,1 W -on, és 12 V -os tranzisztor 100 mA -on = 1,2 W -on vezérli a 24 V 100 mA = 2,4 W -os relét egy 3600 W -os szivattyút működtető kontaktoron. Ha ilyen módon szeretné szabályozni az áramellátást, kérjen meg egy villanyszerelőt, hogy vezesse be a vezérlődobozt, és adjon ki két vezetéket (tekercsvezetékek egy 12 V -os reléhez), amelyeket vezérelhet. Így a villanyszerelő kijelentkezhet a tápegységről, és Ön elvégezheti az összes elektronikát anélkül, hogy aggódnia kellene az áramütés miatt. A relék másik felhasználása a motor fordított vezérlése. A mosfet impulzusszélesség -modulációjával szabályozhatja az egyenáramú motor fordulatszámát, a DPDT táprelével pedig megváltoztathatja az irányt. Ez egy egyszerű módja a nagy motorok vezérlésének, mint például a „robotháborúk”. Írj egy megjegyzést, ha segítségre van szükséged valami építésében.

Ajánlott: