Taula de continguts:

Acceleròmetre de 3 eixos, ADXL345 amb Raspberry Pi mitjançant Python: 6 passos
Acceleròmetre de 3 eixos, ADXL345 amb Raspberry Pi mitjançant Python: 6 passos

Vídeo: Acceleròmetre de 3 eixos, ADXL345 amb Raspberry Pi mitjançant Python: 6 passos

Vídeo: Acceleròmetre de 3 eixos, ADXL345 amb Raspberry Pi mitjançant Python: 6 passos
Vídeo: BTT - Manta M8P - TMC2208 2024, Desembre
Anonim
Acceleròmetre de 3 eixos, ADXL345 amb Raspberry Pi mitjançant Python
Acceleròmetre de 3 eixos, ADXL345 amb Raspberry Pi mitjançant Python

Pensant en un gadget que pugui comprovar el punt en què el vostre Offroader està inclinat cap a la retard. No seria agradable si algú s’ajusta quan hi ha la possibilitat de bolcar? Evidentment, sí. Seria realment útil per a les persones que els agrada anar a la muntanya i fer viatges empresarials.

Sens dubte, un veritable període d’avaluació avançada, l’IoT ens arriba. Com a amants dels gadgets i de la programació, creiem que Raspberry Pi, el PC micro Linux ha tractat les habilitats creatives de la gent en general, portant amb ell una explosió en metodologies innovadores. Quins són els resultats imaginables que podem fer en cas que tinguem un Raspberry Pi i un acceleròmetre de 3 eixos a prop? Hauríem de descobrir-ho! En aquesta tasca, detectarem l’acceleració en 3 eixos, X, Y i Z utilitzant Raspberry Pi i ADXL345, un acceleròmetre de 3 eixos. Per tant, hauríem d’observar en aquesta excursió per fabricar un marc per mesurar l’acceleració tridimensional cap amunt o la força G.

Pas 1: maquinari bàsic que necessitem

Maquinari bàsic que requerim
Maquinari bàsic que requerim
Maquinari bàsic que requerim
Maquinari bàsic que requerim
Maquinari bàsic que requerim
Maquinari bàsic que requerim

Els problemes eren menys per a nosaltres, ja que tenim un munt de coses per treballar. Tot i això, sabem que és complicat per a altres muntar la part correcta en el moment perfecte des del lloc oportú i que es justifica independentment de cada cèntim. Per tant, us ajudarem a totes les regions. Llegiu el següent per obtenir una llista completa de peces.

1. Raspberry Pi

El primer pas va ser adquirir una placa Raspberry Pi. Aquest petit equip de poc consum proporciona una base econòmica i generalment senzilla per a empreses electròniques, Internet de les coses (IoT), Smart Cities, Educació escolar.

2. Escut I2C per a Raspberry Pi

El principal que falta realment al Raspberry Pi és un port I²C. Per això, el connector TOUTPI2 I²C us dóna la sensació d’utilitzar Rasp Pi amb dispositius MULTIPLE I²C. És accessible a DCUBE Store

3. Acceleròmetre de 3 eixos, ADXL345

Fabricat per Analog Devices, l'ADXL345, és un acceleròmetre de 3 eixos de baixa potència amb mesuraments de 13 bits d'alta resolució fins a ± 16 g. Hem adquirit aquest sensor a DCUBE Store

4. Cable de connexió

Teníem el cable de connexió I2C accessible a DCUBE Store

5. Cable micro USB

El Raspberry Pi és el més confús, però el més estricte quant a la necessitat d’energia. L’enfocament més senzill per encendre el Raspberry Pi és mitjançant el cable Micro USB.

6. L’accés web és una necessitat

L'accés web es pot habilitar mitjançant un cable Ethernet (LAN) associat a una xarxa local i al web. D'altra banda, podeu associar-vos a una xarxa sense fils mitjançant un dongle sense fils USB, que requerirà configuració.

7. Cable HDMI / accés remot

Amb el cable HDMI incorporat, podeu connectar-lo a un televisor digital o a un monitor. Cal estalviar diners en efectiu! Raspberry Pi es pot utilitzar remotament a utilitzar estratègies distintives com SSH i Access via web. Podeu utilitzar el programari font PuTTYopen.

Pas 2: Connexió del maquinari

