INHOUDSOPGAWE:

Beheer regte toestelle met u rekenaar: 15 stappe (met foto's)
Beheer regte toestelle met u rekenaar: 15 stappe (met foto's)

Video: Beheer regte toestelle met u rekenaar: 15 stappe (met foto's)

Video: Beheer regte toestelle met u rekenaar: 15 stappe (met foto's)
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, November
Anonim
Beheer toestelle van die regte wêreld met u rekenaar
Beheer toestelle van die regte wêreld met u rekenaar

Hierdie instruksies wys u hoe u 'n rekenaar en 'n mikrobeheerder kan koppel. Hierdie demo sal die waarde van 'n pot of enige analoog invoer aanvoel en ook 'n servo beheer. Die totale koste is onder $ 40, insluitend die servo. Die servo skakel 'n mikroskakelaar aan en dan skakel die mikroskakelaar 'n lamp aan. In 'n praktiese toepassing kan die pot 'n temperatuursensor wees, en die servo kan 'n verwarmer aanskakel. Die servo kan vervang word met 'n relais of 'n ander kragbeheerder. Die picaxe is geprogrammeer in 'n vereenvoudigde weergawe van basiese en die koppelvlak gebruik VB. Net. Alle sagteware is gratis beskikbaar. 'N Verwante Instructable wys hoe om twee mikrobeheerders via die internet te koppel

Stap 1: Versamel die onderdele

Versamel die onderdele
Versamel die onderdele

Onderdele lys: Picaxe 08M-chip beskikbaar uit baie bronne, waaronder Rev Ed https://www.rev-ed.co.uk/picaxe/ (UK), PH Anderson https://www.phanderson.com/ (USA) en Microzed https://www.microzed.com.au/ (Australië) Protoboard, servo, mikroskakelaar, 9V -battery, 4xAA -batterye en houer, etiketstrook, 10k -weerstand, 22k -weerstand, 33uF 16V -kondensator, 0.1uF -kondensator, 7805L lae krag 5V reguleerder, 10k -pot, drade (telefoon/datakabel met vaste kern, bv. Cat5/6), 6V gloeilamp, D9 -aansluiting en deksel, 2 meter 3 (of 4) kerndatadraad, batteryklemme Bogenoemde maatskappye verkoop ook USB aan seriële toestelle wat handig is vir skootrekenaars wat nie 'n seriële poort het nie. Dit is opmerklik dat sommige USB -na -seriële toestelle nie so goed werk as ander nie, en dit is die moeite werd om een by een van die bogenoemde verskaffers te kry, aangesien dit getoets is vir gebruik met picaxe -skyfies. Die een wat bekend is om te werk, is https://www.rev-ed.co.uk/docs/axe027.pdf As u rekenaar 'n seriële poort (of 'n ou seriële poortkaart) het, sal dit natuurlik nie 'n kwessie wees.

Stap 2: Laai sommige sagteware af en installeer dit

Laai sommige sagteware af en installeer dit
Laai sommige sagteware af en installeer dit

Ons benodig die VB. Net en die picaxe controller sagteware. VB. Net (Visual Basic Express) is beskikbaar by https://msdn2.microsoft.com/en-us/express/aa718406.aspx As hierdie skakel nie werk nie, soek dan in Google vir: visual basic express aflaai Die picaxe sagteware is beskikbaar op https://www.rev-ed.co.uk/picaxe/ U moet by Microsoft registreer om die aflaai te kry - gebruik 'n valse e -pos as dit 'n probleem is of iets. Ek het dit eintlik nuttig gevind om my regte e -pos te gee terwyl hulle af en toe opdaterings stuur.

Stap 3: Bou 'n aflaai -stroombaan

Bou 'n aflaai -kring
Bou 'n aflaai -kring

Hierdie aflaai -kring gebruik 'n picaxe -chip, 'n paar weerstande, 'n reguleerder en 'n 9V -battery. Meer inligting is beskikbaar in die picaxe -dokumentasie, en dit kan slegs 'n paar minute neem om te bou sodra al die onderdele byderhand is.

Ek kan ook byvoeg dat picaxes gelukkig op 3 AA -batterye werk. 'N 5V gereguleerde toevoer is handig om analoog insette te voer, aangesien die verwysingspannings nie verander nie, maar vir eenvoudige aan/af stroombane is 'n gereguleerde toevoer nie nodig nie. Die 5V reg kan in hierdie situasies weggelaat word.

Stap 4: Protoboard -uitleg van die aflaai -kring

Protoboard -uitleg van die aflaai -kring
Protoboard -uitleg van die aflaai -kring

Hierdie foto toon die aflaai -kabel, wat eenvoudig 'n D9 -prop is en 'n paar meter van 'n multi -core kabel. Die meeste moderne rekenaars het 'n D9 -seriële poortverbinding. 'N Rekenaar wat voor ongeveer 1998 gebou is, het moontlik 'n 25 -pins aansluiting. Ek het ongeveer 1 cm soliede kerndraad aan die einde van die buigsame drade gesoldeer en dan 'n heatsink daaraan gesit - die soliede kerndrade gaan baie beter in 'n protobord as buigsame drade.

Stap 5: Laai die Picaxe -program af

Laai die Picaxe -program af
Laai die Picaxe -program af

Klik op die blou pyltjie om af te laai. As dit nie afgelaai word nie, is daar 'n paar voorstelle vir ontfouting in die handleiding van Picaxe. U kan 'n eenvoudige program aflaai om 'n LED aan en uit te skakel om te kyk of die chip werk. Hierdie program, soos dit is, doen niks totdat dit aan 'n rekenaar gekoppel is nie, aangesien dit op die rekenaar wag om dit iets te stuur. As dit goed afgelaai word, werk dit en word die chip geprogrammeer, en die volgende stap is om die chip weer as 'n seriële koppelvlakskyfie te herkonfigureer.

Kopieer en plak die onderstaande kode. Kyk in View/Options/Editor om dit met kleursintaksis te sien. Die kleurkonvensies is soortgelyk aan VB. Net main: serin 3, N2400, ("Data"), b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13 readadc 1, b1 'lees die pot en stuur dan hierdie terug serout 0, N2400, ("Data", b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13) kies geval b0 'lees databit b0 saak <140' as <140 stel dan servo in een posisie servo 2, 120 pouse 1000 'pouse 'n tweede servo 2, 160 pouse 1000 endselect laag 2' skakel die servo uit, aangesien serin dit in elk geval doen gaan hoof

Stap 6: Herkonfigureer die stroombaan as 'n seriële koppelvlak

Herkonfigureer die stroombaan as 'n seriële koppelvlak
Herkonfigureer die stroombaan as 'n seriële koppelvlak

Twee subtiele veranderings is aangebring aan die picaxe -kring. Die 22k -weerstand wat vroeër na been 2 gegaan het, gaan nou na been 4. En been 2 is gegrond. Die enigste doel van been 2 is om programmeerdata van die rekenaar af te ontvang, sodat sodra die chip geprogrammeer is, dit aan die grond vasgemaak kan word. As u teruggaan na die programmering van die chip om foute ens te korrigeer, skakel dan been 2 van die grond af en koppel die 22k weer aan been 2. Die picaxe praat terug na die rekenaar via been 7, sodat dit nie hoef te verander nie.

'N Pot is bygevoeg en die servo is bygevoeg. Die servo is nie regtig nodig nie, en 'n LED en 'n 1k -weerstand werk goed en/of enige stroombaan wat u wil aansluit. Ek het net 'n servo gebruik om aan te toon hoe om op iets op 'n skerm te klik deur iets te laat beweeg. Die servo word van sy eie kragtoevoer af aangedryf. Hierdie aparte kragtoevoer sou nie nodig gewees het as die picaxe net leds aan en af skakel nie. Die picaxe is gereed om te gaan - nou benodig ons 'n bietjie VB -kode.

Stap 7: Skryf 'n paar VB -koppelvlakkode

Skryf 'n paar VB -koppelvlakkode
Skryf 'n paar VB -koppelvlakkode

Sodra VB. Net geïnstalleer is, voer dit uit en kies File/New Project en kies Windows Application. U kan aan die begin op File/Save All klik en stoor waar u wil, en dan in die toekoms begin met die projek vanuit VB. Net of deur op 'n.sln -lêer te klik wat geskep sal word.

Stap 8: Ontwerp die VB. Net -vorm

Ontwerp die VB. Net -vorm
Ontwerp die VB. Net -vorm

VB skep 'n nuwe leë vorm genaamd Form1.vb. U kan die naam hiervan nou of later verander of dit net as Form1 laat as die projek eenvoudig is. Ons sal dit laat soos dit is. Om 'n bietjie beheer te gee, moet ons die gereedskapskas oopmaak wat in groen omring is. Die gereedskapskas kan oopgemaak en toegemaak word wanneer dit nodig is - gewoonlik is die eerste stap om die bedieningselemente by te voeg, dan die gereedskapskis toe te maak en aan die kode te werk. U kan dit altyd oop laat, maar dit verg 'n bietjie skerm.

Stap 9: Voeg 'n timer in

Voeg 'n timer in
Voeg 'n timer in

Ons het deur die gereedskapskas gesit en 'n timer gekies. Dubbelklik op die timer om dit by te voeg. 'N Foto van 'n horlosie genaamd Timer1 verskyn onderaan die skerm en regs word die timer -eienskappe uitgelig. U kan dit wysig, of dit kan verander word in die tekstekst van die kode. Ons laat hulle soos hulle is en verander dit in die teks.

Terloops, die gereedskapskas lyk 'n bietjie afskrikwekkend, maar slegs 'n paar is nodig vir die meeste programme - dit sluit knoppies, teksblokkies, etikette, tydopnames, prentebusse, blokkies en radiokassies in. Maak miskien 'n nuwe program oop en speel 'n paar keer met 'n paar.

Stap 10: Voeg 'n paar knoppies by

Voeg 'n paar knoppies by
Voeg 'n paar knoppies by

Klik op die knoppie -instrument en teken die grootte van die knoppie op Form1. Ons benodig twee knoppies, 'n prentjie en 'n etiket. Voeg die volgende by - die volgende skermkiekie toon dat alles ingetrek is. Grootte en posisie is nie belangrik nie, en u kan dit later hernoem as u wil.

Stap 11: Vorm met al die kontroles bygevoeg

Vorm met al die kontroles bygevoeg
Vorm met al die kontroles bygevoeg

Vorm 1 is nou uiteengesit. Die boks langs Button2 is 'n klein prentjie. U kan foto's hierin plaas, maar ons gaan dit net gebruik om aan te dui watter knoppie gedruk is deur dit van rooi na groen te verander. Etiket1 vertoon die piekregisters.

Stap 12: Voeg kode by

Voeg 'n paar kode by
Voeg 'n paar kode by

Aan die regterkant is daar 'n paar nuttige knoppies, in groen omring - die tweede van regs is die knoppie View Code en die regter knoppie is die View Designer. By die skryf van kode gaan mens in die praktyk heen en weer tussen hierdie sienings. As u gewoonlik in die ontwerpermodus is, dubbelklik op 'n voorwerp, soos 'n knoppie, 'n plek in die kode -aansig om 'n kode by te voeg of neem dit na die stuk kode wat loop as u op die knoppie druk. Op hierdie manier word die programvloei redelik intuïtief - die gebruiker klik op dinge en stukkies kode loop en verander die skerm en so meer. sal Public Class Form1 … End Class hê - beklemtoon dit en verwyder dit. Neem nou al die onderstaande kode en plak dit in. Imports System. IOImports Strings = Microsoft. VisualBasic 'sodat u dinge soos links (en regs (vir stringsPublic Class Form1Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Integer) kan gebruik)' vir slaapstate Dim WithEvents serialPort as nuwe IO. Ports. SerialPort se seriële poort verklaar Dim PicaxeRegisters (0 tot 13) As Byte 'registreer b0 na b13 Privaat subform1_Load (ByVal sender As Object, ByVal e As System. EventArgs) Hanteer Me. LoadTimer1. E = Waar 'plaas dit in die kode as standaard as onwaar wanneer dit gemaak wordTimer1. Interval = 5000' 5 sekondesPictureBox1. BackColor = Color. Red 'stel in posisie' red'Array. Clear (PicaxeRegisters, 0, 13) 'waarskynlik nie nodig nie, aangesien skikking verklaar blankEnd SubPrivate Sub Timer1_Tick (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles Timer1. Tick 'timer ticks every 5 seconds Call SerialTxRx ()' talk to picaxEnd SubSub SerialTxRx () Dim LabelString As String 'string to display byte D DataP acket (0 tot 17) As Byte 'hele datapakket "Data" +14 bytesDim i As Integer' i is altyd handig vir lusse ens. Label1. Text = "" 'maak die teks op die skerm skoon Vir i = 0 Na 3DataPacket (i) = Asc (Mid ("Data", i + 1, 1)) 'voeg die woord "Data" by die packetNextFor i = 0 By 13DataPacket (i + 4) = PicaxeRegisters (i)' voeg al die grepe by die packetNextIf serialPort. IsOpen ThenserialPort. Close () 'net ingeval reeds geopenEnd IfTryWith serialPort. PortName = "COM1"' Die meeste nuwe rekenaars is standaard com1, maar enige rekenaar voor 1999 met 'n seriële muis sal waarskynlik com2 wees. BaudRate = 2400 '2400 is die maksimum speed for small picaxes. Parity = IO. Ports. Parity. None 'no parity. DataBits = 8' 8 bits. StopBits = IO. Ports. StopBits. One 'one stop bit. ReadTimeout = 1000' millisekondes so time -out in 1 sekonde indien geen reaksie nie. Open () 'maak die seriële poort oop. DiscardInBuffer ()' maak die invoerbuffer skoon. Skryf (DataPacket, 0, 18) 'stuur die datapakkie -skikking Call Sleep (300)' 100 millisekondes minimum om r data om terug te kom en meer as datastroom langer is. Lees (DataPacket, 0, 18) 'lees terug in die datapakket array. Close ()' sluit die seriële poort Eind WithFor i = 4 To 17LabelString = LabelString + "" + Str (DataPacket (i)) 'verander in 'n teks stringNextLabel1. Text = LabelString' plaas die teksstring op die screenCatch ex As Exception'MsgBox (ex. ToString) 'los dit op as u die werklike foutboodskapLabel1. Text = "wil sien Time -out "'sal dit wys as picaxe nie gekoppel is nie, ens. End TryEnd SubPrivate Sub Button1_Click (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles Button1. ClickPictureBox1. BackColor = Color. Red' verander die kassie na redPicaxeRegisters (0) 120 ''n willekeurige waarde vir die 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 'arbitrary value servoEnd SubEnd Class

Stap 13: Begin die program

Begin die program
Begin die program

Skakel die picaxe aan as dit nie aangeskakel is nie. Begin die vb.net -program deur op die groen driehoek bo -aan die skerm naby die middel te klik. Regs van die hardloopdriehoek is 'n pouse -knoppie en 'n stopknoppie, of die program kan gestop word deur regs bo x of met File/Exit te klik as u 'n spyskaart bygevoeg het. Die program kan saamgestel word as u wil, maar vir ontfouting, laat dit binne VB werk. Die timer stuur elke 5 sekondes grepe uit, so dit neem 5 sekondes voordat die skerm verskyn.. Dit word na die picaxe gestuur en dan weer teruggestuur. Dit is byna beslis nie nodig om al 14 te stuur nie, en u kode kan na wens verander word. Die tweede greep met 'n waarde van 152 is die waarde van die pot wat verander van 0 na 255. As op knoppie 1 geklik word, stuur dit 'n waarde van 120 in die eerste greep en as daar op klik 2 geklik word, stuur dit 160 en die picaxe -program dekodeer dit en Die kode wys hoe om data te stuur en data van 'n mikrobeheerder terug te kry. Die mikrobeheerder kan allerhande toestelle aanskakel - ek het ongeveer 30 sproeiers, ligte, sekuriteit in my huis, wat motors in opritte opspoor, 'n aantal pompe van 3,6 kW aanskakel en die watervlak in tenks aanskou. Picaxes kan op 'n gewone bus gekoppel word en kan selfs met mekaar kommunikeer via radioskakels. Dit is ook moontlik om data vanaf webwerwe op te laai en af te laai en dus die internet te gebruik om toestelle oral in die wêreld aan te sluit https://www.instructables. com/id/Worldwide-microcontroller-link-for-under-20/Die volgende twee bladsye bevat ook voorbeelde van hoe om verskillende sensors te gebruik en hoe om verskillende toestelle te beheer. Dr James MoxhamAdelaide, Suid-Australië

Stap 14: Invoertoestelle

Invoertoestelle
Invoertoestelle

Die picaxe-programmeerder bevat 'n paar baie nuttige hulplêers, waarvan een 'Interfacing circuits' genoem word, en dit is ook beskikbaar op https://www.rev-ed.co.uk/docs/picaxe_manual3.pdf Dit wys hoe u motors moet bestuur, voel die omgewing en ander nuttige beheer. Benewens hierdie cirucits, is daar 'n paar wat ek telkens gebruik. Temperatuur - die LM35 -temperatuursensor produseer 'n spanning wat direk in 'n pikseltjie kan ingaan en met 'n readadc- of readadc10 -opdrag gelees kan word. Lig - 'n ligafhanklike weerstand het 'n weerstand wat wissel van 'n paar honderd ohm in helder sonlig tot meer as 5 megohms in pikswart. Meet die weerstand op die ligvlak waarna u wil skakel en plaas die LDR in serie met 'n weerstand van ongeveer dieselfde waarde. Ek wou byvoorbeeld die ligte van 'n motor opspoor wat in die motorafdak intrek om 'n paar ligte aan te skakel. Die weerstand was ongeveer 1M van indirekte lig, so ek plaas 'n 1M in serie met die LDR. Skakelaar - sommige skakelaars skakel tussen 5V en 0V ('n enkelpolige dubbelgooi -skakelaar), maar sommige skakel net aan en af. As 'n skakelaar aanskakel, kan dit 5V na 'n picaxe -chip stuur, maar as dit af is, sal die picaxe -pen 'dryf' en kan dit enige waarde hê. Hierdie kring wys hoe u die inset na die grond kan trek as die skakelaar af is. Dit is die kring wat u vir die meeste drukknopskakelaars kan gebruik. Potentiomter - 'n goeie outydse knop. Draai aan die knop en lees die spanning in die skyfie. Daar is allerhande ander elektroniese toestelle wat 'n spanning van 0-5V kan skep of maklik kan instel om dit te doen. Voorbeelde is magnetiese sensors, humiditeit, spoed, aanraking, infrarooi lig, druk, kleur en klank. Sensors kos in die algemeen slegs 'n paar dollar.

Stap 15: Beheer toestelle

Beheer toestelle
Beheer toestelle

Die picaxe -hulplêer bevat 'n uitstekende verduideliking van hoe om motors en ligte te beheer. Daarbenewens vind ek daar is 'n paar stroombane wat ek oor en oor gebruik. Die eerste is 'n eenvoudige transistorkring. 'N Picaxe -chip kan 'n maksimum van 20mA per pen aanskakel, wat goed is om 'n LED aan te skakel, maar nie veel anders nie. 'N 547 -transistor verhoog die stroom tot 100mA, wat goed is vir klein gloeilampe. Die tweede kring wys 'n mosfet. Mosfets benodig feitlik geen stroom om hulle aan te dryf nie - slegs volt, sodat hulle direk deur 'n piekstoel beheer kan word. Daar is allerhande mosfets beskikbaar, maar my voorkeur is die BUK555 60B https://www.ortodoxism.ro/datasheets/philips/BUK555-60A.pdf Dit kan direk van 5V aangedryf word (anders as sommige wat 10V benodig), maar Die grootste voordeel is dat dit 'n baie lae weerstand het as dit aangeskakel word - 0,045 ohm, wat nie veel meer is as die weerstand van die drade wat 'n mens daaraan sou koppel nie. Dit beteken dat dit nie warm word as u baie hoë vragte ry nie, wat krag bespaar en ook die verkoelingskoste bespaar. As 'n voorbeeld om 'n 5amp -vrag soos 'n motor se koplamp te bestuur; watt = stroom in kwadraat x weerstand, dus W = 5*5*0,045 = 1,12 watt wat slegs 'n koellichaam soos 'n vierkante stuk dun aluminium benodig. Die derde stroombaan toon 'n aflos. Daar is verskeie parameters vir alle relais - die spoelspanning, spoelweerstand en die lasspanning en stroom. 'N Relais kan byvoorbeeld 'n 12V -spoel met 'n spoelstroom van 30mA, 'n spoelweerstand van 400 ohm hê en kan tot 240V teen 1 ampère dryf. Die spoelstroom is meer volt en ampère as wat 'n piekstok kan lewer, dus gebruik ons die transistorkring om die spoel oor te skakel. Daar is ook 'n diode ingesluit - dit onderdruk die agterste EMF as die aflos afskakel. Terug EMF is wat die vonk vir 'n vonkprop skep, sodat u hierdie hoë spannings nêrens in 'n stroombaan wil hê nie. Die kontakte het 'n maksimum stroom en volt - die stroom kan 'n paar ampère wees en die volt is dikwels 240V, so die skakelaar van 12V of 24V sal binne die bereik wees. As u onervare is met elektronika, moet u nie met netspanning speel nie. Daar is ook klein relais met 'n spoelspanning van 5V of 6V. Vir hierdie relais het u moontlik nie 'n aparte 12V -toevoer nodig nie, maar kyk net na die spoelweerstand, aangesien baie hiervan huidige trekkragte van meer as 100mA het. As dit die geval is en u 'n 78L05 100mA 5V -reguleerder gebruik, wil u dit moontlik verander na 'n 7805 -reguleerder wat tot 1 amp kan voorsien. Relais is veral handig vir die skakel van wisselstroom - bv. 24VAC tuinsproeier solenoïde, 12VAC tuinligte en in elektries raserige omgewings soos 'n motor. Hulle is ook nuttig om groot vragte te beheer, bv. 'N piekstok wat 20mA by 5V = 0.1W lewer, wat 'n transistor 12V by 100mA = 1.2W na 'n relais 24V 100mA = 2.4W aan 'n kontakor wat 'n 3600W -pomp bestuur, stuur. As u die krag so wil beheer, laat 'n elektrisiën 'n kontrolekas opdraai en gee u twee drade (spoeldrade vir 'n 12V -aflos) wat u kan beheer. Op hierdie manier kan die elektrisiën by die kragkas aansluit, en u kan al die elektronika doen sonder om bekommerd te wees oor elektrisiteit. 'N Ander gebruik vir relais is 'n omgekeerde beheer vir 'n motor. Deur middel van polswydte -modulasie in 'n mosfet kan u die snelheid van 'n GS -motor beheer, en met 'n DPDT -kragrelais kan u die rigting verander. Dit is 'n eenvoudige manier om groot motors te beheer, soos dié wat in 'robotoorloë' gebruik word. Plaas 'n opmerking as u hulp nodig het om iets te bou.

Aanbeveel: