Łączenie Modułów
Moduły Eduingo składa się na Mainboardzie jeden na drugim w wieżę. Wszystkie moduły w wieży są podłączone do tych samych 15 sygnałów Mainboardu, więc zanim połączysz moduły, sprawdź, czy nie chcą korzystać z tego samego pinu.
Jak składa się moduły
Mainboard i każdy moduł mają dwa złącza po dziesięć pinów:
| Złącze | Piny |
|---|---|
| Górne | IO8 – IO1, GND, 5V |
| Dolne | VUSB, GND, 3.3V, IO9 – IO15 |
Układ pinów na Mainboardzie
- Odłącz Mainboard od USB. Moduły składaj zawsze bez zasilania.
- Obróć moduł tak, aby opisy pinów zgadzały się z Mainboardem: 5V nad 5V, VUSB nad VUSB. Odwrócony moduł podłączyłby zasilanie do pinów sygnałowych i mógłby się uszkodzić.
- Wsuń moduł prosto i równomiernie, aby żaden pin się nie wygiął.
- Kolejny moduł nałóż tak samo na poprzedni. Sygnały przechodzą przez całą wieżę.
- Gdy moduły nie zmieszczą się w jednej wieży, użyj Dual Base lub Triple Base. Wszystkie wieże na podstawie dzielą te same sygnały, więc poniższe zasady dotyczą także ich.
Które piny mogą kolidować
- Każdy pin IO1 – IO15 może w jednym zestawie używać tylko jeden moduł. Gdy dwa moduły korzystają z tego samego pinu, zakłócają sobie sygnał: przycisk i brzęczyk walczą o jeden przewód, dwa suwaki dają bezsensowne wartości.
- Wyjątkiem jest magistrala I2C na IO14 i IO15. Możesz do niej podłączyć kilka modułów I2C naraz, o ile każdy ma inny adres (tabela poniżej).
- Uważaj na moduły, które używają IO14 i IO15 inaczej niż do I2C. Blink & Click ma na nich LED3 i LED4, a Wemos Adapter piny D7 i D8. Takiego modułu nie da się połączyć z żadnym modułem I2C.
- Zasilanie 5V, 3.3V, VUSB i GND dzielą wszystkie moduły, to jest w porządku. Prąd pobierany przez moduły jednak się sumuje.
- Wbudowana dioda RGB na IO33 jest tylko na Mainboardzie i nie koliduje z żadnym modułem.
Macierz pinów
Każdy wiersz to jeden moduł, każda kolumna jeden pin Mainboardu. Jeśli dwa moduły mają coś w tej samej kolumnie, nie można ich użyć razem. Wyjątkiem są SDA SCL, wspólna magistrala I2C. Na telefonie możesz przewijać tabelę w bok.
| Moduł | Złącze górne | Złącze dolne | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |
| EDU02 Blink & Click | SW1 | SW2 | SW3 | SW4 | LED1 | LED2 | LED3 | LED4 | |||||||
| EDU03 RGB LED | R | G | B | ||||||||||||
| EDU04 7-Segment | A | B | C | D | DIO | CLK | |||||||||
| EDU05 Multisensor | BUZZ | IR_TX | IR_RX | LDR | FIRE | CONN | SDA | SCL | |||||||
| EDU06 Rotary Encoder | CLK | DT | SW | ||||||||||||
| EDU07 Sliders | SL1 | SL2 | SL3 | ||||||||||||
| EDU08 LED Matrix | DIN | ||||||||||||||
| EDU09 Relay | RELAY | ||||||||||||||
| EDU10 OLED Display | SDA | SCL | |||||||||||||
| EDU11 Potentiometer | POT | ||||||||||||||
| EDU12 Buttons | A | B | D | C | |||||||||||
| EDU13 Joystick | X | Y | SW | ||||||||||||
| EDU15 Mosfet | IN1 | ||||||||||||||
| EDU16 Compass | SDA | SCL | |||||||||||||
| EDU17 SDPlayer | TX | RX | |||||||||||||
| EDU18 Keypad | CLK | DIN | |||||||||||||
| EDU19 Servos | OUT_EN | SDA | SCL | ||||||||||||
| EDU92 Wemos Adapter | D4 | D3 | D2 | D1 | RX | TX | RST | A0 | D0 | D5 | D6 | D7 | D8 | ||
Modułów Connect, SD Card, Gesture Sensor, Perfboard i Terminals nie ma jeszcze w macierzy, bo ich piny nie są jeszcze opisane.
Adresy na magistrali I2C
| Moduł | Układ | Adres |
|---|---|---|
| OLED Display | wyświetlacz 128 × 128 | 0x3C, zworką ADDR 0x3D |
| Compass | kompas | 0x0D |
| Servos | PCA9685 | 0x40 |
| Multisensor | złącze na zewnętrzny czujnik | zależy od podłączonego czujnika |
Wszystkie te adresy są różne, więc OLED Display, Compass i Servos mogą być w wieży jednocześnie. Rezystory podciągające dla I2C są już na Mainboardzie, moduły ich nie potrzebują.
Kolizje według pinów
| Pin | Moduły, które go używają |
|---|---|
| IO1 – IO4 | Blink & Click (przyciski), 7-Segment (przyciski), Multisensor (tylko IO1 – IO3), Buttons, Wemos Adapter |
| IO5 | RGB LED, LED Matrix, Relay, Mosfet, SDPlayer, Wemos Adapter |
| IO6 | RGB LED, SDPlayer, Wemos Adapter |
| IO7 | RGB LED, Rotary Encoder, Keypad |
| IO8 | Rotary Encoder, Keypad |
| IO9 | 7-Segment, Servos, Wemos Adapter |
| IO10 | 7-Segment, Wemos Adapter |
| IO11 | Multisensor, Sliders, Potentiometer, Joystick, Wemos Adapter |
| IO12 | Blink & Click, Multisensor, Sliders, Joystick, Wemos Adapter |
| IO13 | Blink & Click, Multisensor, Rotary Encoder, Sliders, Joystick, Wemos Adapter |
| IO14, IO15 | I2C: Multisensor, OLED Display, Compass, Servos. Jako zwykłe piny: Blink & Click, Wemos Adapter |
Przykładowe zestawy
Te moduły działają razem, bo każdy ma swoje piny:
- Joystick + OLED Display + RGB LED: IO11 – IO13, I2C i IO5 – IO7. Gra albo menu na wyświetlaczu.
- Keypad + OLED Display + Relay: IO7 i IO8, I2C i IO5. Zamek na kod.
- Rotary Encoder + 7-Segment: IO7, IO8, IO13 oraz IO1 – IO4, IO9, IO10. Ustawianie liczby obrotowym pokrętłem.
- Potentiometer + Servos + Compass: IO11, IO9 i I2C. Serwo sterowane pokrętłem albo kompasem.
Te pary nie działają razem:
- Joystick + Sliders: oba używają IO11 – IO13.
- RGB LED + LED Matrix, Relay + Mosfet: oba używają IO5.
- Rotary Encoder + Keypad: oba używają IO7 i IO8.
- Buttons + 7-Segment: oba używają IO1 – IO4.
- Blink & Click + OLED Display: LED3 i LED4 są na magistrali I2C.
- Wemos Adapter + cokolwiek innego: zajmuje wszystkie piny oprócz IO7 i IO8, obok niego zmieści się tylko Keypad.