Taula de continguts:
- Pas 1: reuniu les parts
- Pas 2: descarregueu i instal·leu alguns programes
- Pas 3: creeu un circuit de descàrrega
- Pas 4: Disseny de Protoboard del circuit de descàrrega
- Pas 5: descarregueu el programa Picaxe
- Pas 6: torneu a configurar el circuit com a circuit d'interfície sèrie
- Pas 7: escriviu un codi d'interfície VB
- Pas 8: dissenyeu el formulari VB.Net
- Pas 9: afegiu un temporitzador
- Pas 10: afegiu un parell de botons
- Pas 11: formulari amb tots els controls afegits
- Pas 12: afegiu una mica de codi
- Pas 13: executeu el programa
- Pas 14: Dispositius d'entrada
- Pas 15: control de dispositius
Vídeo: Controleu els dispositius del món real amb el vostre PC: 15 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:16
Aquesta instrucció us mostra com connectar un PC i un microcontrolador. Aquesta demostració detectarà el valor d'un pot o qualsevol entrada analògica i també controlarà un servo. El cost total és inferior a 40 dòlars inclòs el servo. El servo encén un microinterruptor i, després, el micro encén un llum. En una aplicació pràctica, l'olla podria ser un sensor de temperatura i el servo podria encendre un escalfador. El servo es podria substituir per un relé o un altre controlador de potència. El picaxe està programat en una versió simplificada de basic i la interfície utilitza VB. Net. Tot el programari està disponible de forma gratuïta. Un instructable relacionat mostra com enllaçar dos microcontroladors a través d’Internet
Pas 1: reuniu les parts
Llista de peces: xip Picaxe 08M disponible de moltes fonts, inclosa Rev Ed https://www.rev-ed.co.uk/picaxe/ (Regne Unit), PH Anderson https://www.phanderson.com/ (EUA) i Microzed https://www.microzed.com.au/ (Austràlia) Protoboard, servo, microinterruptor, bateria de 9V, bateries i suport 4xAA, etiqueta, resistència 10k, resistència 22k, condensador 33uF 16V, condensador 0,1uF, 7805L de baixa potència 5V regulador, olla de 10 k, cables (cable de dades sòlid / cable de dades, per exemple, Cat5 / 6), bombeta de 6 V, endoll femella D9 i tapa, 2 metres de cable de dades de 3 (o 4) nuclis, clips de bateria Les empreses anteriors també venen USB a dispositius de sèrie que són útils per a ordinadors portàtils que no tenen un port sèrie. Val a dir que alguns dispositius USB a sèrie no funcionen tan bé com altres i val la pena obtenir-ne un dels proveïdors anteriors, ja que han estat provats per utilitzar-los amb xips picaxe. El que se sap que funciona és https://www.rev-ed.co.uk/docs/axe027.pdf Per descomptat, si el vostre ordinador té un port sèrie (o una targeta de port sèrie antiga), llavors no ser un problema.
Pas 2: descarregueu i instal·leu alguns programes
Necessitarem el programari VB. Net i el controlador de picaxe. VB. Net (Visual Basic Express) està disponible a https://msdn2.microsoft.com/en-us/express/aa718406.aspx Si aquest enllaç no funciona, cerqueu a Google per a: descàrrega express bàsica visual El programari picaxe està disponible a https://www.rev-ed.co.uk/picaxe/ Haureu de registrar-vos a Microsoft per obtenir la baixada. Si es tracta d’un problema, utilitzeu un correu electrònic fals o alguna cosa. De fet, em va semblar útil donar el meu correu electrònic real ja que enviaven actualitzacions ocasionals.
Pas 3: creeu un circuit de descàrrega
Aquest circuit de descàrrega utilitza un xip picaxe, un parell de resistències, un regulador i una bateria de 9 V. Hi ha més informació disponible a la documentació del picaxe i això només hauria de trigar uns minuts a construir-se un cop totes les parts estiguin a mà.
També puc afegir que els picaxes funcionen alegrement amb 3 bateries AA. Una font regulada de 5 V és útil per executar entrades analògiques ja que les tensions de referència no canvien, però per als circuits simples d’encès / apagat no es necessita una font regulada. El registre de 5V es pot deixar de banda en aquestes situacions.
Pas 4: Disseny de Protoboard del circuit de descàrrega
Aquesta foto mostra el cable de descàrrega, que és simplement un endoll D9 i un parell de metres d'algun cable multi nucli. La majoria d’ordinadors moderns tenen una connexió de port sèrie D9. Un PC construït abans del 1998 pot tenir un connector de 25 pins. He soldat aproximadament 1 cm de filferro de nucli sòlid a l’extrem dels cables flexibles i després he posat un encongit al voltant d’aquest: els cables de nucli sòlid passen a una protoborda molt millor que els cables flexibles.
Pas 5: descarregueu el programa Picaxe
Feu clic a la fletxa blava per descarregar. Si no es descarrega, hi ha alguns suggeriments de depuració al manual d'instruccions de picaxe. Podeu provar de descarregar un programa senzill per encendre i apagar un led per comprovar que funciona el xip. Aquest programa, tal com és, no fa res fins que no està connectat a un PC, ja que espera que el PC li enviï alguna cosa. Si es descarrega bé, funciona i el xip està programat i el següent pas és reconfigurar el xip com a xip d’interfície sèrie.
Copieu i enganxeu el codi següent. Per veure-ho amb la sintaxi del color, busqueu a Visualització / Opcions / Editor. Les convencions de color són similars a VB. Net main: serin 3, N2400, ("Data"), b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13 readadc 1, b1 'llegiu el pot i, a continuació, envieu aquest servidor secundari 0, N2400, ("Dades", b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13) seleccioneu cas b0 'llegeix bit de dades b0 cas <140' si <140 llavors posa el servo a una posició servo 2, 120 pausa 1000 'pausa una segona persona servo 2, 160 pausa 1000 selecció final baixa 2' apaga el servo ja que Serin ho fa de totes maneres anar a main
Pas 6: torneu a configurar el circuit com a circuit d'interfície sèrie
S'han fet dos canvis subtils al circuit de picaxe. La resistència de 22 k que solia anar a la cama 2 ara passa a la cama 4. I la cama 2 ha estat connectada a terra. L'únic propòsit del tram 2 és rebre dades de programació des del PC, de manera que un cop programat el xip es pot lligar a terra. Si torneu a programar el xip per corregir errors, etc., desconnecteu la pota 2 de terra i torneu a connectar la 22k a la pota 2. El picaxe torna a parlar amb el PC a través de la pota 7, de manera que no cal canviar.
S'ha afegit una olla i s'ha afegit el servo. El servo no és realment necessari i un led i una resistència de 1 k funcionarien bé i / o qualsevol circuit que vulgueu connectar. Acabo d'utilitzar un servo per mostrar com fer clic a alguna cosa en una pantalla pot fer que alguna cosa es mogui. El servo funciona amb la seva pròpia font d'alimentació. Aquesta font d'alimentació independent no seria necessària si el picaxe només encengués i apagés els leds. El picaxe ja està a punt, ara necessitem un codi VB.
Pas 7: escriviu un codi d'interfície VB
Un cop instal·lat VB. Net, executeu-lo i seleccioneu Fitxer / Projecte nou i seleccioneu Aplicació de Windows. Podeu fer clic a Arxiu / Desa bé al principi i desar-lo allà on vulgueu i, posteriorment, iniciar el projecte des de VB. Net o fer clic en un fitxer.sln que es crearà.
Pas 8: dissenyeu el formulari VB. Net
VB crea un nou formulari en blanc anomenat Form1.vb. Podeu canviar-ne el nom ara o més tard o simplement deixar-lo com a Form1 si el projecte és senzill. Ho deixarem tal com està. Per afegir una mica de control, hem d’obrir la caixa d’eines encerclada en verd. La caixa d'eines es pot obrir i tancar sempre que calgui, normalment el primer pas és afegir els controls i després tancar la caixa d'eines i treballar el codi. Podeu deixar-lo obert tot el temps, però ocupa una mica de pantalla.
Pas 9: afegiu un temporitzador
Hem desplaçat la caixa d’eines cap avall i hem seleccionat un temporitzador. Feu doble clic al temporitzador per afegir-lo. Apareixerà la imatge d’un rellotge anomenat Temporitzador1 a la part inferior de la pantalla i a la dreta es ressalten les propietats del temporitzador. Podeu editar-los o es poden canviar al cos del text del codi. Els deixarem tal com són i els canviarem al cos del text.
A part, la caixa d’eines sembla una mica descoratjadora, però només són necessaris uns quants per a la majoria de programes, com ara botons, quadres de text, etiquetes, temporitzadors, quadres d’imatges, caselles de selecció i caixes de ràdio. Potser obriu un programa nou i jugueu amb alguns en algun moment.
Pas 10: afegiu un parell de botons
Feu clic a l'eina de botons i dibuixeu la mida del botó a Form1. Necessitarem dos botons, un quadre d'imatge i una etiqueta. Seguiu endavant i afegiu-los: la següent captura de pantalla mostra tots els dibuixats. La mida i la posició no són importants i podeu canviar-los el nom més tard si voleu.
Pas 11: formulari amb tots els controls afegits
Ara es presenta el formulari 1. El quadre situat al costat de Button2 és un quadre d’imatges petit. Podeu posar-hi imatges, però només l’utilitzarem per indicar quin botó s’ha premut canviant-lo de vermell a verd. Label1 mostra els registres de picaxe.
Pas 12: afegiu una mica de codi
A la dreta, encerclats en verd, hi ha diversos botons útils: el segon de la dreta és el botó Visualitza el codi i el botó dret és el dissenyador de visualitzacions. A la pràctica, quan s’escriu codi, es va endavant i enrere entre aquestes vistes. Generalment, si es troba en mode Dissenyador, fent doble clic sobre un objecte, com ara un botó, apareix un punt a la vista de codi per afegir algun codi o en porta un al tros de codi que s'executa quan es prem el botó. D’aquesta manera, el flux del programa es fa força intuïtiu: l’usuari fa clic a les coses i als bits de codi que s’executen i canvien la pantalla, etc. Per als nostres propòsits, enganyarem i enganxarem tota una llosa de codi de treball. tindrà Public Class Form1 … End Class: ressalteu-lo i suprimiu-lo. Ara agafeu tot el codi que hi ha a continuació i enganxeu-lo a. per a declaracions de son Dim WithEvents serialPort As New IO. Ports. SerialPort 'serial port declareDim PicaxeRegisters (0 to 13) As Byte' registers b0 to b13Private Sub Form1_Load (ByVal sender As Object, ByVal e As System. EventArgs) Handles Me. LoabledTimer = True 'posa això al codi com a valor predeterminat com a false quan s'ha creatTimer1. Interval = 5000' 5 segonsPictureBox1. BackColor = Color. Red 'establert a la posició' red'Array. Clear (PicaxeRegisters, 0, 13) 'probablement no sigui necessari com a matriu declarada blankEnd SubPrivate Sub Timer1_Tick (remitent ByVal com a System. Object, ByVal i As System. EventArgs) Maneja el temporitzador 1. Marqueu el temporitzador que marca cada 5 segons Truqueu a SerialTxRx () 'Parleu amb picaxeEnd SubSub SerialTxRx () Dim LabelString As String' cadena per visualitzar DataP acket (0 a 17) Com a paquet de dades sencer "Byte '" Data "+14 bytes Dim i As Integer' i sempre és útil per a bucles, etc. Etiqueta1. Text =" "'neteja el text a la pantalla Per a = 0 A 3DataPacket (i) = Asc (Mid ("Dades", i + 1, 1)) 'afegiu la paraula "Dades" al paquetNextPer i = 0 A 13DataPacket (i + 4) = PicaxeRegisters (i)' afegiu tots els bytes al paquetNextIf serialPort. IsOpen ThenserialPort. Close () 'per si ja s'ha obert Finalitza IfTryWith serialPort. PortName = "COM1"' La majoria dels equips nous tenen per defecte com1, però qualsevol ordinador anterior al 1999 amb un ratolí sèrie probablement serà com2. BaudRate = 2400 '2400 és el màxim velocitat per a picaxes petits. Parity = IO. Ports. Parity. None 'no parity. DataBits = 8' 8 bits. StopBits = IO. Ports. StopBits. One 'bit de parada. si no hi ha resposta. Open () "obriu el port sèrie. DiscardInBuffer ()" esborreu el buffer d'entrada. Escriviu (DataPacket, 0, 18) "envieu la matriu de paquets de dades Call Sleep (300)" 100 mil·lisegons mínim per esperar r dades que tornaran i més si el flux de dades és més llarg. Llegiu (DataPacket, 0, 18) 'torneu a llegir a la matriu de paquets de dades. Str (DataPacket (i)) 'es converteix en una cadena de textNextLabel1. Text = LabelString' posa la cadena de text a la pantalla Captura ex com a excepció'MsgBox (ex. ToString) 'sense comentar això si voleu veure el missatge d'error realLabel1. Text = " El temps d'espera "'es mostrarà si el picaxe no està connectat, etc. Finalitza ProvaEnd SubPrivat Sub Button1_Click (ByVal remitent com System. Object, ByVal e As System. EventArgs) Handles Button1. ClickPictureBox1. BackColor = Color. Red' canvia la casella a redPicaxeRegisters (0) = 120 'un valor arbitrari per al botó servoEnd SubPrivate Sub2_Click (remitent ByVal com a System. Object, ByVal e As System. EventArgs) Handles Button2. ClickPictureBox1. BackColor = Color. Green' a greenPicaxeRegisters (0) = 160 'valor arbitrari per al servoEnd SubEnd Class
Pas 13: executeu el programa
Enceneu el picaxe si no està engegat. Executeu el programa vb.net fent clic al triangle verd a la part superior de la pantalla, prop del centre. A la dreta del triangle d'execució hi ha un botó de pausa i un de parada, o es pot aturar el programa fent clic a la part superior dreta x o amb Fitxer / Sortida si heu afegit un menú. El programa es pot compilar si voleu, però per a la depuració, deixeu-lo funcionar dins de VB. El temporitzador envia bytes cada 5 segons, de manera que triga 5 segons a aparèixer. L’etiqueta 1 mostra un buidatge dels 14 registres de picaxe.. Aquests s’envien al picaxe i els tornen a enviar. És gairebé segur que no cal enviar els 14 i el vostre codi es pot canviar per adaptar-lo. El segon byte amb un valor de 152 és el valor de l’olla que canvia de 0 a 255. Si es fa clic al botó 1, envia un valor de 120 al primer byte i, si es fa clic al botó2, envia 160 i el programa picaxe els descodifica i mou el servo. Aquest codi mostra com enviar dades i recuperar-les d’un microcontrolador. El microcontrolador pot encendre tota mena de dispositius: tinc uns 30 a casa meva funcionant aspersors, llums, seguretat, detectant cotxes a les entrades, encenent diverses bombes de 3,6 kW i detectant el nivell d’aigua dels dipòsits. Els Picaxes es poden encadenar en un bus comú i fins i tot es poden comunicar entre ells mitjançant enllaços de ràdio. També és possible carregar i descarregar dades de llocs web i, per tant, utilitzar Internet per connectar dispositius a qualsevol lloc del món https://www.instructables. com / id / Worldwide-microcontroller-link-for-under-20 / Les dues pàgines següents també contenen alguns exemples de com utilitzar diferents sensors i com controlar diferents dispositius.
Pas 14: Dispositius d'entrada
El programador picaxe conté alguns fitxers d’ajuda molt útils, un dels quals s’anomena "Circuits d’interfície" i també està disponible a https://www.rev-ed.co.uk/docs/picaxe_manual3.pdf Això mostra com controlar els motors, detectar l’entorn i un altre control útil. A més d’aquests cirucits, n’hi ha uns quants que faig servir una i altra vegada. Temperatura: el sensor de temperatura LM35 produeix una tensió que pot entrar directament en un picaxe i es pot llegir amb una ordre readadc o readadc10. Llum: una resistència que depèn de la llum té una resistència que varia des d'uns quants centenars d'ohms a la llum del sol brillant fins a més de 5 megohms en negre intens. Mesureu la resistència al nivell de llum al qual voleu canviar i poseu el LDR en sèrie amb una resistència aproximadament del mateix valor. Per exemple, volia detectar els llums d’un cotxe que tirava cap a l’aparcament per encendre alguns llums. La resistència era d'aproximadament 1M de la llum indirecta, de manera que vaig posar un 1M en sèrie amb el LDR. Commutador: alguns commutadors canvien entre 5V i 0V (un interruptor de doble tir monopolar), però alguns només s’encenen i s’apaguen. Si un interruptor s'encén pot enviar 5V a un xip de picaxe, però si està apagat, el pin de picaxe estaria "flotant" i podria tenir qualsevol valor. Aquest circuit mostra com arrossegar l'entrada a terra quan l'interruptor està apagat. Aquest és el circuit que s’utilitza per a la majoria d’interruptors de botó. Gireu el comandament i llegiu el voltatge al xip. Hi ha tota mena d'altres dispositius electrònics que creen una tensió de 0-5V o que es poden configurar fàcilment per fer-ho. En són exemples els sensors magnètics, la humitat, la velocitat, el tacte, la llum infraroja, la pressió, el color i el so. Els sensors en general només costen uns quants dòlars cadascun.
Pas 15: control de dispositius
El fitxer d’ajuda de picaxe conté una explicació fantàstica sobre com controlar motors i llums. A més, trobo que hi ha alguns circuits que faig servir una i altra vegada. El primer és un circuit de transistors senzill. Un xip picaxe pot encendre un màxim de 20 mA per pin, cosa que és bona per encendre un LED però no gaire més. Un transistor 547 augmenta el corrent a 100 mA, que és bo per a bombetes petites. El segon circuit mostra un mosfet. Els Mosfets pràcticament no necessiten corrent per conduir-los, només volts, de manera que poden ser controlats directament per un picaxe. Hi ha tot tipus de mosquetes disponibles, però la meva preferència és la que s’anomena BUK555 60B https://www.ortodoxism.ro/datasheets/philips/BUK555-60A.pdf Es pot conduir directament des de 5V (a diferència d’alguns que necessiten 10V) però el principal avantatge és que té una resistència extremadament baixa quan s’encén - 0,045 ohms, que no és molt més que la resistència dels cables que s’hi connectarien. Això significa que no fa calor quan condueix càrregues força elevades, cosa que estalvia energia i també suposa un estalvi en els costos del dissipador de calor. Com a exemple, conduir una càrrega de 5 amp com un far de cotxe; watts = resistència actual al quadrat x, de manera que W = 5 * 5 * 0,045 = 1,12 watts que només necessitarien un dissipador de calor com una peça quadrada d'alumini prim d'1 polzada. El tercer circuit mostra un relleu. Hi ha diversos paràmetres per a tots els relés: la tensió de la bobina, la resistència de la bobina i la tensió i el corrent de càrrega. Per exemple, un relé pot tenir una bobina de 12V amb un corrent de bobina de 30mA, una resistència de la bobina de 400 ohms i pot ser capaç de conduir fins a 240V a 1 amp. El corrent de la bobina és més de volts i amplificadors del que pot subministrar un picaxe, de manera que fem servir el circuit del transistor per canviar la bobina. També hi ha un díode inclòs: això suprimeix el CEM posterior quan s’apaga el relé. Tornar EMF és el que crea l'espurna per a una bugia, de manera que no voleu que aquestes altes tensions en qualsevol lloc del circuit. Els contactes tindran un corrent i volts màxims: el corrent pot ser d'alguns amplificadors i els voltatges solen ser 240V, de manera que el canvi de 12V o 24V estarà dins del seu abast. Si no teniu experiència en l’electrònica, no jugueu amb tensions de xarxa. També hi ha relés petits que tenen voltatges de bobina de 5V o 6V. Per a aquests relés és possible que no necessiteu un subministrament separat de 12V, però només cal veure la resistència de la bobina, ja que molts d’ells presenten corrents de més de 100mA. Si és així i utilitzeu un regulador 78L05 100mA 5V, és possible que vulgueu canviar-lo per un regulador 7805 que pugui subministrar fins a 1 amp. Els relés són particularment útils per canviar de corrent altern (per exemple, solenoides per aspersió de jardí de 24VAC, llums de jardí de 12VAC) i en entorns amb soroll elèctric, com ara un cotxe. També són útils per controlar càrregues grans, per exemple, un picaxe que subministra 20mA a 5V = 0,1W controlant un transistor de 12V a 100mA = 1,2W a un relé de 24V 100mA = 2,4W a un contactor que condueix una bomba de 3600W. Si voleu controlar una alimentació així, feu que un electricista connecti una caixa de control i us doni dos cables (cables de bobina per a un relé de 12V) que pugueu controlar. D’aquesta manera, l’electricista pot tancar la sessió a la caixa d’energia i podeu fer tota l’electrònica sense haver de preocupar-vos de ser electrocutat. Un altre ús per als relés és un control invers per a un motor. Mitjançant la modulació de l'amplada de pols en un mosfet podeu controlar la velocitat d'un motor de corrent continu i, amb un relé de potència DPDT, podeu canviar la direcció. Aquesta és una manera senzilla de controlar motors grans com els que s’utilitzen en les "guerres de robots". Envieu un comentari si necessiteu ajuda per construir alguna cosa.
Recomanat:
Controleu els LEDs amb el comandament del vostre televisor ?! -- Tutorial Arduino IR: 5 passos (amb imatges)
Controleu els LEDs amb el comandament del vostre televisor ?! || Tutorial Arduino IR: en aquest projecte us mostraré com he tornat a utilitzar els botons inútils del comandament del televisor per controlar els LED que hi ha darrere del meu televisor. També podeu utilitzar aquesta tècnica per controlar tot tipus de coses amb una mica d’edició de codi. També parlaré una mica de la teoria
Controleu el disseny del vostre model de tren amb el vostre telèfon mòbil: 11 passos (amb imatges)
Controleu la disposició del vostre model de tren amb el vostre telèfon mòbil!: Controlar un disseny de model de tren amb controladors d’accelerador i de sortida de cable pot ser un bon començament per a principiants, però suposa un problema de no portabilitat. A més, els controladors sense fils que arriben al mercat només poden controlar alguns locom
Controleu el vostre avió RC amb l’acleròmetre del vostre telèfon: 15 passos (amb imatges)
Controleu el vostre avió RC amb l’acleròmetre del vostre telèfon: alguna vegada heu volgut controlar el vostre avió RC mitjançant la inclinació d’un objecte? Sempre he tingut la idea a la part posterior del cap, però mai l’he seguit fins aquesta setmana passada. Els meus primers pensaments eren utilitzar un acceleròmetre de triple eix, però ja he
CONTROLEU ELS SEUS APARELLS DES DE QUALSEVOL RACÓ DEL MÓN !!!!: 5 passos
CONTROLEU ELS SEUS APARELLS DES DE QUALSEVOL RACÓ DEL MÓN !!!!: A l’anterior Instructable vaig compartir com podeu començar a utilitzar NodeMCU (ESP8266) i programar-lo amb Arduino IDE. Consulteu-lo aquí. En aquest instructiu us mostraré com controlar els electrodomèstics des de qualsevol lloc del món mitjançant Blynk. És c
Controleu els electrodomèstics des del vostre Smarthphone amb l'aplicació Blynk i Raspberry Pi: 5 passos (amb imatges)
Controlar els electrodomèstics des del vostre Smarthphone amb l’aplicació Blynk i el Raspberry Pi: en aquest projecte, aprendrem a utilitzar l’aplicació Blynk i el Raspberry Pi 3 per controlar els electrodomèstics (cafetera, làmpada, cortina de la finestra i molt més … Components de maquinari: Raspberry Pi 3 Relay Lamp Breadboard Wires Aplicacions de programari: Blynk A