Difference between revisions of "Blog 21"
Line 21: | Line 21: | ||
I have in my example the analog meter connected with pin 3(IO0). |
I have in my example the analog meter connected with pin 3(IO0). |
||
Pin 3 is IO0, so it will get the first value and that is one. |
|||
To set pin 3 as output: |
|||
bw_tool -I -D /dev/i2c-1 -a 84 -W 30:01 |
bw_tool -I -D /dev/i2c-1 -a 84 -W 30:01 |
||
To enable the PWM: |
|||
bw_tool -I -D /dev/i2c-1 -a 84 -W 5f:01 |
bw_tool -I -D /dev/i2c-1 -a 84 -W 5f:01 |
||
To let the pointer go to 50% of the analog meter: |
|||
bw_tool -I -D /dev/i2c-1 -a 84 -W 50:80 |
bw_tool -I -D /dev/i2c-1 -a 84 -W 50:80 |
||
The value is in hexadecimals so that is why 80 is 50%. |
|||
If you are going to use a pin like pin 10(IO6). |
If you are going to use a pin like pin 10(IO6). |
||
With the value 40. |
With the value 40 for register 30 and 5f. |
||
The reason it is 40 is, because the bits are in hexadecimals. |
The reason it is 40 is, because the bits are in hexadecimals. |
||
So, 64 decimal bits gets calculated to 40 hexadecimals. |
So, 64 decimal bits gets calculated to 40 hexadecimals. |
Revision as of 16:38, 14 December 2015
This is used for both projects:
Hardware used on Raspberry Pi:
- RPi_UI board | (User Interface)
- DIO | (DIO)
- Jumper cables M-F
- 4 PIN I2C cable F-F
- Two analog meters
Programmed with:
- Bash
- Bw tool
Connecting the analog meters
Change analog meter value through the command line
Recommended to use the DIO protocol.
I have in my example the analog meter connected with pin 3(IO0).
Pin 3 is IO0, so it will get the first value and that is one.
To set pin 3 as output:
bw_tool -I -D /dev/i2c-1 -a 84 -W 30:01
To enable the PWM:
bw_tool -I -D /dev/i2c-1 -a 84 -W 5f:01
To let the pointer go to 50% of the analog meter:
bw_tool -I -D /dev/i2c-1 -a 84 -W 50:80
The value is in hexadecimals so that is why 80 is 50%.
If you are going to use a pin like pin 10(IO6). With the value 40 for register 30 and 5f. The reason it is 40 is, because the bits are in hexadecimals. So, 64 decimal bits gets calculated to 40 hexadecimals.
The reason why this is getting used, is because it is bit masked. With that you can add multiple pins in the command. So, if you you want pin 4(IO1) and pin 6(IO3) on:
IO1 + IO3 -> 02 + 08 = 0A
Making the sticker
DIO Analog meter clock
DIO Cooking timer
Pin | Function | Value |
---|---|---|
3 | IO0 | 01 |
4 | IO1 | 02 |
5 | IO2 | 04 |
6 | IO3 | 08 |
8 | IO4 | 10 |
9 | IO5 | 20 |
10 | IO6 | 40 |