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/10/30 21:05] – [Pins] lordbrummi | 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 36: | Line 34: | ||
====Pins==== | ====Pins==== | ||
^ Configuration ^^ | ^ Configuration ^^ | ||
- | | Servo | GP0 (pin 1) connected to GND | | + | | Servo | GP0 (pin 1) connected to GND | |
| NeoPixel | GP0 (pin 1) open and connected to LED strip: Needs a 10k pullup. | | | NeoPixel | GP0 (pin 1) open and connected to LED strip: Needs a 10k pullup. | | ||
| I2C Slave address | GP1 and GP2 | | | I2C Slave address | GP1 and GP2 | | ||
\\ | \\ | ||
^ I2C Slave Address ^^^ | ^ I2C Slave Address ^^^ | ||
- | | GP1 | GP2 | Address | | + | | GP1 (SW1-1) |
- | | off | off | 124 | | + | | off | off | 124 0x7C | |
- | | on | off | 125 | | + | | on | off | 125 0x7D | |
- | | off | on | 126 | | + | | off | on | 126 0x7E | |
- | | on | on | 127 | | + | | on | on | 127 0x7F | |
\\ | \\ | ||
- | ^ I/O Banks ^^^^ | + | ^ I/O Banks ^^^^^ |
- | | GP28 Value | Config | Bank 1 | Bank 2 | | + | | GP28 Value | Config | Bank 1 | Bank 2 | SW1 | |
- | | < 100 or > 4000 | 0 | Input | Output | | + | | < 200 |
- | | < 1000 | 1 | Input | Input | | + | | > 4000 |
- | | < 2000 | 2 | Output | Output | | + | | < 3000 |
- | | < 3000 | 3 | Output | Input | | + | | < 2000 |
- | | < 4000 | 4 | - | - | | + | | < 1500 |
+ | | < 1000 | 4 | Stepper | Input | 1=0 2=0 3=0 4=1 | | ||
< | < | ||
- | GND *--[2k2]--*--[2k2]--*--[2k2]--*--[2k2]--*--[2k2]--* VREF | + | 3V3 |
- | | + | | |
- | Jmp / / / | + | SW1 / / |
- | | + | 1 |
- | *---------*---------*---------*---------*---------* GP28 | + | 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 135: | Line 147: | ||
=====Links===== | =====Links===== | ||
* https:// | * https:// | ||
+ | |||
+ | \\ | ||
+ | =====SIOpico-01 PCB===== | ||
+ | ====Patch==== | ||
+ | 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:\\ | ||
+ | {{: | ||
+ | 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.1635620756.txt.gz · Last modified: 2021/10/30 21:05 by lordbrummi