Diferència entre revisions de la pàgina «Vertebra digital (dvert2 v2.1) - IoT-Vertebrae»
		
		
		
		
		
		
		Salta a la navegació
		Salta a la cerca
		
				
		
		
		
		
		
		
		
		
	
| m (→Configuracions) | m (→Ús de Python) | ||
| Línia 82: | Línia 82: | ||
| = Ús de Python = | = Ús de Python = | ||
| == Canvi de la configuració de la vèrtebra digital ==   | == Canvi de la configuració de la vèrtebra digital ==   | ||
| + |  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.'''ain'''("0000",'a',1) | ||
| + |  19881 | ||
| + |  >>> 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 $ | ||
| + | |||
| == Interacció amb les costelles de la vèrtebra digital == | == Interacció amb les costelles de la vèrtebra digital == | ||
Revisió del 14:37, 16 ago 2024
Contingut
Descripció general
- 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 en format pdf
Configuracions
Adreces (0x20 a 0x2F):
| 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.
Ús de Python
Canvi de la configuració de la vèrtebra digital
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.ain("0000",'a',1)
19881
>>> 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 $