Connexió del maquinari
Connexió del maquinari
Connexió del maquinari
Connexió del maquinari
Connexió del maquinari
Connexió del maquinari
Connexió del maquinari
Connexió del maquinari

Feu el circuit segons l'esquema aparegut. Elaboreu un esquema i feu-lo després de la configuració deliberadament.

Connexió de l’escut Raspberry Pi i I2C

Per sobre de tot, agafeu el Raspberry Pi i observeu-hi l'I2C Shield. Premeu delicadament l’escut sobre els passadors GPIO de Pi i hem acabat amb aquesta progressió tan senzilla com el pastís (vegeu l’adhesiu).

Connexió del sensor i del gerd Pi

Agafeu el sensor i la interfície del cable I2C. Per al funcionament adequat d'aquest cable, recordeu la sortida I2C SEMPRE associada amb l'entrada I2C. El mateix s’ha de prendre després per al Raspberry Pi amb l’escut I2C muntat sobre els pins GPIO.

Prescrivim la utilització del cable I2C ja que refuta el requisit de revisar els pinouts, la soldadura i el malestar causats fins i tot per l’error més petit. Amb aquest cable bàsic plug and play, podeu introduir, intercanviar dispositius o afegir més dispositius a una aplicació fàcilment. Això fa que les coses siguin senzilles.

Nota: el cable marró hauria de seguir de manera fiable la connexió de terra (GND) entre la sortida d’un dispositiu i l’entrada d’un altre dispositiu

La xarxa web és clau

Per guanyar la nostra empresa, necessitem una connexió web per al nostre Raspberry Pi. Per a això, teniu alternatives com la interfície d’un cable Ethernet (LAN) amb el sistema domèstic. A més, com a opció, però, una ruta útil és utilitzar un connector WiFi. Algunes vegades, per a això, necessiteu un controlador perquè funcioni. Per tant, inclineu-vos cap a aquell amb Linux a la representació.

Font d'alimentació

Connecteu el cable Micro USB a la presa d’alimentació de Raspberry Pi. Enceneu-lo i ja estem bé.

Connexió a pantalla

Podem tenir el cable HDMI associat a una altra pantalla. En alguns casos, heu d’arribar a un Raspberry Pi sense connectar-lo a una pantalla o és possible que hàgiu de veure algunes dades d’ell des d’un altre lloc. És concebible que hi hagi enfocaments innovadors i amb coneixements financers per fer-ho com a tal. Un d’ells fa servir: SSH (inici de sessió remot a la línia d’ordres). També podeu utilitzar el programari PuTTY per a això.

Pas 3: codificació de Python per a Raspberry Pi

Codificació Python per a Raspberry Pi
Codificació Python per a Raspberry Pi

El codi Python per al sensor Raspberry Pi i ADXL345 és accessible al nostre dipòsit Github.

Abans d’anar al codi, assegureu-vos de llegir les directrius del document Llegeix-me i configurar el vostre Raspberry Pi segons el mateix. Simplement es detindrà un minut per fer-ho.

Un acceleròmetre és un dispositiu que mesura l’acceleració adequada; l’acceleració adequada no és el mateix que l’acceleració de coordenades (taxa de canvi de velocitat). Es pot accedir als models d’un i múltiples eixos de l’acceleròmetre per identificar la magnitud i la direcció de l’acceleració adequada, com a quantitat vectorial, i es poden utilitzar per detectar l’orientació, coordinar l’acceleració, la vibració, el xoc i caure en un medi resistiu.

El codi és senzill davant vostre i es troba en l'estructura més senzilla que podeu imaginar i no hauríeu de tenir problemes.

# Distribuïda amb una llicència de lliure voluntat. # Utilitzeu-la de la manera que vulgueu, de forma gratuïta o gratuïta, sempre que encaixi en les llicències de les obres associades. # ADXL345 # Aquest codi està dissenyat per funcionar amb el mòdul Mini ADXL345_I2CS I2C disponible a dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -mòdul /

importar smbus

temps d'importació

# Aconsegueix un bus I2C

bus = smbus. SMBus (1)

# ADXL345 adreça, 0x53 (83)

