wio:wiopico-en
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
wio:wiopico-en [2021/12/07 08:22] – [Patch] rjversluis | wio:wiopico-en [2023/08/28 03:06] (current) – rainerk | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
[[: | [[: | ||
- | * [[: | + | * [[: |
* [[: | * [[: | ||
- | * **[[: | + | * **[[: |
* [[: | * [[: | ||
\\ | \\ | ||
- | {{: | + | |< >| |
- | + | | //**S**lave **I**/ | |
- | + | {{: | |
- | ^ WIP ^\\ | + | |
- | | Pin assignments are due to change in case a GCA board comes available. | + | |
\\ | \\ | ||
Line 17: | Line 15: | ||
* 4 Servos or 32 NeoPixel | * 4 Servos or 32 NeoPixel | ||
* 16 I/O (100ms scan) | * 16 I/O (100ms scan) | ||
- | * 2 four wire stepper (ULN2003) | + | * 2 four wire stepper |
- | * up to 4 Charlieplexing signals on both I/O banks | + | * up to 2 Charlieplexing signals on bank1 |
The NeoPixel protocol engine needs all interrupts on the Pico. This is the reason that it is not possible to combine servos and neopixel simultaneous on the same Pico.\\ | The NeoPixel protocol engine needs all interrupts on the Pico. This is the reason that it is not possible to combine servos and neopixel simultaneous on the same Pico.\\ | ||
Line 24: | Line 22: | ||
\\ | \\ | ||
- | =====WIOpico | + | =====SIOpico |
The binary firmware can be downloaded here:\\ | The binary firmware can be downloaded here:\\ | ||
- | https:// | + | https:// |
====Install==== | ====Install==== | ||
- | - Keep the Pico button pressed at connecting to USB. | + | - Keep the Pico button pressed at connecting to USB. (**Important: |
- The Pico will behave like a removable drive. | - The Pico will behave like a removable drive. | ||
- | - Copy the '' | + | - Copy the [[https:// |
- Ready. | - Ready. | ||
Line 51: | Line 49: | ||
^ I/O Banks ^^^^^ | ^ I/O Banks ^^^^^ | ||
| GP28 Value | Config | Bank 1 | Bank 2 | SW1 | | | GP28 Value | Config | Bank 1 | Bank 2 | SW1 | | ||
- | | < 100 | 0 | Input | Output | 1=0 2=0 3=0 4=0 | | + | | < 200 | 0 | Input | Output | 1=0 2=0 3=0 4=0 | |
- | | | + | | |
- | | | + | | |
- | | | + | | |
- | | | + | | |
+ | | < 1000 | 4 | Stepper | ||
< | < | ||
- | 3V3 *------*--[1k]--*--[1k]--*--[1k]--*--[1k]---* GND | + | 3V3 *------*--[10k]--*--[10k]--*--[10k]--*--[10k]---* GND |
- | | | | | | + | | |
- | SW1 / | + | SW1 / |
- | 1 2 3 4 | + | 1 |
- | GP28 *------*--------*--------*--------*--[10k]--* GND | + | GP28 *------*---------*---------*---------*--[100k]--* GND |
</ | </ | ||
The GP28 value can be checked in the [[# | The GP28 value can be checked in the [[# | ||
Line 73: | Line 72: | ||
| SDA | GP4 (pin 6) | | | SDA | GP4 (pin 6) | | ||
| SCL | GP5 (pin 7) | | | SCL | GP5 (pin 7) | | ||
+ | Max. I2C speed: 100kHz -> Default.\\ | ||
\\ | \\ | ||
Line 84: | Line 84: | ||
| PWM | GP8 (pin 11) | | | PWM | GP8 (pin 11) | | ||
| PWM | GP9 (pin 12) | | | PWM | GP9 (pin 12) | | ||
+ | Via parameters in the signal and value in the object switches can be the jumping back of barriers and shape signals simulated.\\ | ||
+ | The setting is made using hex values. The entry is made as a decimal number.\\ | ||
+ | |||
+ | Example:\\ | ||
+ | Number = 4\\ | ||
+ | Step = 1\\ | ||
+ | Hex 0x14 = Dezimal 20 | ||
\\ | \\ | ||
Line 94: | Line 101: | ||
\\ | \\ | ||
^ I/O ^^ | ^ I/O ^^ | ||
- | | Bank 1 | GP18...GP27 and GP3: needs 10k pullup. (8 I/Os because 23/24/25 n.a.) - Adress: 1-8| | + | | Bank 1 | GP10...GP17: needs 10k pullup. (8 I/Os because 23/24/25 n.a.) - Adress: 1-8| |
- | | Bank 2 | GP10...GP17: needs 10k pullup. (8 I/Os) - Adress: | + | | Bank 2 | GP18...GP27 and GP3: needs 10k pullup. (8 I/Os) - Adress: |
Line 114: | Line 121: | ||
//A second signal can be defined in Rocrail with address + 100 to combine it with the main signal.//\\ | //A second signal can be defined in Rocrail with address + 100 to combine it with the main signal.//\\ | ||
+ | |||
+ | * __**[[arduino: | ||
+ | |||
+ | |||
+ | |||
====Test Signal==== | ====Test Signal==== | ||
Diagram:\\ | Diagram:\\ | ||
Line 128: | Line 140: | ||
Type ?< | Type ?< | ||
< | < | ||
- | WIOpico | + | SIOpico |
I2C:126 (pixel=0 servo=20003F70 IO=FF 00 servo=00 GP28=4083 CNF=0 IO1=input IO2=output) | I2C:126 (pixel=0 servo=20003F70 IO=FF 00 servo=00 GP28=4083 CNF=0 IO1=input IO2=output) | ||
</ | </ | ||
Line 137: | Line 149: | ||
\\ | \\ | ||
- | =====WIOpico-01 PCB===== | + | =====SIOpico-01 PCB===== |
====Patch==== | ====Patch==== | ||
- | The ADC GP28 needs a 10k pull down resistor which is not on the PCB.\\ | + | The ADC GP28 needs a 100k pull down resistor which is not on the PCB.\\ |
The easiest way is to mount the resistor directly on the Pico board on pin 34 and 38:\\ | The easiest way is to mount the resistor directly on the Pico board on pin 34 and 38:\\ | ||
{{: | {{: | ||
In this way the ADC is also stable if the Pico is not mounted on the PCB; The configuration remains 0 as default.\\ | In this way the ADC is also stable if the Pico is not mounted on the PCB; The configuration remains 0 as default.\\ | ||
+ | \\ | ||
+ | =====Hardware===== | ||
+ | | {{ : | ||
+ | | {{ : | ||
+ | | {{ : | ||
wio/wiopico-en.1638861751.txt.gz · Last modified: 2021/12/07 08:22 by rjversluis