Vertebra digital (dvert2 v2.1) - IoT-Vertebrae

De binefa.com
Salta a la navegació Salta a la cerca

Descripció general

dvert2 v2.1
  • Nivells lògics de 3,3 volts
  • 16 adreces (0x20 a 0x2F)
  • Comunicació I2C
  • Comunicació CAN. Pont de terminació del bus CAN
  • Connecta costelles digitals d'entrada i sortida als costats A i B
  • Configuració d'entrades per nivell o tàctils
  • Configuració de sortides per nivell o per modulació d'amplada de pols (PWM)
  • Led indicador d'alimentació procedent del cap (D2)
  • Botó (WEB) i led (D1) per a usos personalitzables
  • Connector a antena de 2.4GHz

Esquema electrònic

Esquema electrònic dvert2 v2.1

Esquema electrònic en format pdf

Configuracions

Adreces (0x20 a 0x2F):

Adreces dvert2 v2.1
Adreces
A3 A2 A1 A0 text Hex
- - - - 0000 0x20
- - - x 0001 0x21
- - x - 0010 0x22
- - x x 0011 0x23
- x - - 0100 0x24
- x - x 0101 0x25
- x x - 0110 0x26
- x x x 0111 0x27
x - - - 1000 0x28
x - - x 1001 0x29
x - x - 1010 0x2A
x - x x 1011 0x2B
x x - - 1100 0x2C
x x - x 1101 0x2D
x x x - 1110 0x2E
x x x x 1111 0x2F

- : sense pont (jumper)

x : amb pont (jumper)

Sense cap pont és l'adreça 0x20. Amb els quatre ponts connectats és l'adreça 0x2F.

Sortides i entrades per nivell

Es poden fer servir els dos costats (A i/o B) per a connectar costelles digitals d'entrada i/o sortida.

Modulació per amplada de pols

Tan sols pot haver una costella amb les 8 sortides PWM. Al costat A o al B.

Sensors tàctils

Es pot fer servir una costella protorib. Tan sols pot ser connectada al costat B.

Un cop està configurat per maquinari de la protorib per a que es connectin els sensors tàctils, heu de configurar la vèrtebra per a poder llegir els sensors tàctils.

>>> iotv.dsetup("0000","aout","bintouch")
aout, bintouch
True
>>> iotv.dsetup("0000","ain","bintouch")
ain, bintouch
True
>>> iotv.dsetup("0000","aoutpwm","bintouch")
aoutpwm, bintouch
True

Un cop s'ha fet la configuració d'entrades tàctils, la lectura dels seus valors es fa exactament igual que la lectura del registre d'entrades.

Ús de Python

pi@raspberrypi:~/iot-vertebrae $ python
Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import iotv
>>> iotv.dversion("0000")
Digital rib version: 1.2
'0000000100000010'
>>> iotv.getdsetup("0000")
A digital output, B digital input
'00010010'
>>> iotv.dsetup("0000","aout","bin")
ain, aout
Setup has not been changed
False
>>> iotv.getdsetup("0000")
A digital output, B digital input
'00010010'
>>> iotv.dsetup("0000","ain","bout")
ain, bout
True
>>> iotv.getdsetup("0000")
A digital input, B digital output
'00100001'
>>> iotv.dsetup("0000","aout","bin")
aout, bin
True
>>> iotv.getdsetup("0000")
A digital output, B digital input
'00010010'
>>> iotv.din("0000",'b')
'00000000'
>>> iotv.din("0000",'b')
'00100100'
>>> iotv.din("0000",'b')
'00000000'
>>> iotv.dout("0000",'a',0x5A)
>>> iotv.dsetup("0000","aoutpwm","bin")
aoutpwm, bin
True
>>> iotv.getdsetup("0000")
A PWM output, B digital input
'00010100'
>>> iotv.doutpwm('0000','a',255)
>>> iotv.doutpwm('0000','a',55)
>>> iotv.doutpwm('0000','a',0)
>>> iotv.dsetup("0000","aout","bin")
aout, bin
True
>>> iotv.getdsetup("0000")
A digital output, B digital input
'00010010'
>>> iotv.doutbit('0000','a',0,1)
>>> iotv.doutbit('0000','a',0,0)
>>> iotv.dsetup("0000","aoutpwm","bin")
aoutpwm, bin
True
>>> iotv.getdsetup("0000")
A PWM output, B digital input
'00010100'
>>> iotv.doutbitpwm('0000','a',0,55)
>>> iotv.doutbitpwm('0000','a',0,255)
>>> iotv.doutbitpwm('0000','a',0,0)
>>> iotv.dsetup("0000","aout","bin")
aout, bin
True
>>> iotv.getdsetup("0000")
A digital output, B digital input
'00010010'
>>> 
pi@raspberrypi:~/iot-vertebrae $