# Seleccioneu registre de velocitat d'amplada de banda, 0x2C (44) # 0x0A (10) Mode normal, velocitat de dades de sortida = bus 100 Hz. Write_byte_data (0x53, 0x2C, 0x0A) # Adreça ADXL345, 0x53 (83) # Seleccioneu registre de control de potència, 0x2D (45) # 0x08 (08) Desactivació del mode de repòs automàtic bus.write_byte_data (0x53, 0x2D, 0x08) # ADXL345 adreça, 0x53 (83) # Selecciona el registre de format de dades, 0x31 (49) # 0x08 (08) Autotest desactivat, de 4 fils interfície # Resolució completa, rang = +/- 2g bus.write_byte_data (0x53, 0x31, 0x08)

time.sleep (0,5)

# ADXL345 adreça, 0x53 (83)

# Llegir dades de 0x32 (50), 2 bytes # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x53, 0x32) data1 = bus.read_byte_data (0x53, 0x33)

# Converteix les dades a 10 bits

xAccl = ((dades1 i 0x03) * 256) + dades0 si xAccl> 511: xAccl - = 1024

# ADXL345 adreça, 0x53 (83)

# Tornar a llegir les dades des de 0x34 (52), 2 bytes # Eix Y LSB, eix Y data MSB = bus.read_byte_data (0x53, 0x34) data1 = bus.read_byte_data (0x53, 0x35)

# Converteix les dades a 10 bits

yAccl = ((dades1 i 0x03) * 256) + dades0 si yAccl> 511: yAccl - = 1024

# ADXL345 adreça, 0x53 (83)

# Llegir dades de 0x36 (54), 2 bytes # Eix Z LSB, eix Z dades MSB = bus.read_byte_data (0x53, 0x36) data1 = bus.read_byte_data (0x53, 0x37)

# Converteix les dades a 10 bits

zAccl = ((dades1 i 0x03) * 256) + dades0 si zAccl> 511: zAccl - = 1024

# Sortida de dades a la pantalla

imprimir "Acceleració a l'eix X:% d"% xAccl imprimir "Acceleració a l'eix Y:% d"% yAccl imprimir "Acceleració a l'eix Z:% d"% zAccl

Pas 4: La pràctica del codi

La practicitat del codi
La practicitat del codi

Baixeu-vos (o git pull) el codi de Github i obriu-lo al Raspberry Pi.

Executeu les ordres per compilar i penjar el codi al terminal i veure la sortida a Monitor. Passats uns instants, mostrarà tots els paràmetres. Després d’assegurar-vos que tot funcioni fàcilment, podeu endur-vos aquesta aventura a una tasca més gran.

Pas 5: Aplicacions i funcions

L’ADXL345 és un acceleròmetre de 3 eixos petit, prim i ultralleuger, de 3 eixos, amb una resolució d’alta resolució (13 bits) de fins a ± 16 g. L'ADXL345 és adequat per a aplicacions de telefonia mòbil. Quantifica l’acceleració estàtica de la gravetat en aplicacions de detecció d’inclinació i, a més, l’acceleració dinàmica que s’aconsegueix a causa del moviment o el xoc. Altres aplicacions inclouen telèfons mòbils, instrumentació mèdica, dispositius per apuntar i jugar, instrumentació industrial, dispositius de navegació personal i protecció per a disc dur (HDD).

Pas 6: Conclusió

Espero que aquesta tasca motivi una nova experimentació. Aquest sensor I2C és extraordinàriament flexible, econòmic i accessible. Com que és un sistema impermanent en gran mesura, hi ha maneres interessants d’ampliar aquesta tasca i millorar-la fins i tot.

Per exemple, podeu començar amb la idea d’un inclinòmetre mitjançant l’ADXL345 i el Raspberry Pi. En el projecte anterior, hem utilitzat càlculs bàsics. Podeu improvisar el codi dels valors G, angles de pendent (o inclinació), elevació o depressió d’un objecte respecte a la gravetat. A continuació, podeu comprovar les opcions d’avanç, com ara angles de rotació per a rotllo (eix frontal a darrere, X), pitch (eix de costat a costat, Y) i guijar (eix vertical, Z). Aquest acceleròmetre mostra forces G en 3D. Per tant, podeu utilitzar aquest sensor de diverses maneres que podeu considerar.

Per a la vostra comoditat, tenim un fascinant exercici d’instrucció en vídeo a YouTube que us pot ajudar a investigar. La confiança en aquesta empresa motiva una nova exploració. Segueix contemplant! Tingueu en compte cercar-ne, ja que contínuament en surten més.

Recomanat: