Taula de continguts:
- Pas 1: què és un sensor d'efecte Hall?
- Pas 2: què és una interrupció?
- Pas 3: connexions i codi
- Pas 4: accions addicionals
Vídeo: Sensor d'efecte Hall Arduino amb interrupcions: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Hola a tothom, Avui us mostraré com podeu connectar un sensor d’efecte hall a un Arduino i utilitzar-lo amb una interrupció.
Eines i materials utilitzats al vídeo (enllaços d’afiliats): Arduino Uno:
Sensors d'efecte Hall:
Diverses resistències:
Pas 1: què és un sensor d'efecte Hall?
Un sensor d’efecte Hall és un dispositiu que s’utilitza per mesurar la magnitud d’un camp magnètic. La seva tensió de sortida és directament proporcional a la intensitat del camp magnètic a través d’ell.
Els sensors d’efecte Hall s’utilitzen per a aplicacions de detecció de proximitat, posicionament, detecció de velocitat i detecció de corrent.
Amb el que treballaré avui s’etiqueta com a 3144, un interruptor d’efecte de sala que s’utilitza principalment per a aplicacions d’alta temperatura i automoció. La seva sortida és elevada per defecte i baixa quan es presenta un camp magnètic.
El sensor té 3 pins, VCC, terra i sortida. Podeu identificar-los en aquest ordre si manteniu el sensor amb les etiquetes cap a vosaltres. VCC és a l’esquerra i la sortida al costat dret. Per evitar qualsevol derivació de tensió, s’utilitza una resistència de 10 k entre VCC i la sortida en una configuració pull-up.
Pas 2: què és una interrupció?
Per connectar el sensor a l’Arduino, farem servir una característica senzilla però molt potent anomenada Interrupt. Un treball d'interrupció consisteix a assegurar-se que el processador respon ràpidament a esdeveniments importants. Quan es detecta un senyal determinat, una interrupció (com el seu nom indica) interromp el que fa el processador i executa un codi dissenyat per reaccionar a qualsevol estímul extern que s’està alimentant a l’Arduino. Un cop finalitzat aquest codi, el processador torna a fer el que feia originalment com si res no passés.
El que és impressionant d’això és que estructura el vostre sistema per reaccionar amb rapidesa i eficiència davant d’esdeveniments importants que no són fàcils d’anticipar al programari. El millor de tot és que allibera el processador per fer altres coses mentre espera un esdeveniment per aparèixer.
L’Arduino Uno té dos pins que podem utilitzar com a interrupcions, pin 2 i 3. La funció que fem servir per registrar el pin com a interrupció s’anomena attachInterrupt on com a primer paràmetre enviem el pin que s’utilitzarà, el segon paràmetre és el nom de la funció a la qual volem trucar un cop detectada una interrupció i com a tercer paràmetre enviem en el mode en què volem que funcioni la interrupció. Hi ha un enllaç a la descripció del vídeo a la referència completa per a aquesta funció.
Pas 3: connexions i codi
En el nostre exemple, connectem el sensor d’efectes de sala al pin 2 de l’Arduino. Al començament de l'esbós, definim les variables per al número de pin del LED incorporat, el pin d'interrupció i una variable de bytes que utilitzarem per modificar a través de la interrupció. És crucial que el marquem com a volàtil perquè el compilador pugui saber que s'està modificant fora del flux principal del programa a través de la interrupció.
A la funció de configuració, primer especifiquem els modes als pins utilitzats i després adjuntem la interrupció tal com s’ha explicat anteriorment. Una altra de les funcions que fem servir aquí és digitalPinToInterrupt que, tal com indica el seu nom, tradueix el número de pin al número d’interrupció.
Al mètode principal, només escrivim la variable d'estat al pin LED i afegim un retard molt petit perquè el processador tingui temps de funcionar correctament.
On hem adjuntat la interrupció, hem especificat parpellejar com a segon paràmetre i aquest és el nom de la funció que s'ha de cridar. A l’interior només invertim el valor de l’estat.
El tercer paràmetre de la funció attachIntertupt és el mode en què funciona. Quan el tinguem com a CANVI, la funció de parpelleig s’executarà cada vegada que canviï l’estat d’interrupció i es tornarà a trucar un cop arribem l’imant al sensor i es tornarà a activar un cop l’eliminem. D’aquesta manera, el LED s’encén mentre mantenim l’imant a prop del sensor.
Si ara canviem el mode a RISING, la funció de parpelleig només s’activarà quan es vegi una vora ascendent del senyal al pin d’interrupció. Ara, cada vegada que apropem l’imant al sensor, el LED s’apaga o s’encén, de manera que bàsicament hem fet un interruptor magnètic.
El mode final que provarem és BAIX. Amb ell, quan l’imant està a prop, la funció de parpelleig s’activarà constantment i el LED parpellejarà, tot invertint el seu estat. Quan traiem l’imant, és realment imprevisible com acabarà l’estat, ja que depèn del moment. No obstant això, aquest mode és realment útil si hem de saber durant quant de temps es va prémer un botó, ja que podem utilitzar funcions de temporització per determinar-ho.
Pas 4: accions addicionals
Les interrupcions són una manera senzilla de fer que el vostre sistema sigui més sensible a les tasques sensibles al temps. També tenen l'avantatge addicional d'alliberar el vostre bucle principal () per centrar-se en alguna tasca principal del sistema. (Em sembla que això tendeix a fer que el meu codi sigui una mica més organitzat quan els faig servir; és més fàcil veure per a què es va dissenyar el tros principal de codi, mentre que les interrupcions gestionen esdeveniments periòdics.) L'exemple que es mostra aquí és gairebé el més cas bàsic per utilitzar una interrupció: podeu utilitzar-les per llegir un dispositiu I2C, enviar o rebre dades sense fils, o fins i tot engegar o aturar un motor.
Si teniu un ús interessant d’una interrupció o d’un sensor d’efectes de sala, assegureu-me de fer-ho saber als comentaris, agrada i compartir aquest instructiu i no oblideu subscriure-us al meu canal de YouTube per obtenir tutorials i projectes més increïbles a futur.
Ànims i gràcies per veure-ho!
Recomanat:
Com construir el vostre propi anemòmetre mitjançant interruptors Reed, sensor d'efecte Hall i alguns retalls a Nodemcu - Part 2 - Programari: 5 passos (amb imatges)
Com es construeix el seu propi anemòmetre mitjançant commutadors Reed, sensor d’efecte Hall i alguns retalls a Nodemcu - Part 2 - Programari: Introducció Aquesta és la seqüela del primer missatge: "Com construir el seu propi anemòmetre mitjançant interruptors Reed, sensor d’efecte Hall i alguns retalls a Nodemcu - Part 1 - Maquinari " - on mostro com muntar la velocitat i la direcció del vent mesurant
Com construir el vostre propi anemòmetre mitjançant interruptors Reed, sensor d’efecte Hall i alguns retalls a Nodemcu. - Part 1 - Maquinari: 8 passos (amb imatges)
Com construir el vostre propi anemòmetre mitjançant interruptors Reed, sensor d’efecte Hall i alguns retalls a Nodemcu. - Part 1 - Maquinari: Introducció Des que vaig començar amb els estudis d’Arduino i Maker Culture, m’ha agradat construir dispositius útils amb trossos de brossa i ferralla, com ara taps d’ampolles, trossos de PVC, llaunes de beguda, etc. M’encanta donar un segon la vida de qualsevol peça o qualsevol company
Demostració 4x4 d’un tauler d’escacs electrònic / amb lector Arduino Mega + RFID + Sensors d’efecte Hall: 7 passos
Demostració 4x4 d’un tauler d’escacs electrònic / amb lector Arduino Mega + RFID + Sensors d’efecte Hall: Hola fabricants, sóc Tahir Miriyev, graduat el 2018 a la Universitat Tècnica de l’Orient Mitjà, Ankara / Turquia. Em vaig especialitzar en Matemàtiques Aplicades, però sempre em va encantar fer coses, sobretot quan es tractava de treballs manuals amb electrònica, disseny i programació
Generador de tons Arduino sense biblioteca ni funcions de sèrie (amb interrupcions): 10 passos
Generador de tons Arduino sense biblioteca ni funcions de sèrie (amb interrupcions): això no és una cosa que normalment sigui útil per instruir, prefereixo la meva obra metàl·lica, però com que sóc estudiant d'enginyeria elèctrica i he de fer una classe sobre microcontroladors ( Disseny de sistemes incrustats), vaig pensar que faria un instructable en un dels meus p
Sensor d'efecte Hall a Arduino mitjançant Fidget Spinner: 3 passos (amb imatges)
Sensor d'efecte Hall a Arduino mitjançant Fidget Spinner: resum funcionament: -Un sensor d'efecte Hall és un transductor que varia la seva tensió de sortida en resposta a un camp magnètic. Efecte Hall