Распиновка и подключение
Какой контакт скрывается за каждым портом и для чего плата уже его использует (то, чего нет на маркировке). Выберите плату, а затем порт.
Прочитайте перед тем, как указывать номер пина
Шесть номеров пинов сломают работу этой платы
Через пины с 6 по 11 чип обращается к памяти, где хранится его собственная программа. Если обратиться к одному из них, чип больше не сможет считывать свой код: никакой ошибки, никакого сообщения, ничего на экране — плата просто будет бесконечно перезагружаться, пока её не восстановят через кабель. Такое уже случалось с настоящей платой из-за одной-единственной строчки кода.
- Запись Pin(6) похожа на порт P6. На самом деле порт P6 — это пин 16.
- Запись Pin(7) похожа на порт P7. На самом деле порт P7 — это пин 17.
- Запись Pin(8) похожа на порт P8. На самом деле порт P8 — это пин 26.
- Запись Pin(9) похожа на порт P9. На самом деле порт P9 — это пин 25.
- Запись Pin(10) похожа на порт P10. На самом деле порт P10 — это пин 36.
- Запись Pin(11) похожа на порт P11. На самом деле порт P11 — это пин 2.
Среда программирования canvas не позволяет отправить программу, которая так делает. Но если вы вводите команды для платы вручную, такой защиты нет.
Некоторые пины могут только считывать данные
Три порта могут измерять значения, но никогда ничего не включают. Подключённая к ним лампочка просто не загорится, и при этом не появится никакой ошибки.
Измерение напряжения перестаёт работать при включённом Wi-Fi
У чипа два блока измерений, и модуль радиосвязи забирает один из них себе. Только порты из списка «измеряет меняющееся напряжение» используют тот блок, который не занят радиосвязью, поэтому в редакторе блоков доступны только они.
Один разъём управляет экраном
Экран, датчик жестов, датчик цвета, 7-сегментный индикатор и считыватель карт подключены к одной и той же паре пинов. Если занять этот разъём чем-то своим, все эти устройства перестанут работать.
Порты
Обозначение написано рядом с разъёмом. Номер контакта — это то, что используется в программе, и эти номера не совпадают.
- P033
machine.Pin(33)Считывает изменяющееся напряжениеИспользует разъём совместно с P1Уже используется
- Мотор M1src/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_motion.js
- Второй разъём последовательного порта, P1/P0src/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_ports_uart.js
- Модуль распознавания речи, P1/P0src/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_voice_recognition.js
- P132
machine.Pin(32)Считывает изменяющееся напряжениеИспользует разъём совместно с P0Уже используется
- Мотор M1src/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_motion.js
- Второй разъём последовательного порта, P1/P0src/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_ports_uart.js
- Модуль распознавания речи, P1/P0src/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_voice_recognition.js
- P235
machine.Pin(35)Только для чтения, нельзя использовать как выходСчитывает изменяющееся напряжениеУже используется
Ничем — этот контакт свободен - P334
machine.Pin(34)Только для чтения, нельзя использовать как выходСчитывает изменяющееся напряжениеУже используется
Ничем — этот контакт свободен - P44
machine.Pin(4)Считывает напряжение, но не работает при включённом Wi-FiЭто сенсорная площадка TУже используется
- Сенсорная площадка Tsrc/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_touch.js
- P50
machine.Pin(0)Считывает напряжение, но не работает при включённом Wi-FiУже используется
- Кнопка Asrc/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_buttons.js
- P616
machine.Pin(16)Уже используется
Ничем — этот контакт свободен - P717
machine.Pin(17)Уже используется
- Три цветных светодиода на платеsrc/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_onboard_LED.js
- P826
machine.Pin(26)Считывает напряжение, но не работает при включённом Wi-FiМожет выдавать аналоговое напряжение, а не только «вкл/выкл»Уже используется
- Мотор M2src/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_motion.js
- Динамик — линия передачи данных платыsrc/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_tts.js
- P925
machine.Pin(25)Считывает напряжение, но не работает при включённом Wi-FiМожет выдавать аналоговое напряжение, а не только «вкл/выкл»Уже используется
- Мотор M3src/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_motion.js
- P1036
machine.Pin(36)Нет разъёма на платеТолько для чтения, нельзя использовать как выходСчитывает изменяющееся напряжениеУже используется
- Микрофонsrc/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_microphone.js
- P112
machine.Pin(2)Считывает напряжение, но не работает при включённом Wi-FiУже используется
- Кнопка Bsrc/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_buttons.js
- P1212
machine.Pin(12)Считывает напряжение, но не работает при включённом Wi-FiЭто сенсорная площадка DУже используется
- Сенсорная площадка Dsrc/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_touch.js
- P1318
machine.Pin(18)Использует разъём совместно с P14Уже используется
- Мотор M4src/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_motion.js
- Последовательный порт на P14/P13 — передача (TX)src/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_ports_uart.js
- P1419
machine.Pin(19)Использует разъём совместно с P13Уже используется
- Мотор M4src/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_motion.js
- Последовательный порт на P14/P13 — приём (RX)src/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_ports_uart.js
- P1523
machine.Pin(23)Уже используется
- Мотор M3src/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_motion.js
- P165
machine.Pin(5)Уже используется
- Мотор M2src/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_motion.js
- P1922
machine.Pin(22)Использует разъём совместно с P20Уже используется
- Экран и другие подключаемые модули (линия тактирования)src/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_oled_text.js
- P2021
machine.Pin(21)Использует разъём совместно с P19Уже используется
- Экран и другие подключаемые модули (линия данных)src/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_oled_text.js
| Порт | Контакт | В программе | Уже используется |
|---|---|---|---|
| P0 Считывает изменяющееся напряжениеИспользует разъём совместно с P1 | 33 | machine.Pin(33) |
|
| P1 Считывает изменяющееся напряжениеИспользует разъём совместно с P0 | 32 | machine.Pin(32) |
|
| P2 Только для чтения, нельзя использовать как выходСчитывает изменяющееся напряжение | 35 | machine.Pin(35) | Ничем — этот контакт свободен |
| P3 Только для чтения, нельзя использовать как выходСчитывает изменяющееся напряжение | 34 | machine.Pin(34) | Ничем — этот контакт свободен |
| P4 Считывает напряжение, но не работает при включённом Wi-FiЭто сенсорная площадка T | 4 | machine.Pin(4) |
|
| P5 Считывает напряжение, но не работает при включённом Wi-Fi | 0 | machine.Pin(0) |
|
| P6 | 16 | machine.Pin(16) | Ничем — этот контакт свободен |
| P7 | 17 | machine.Pin(17) |
|
| P8 Считывает напряжение, но не работает при включённом Wi-FiМожет выдавать аналоговое напряжение, а не только «вкл/выкл» | 26 | machine.Pin(26) |
|
| P9 Считывает напряжение, но не работает при включённом Wi-FiМожет выдавать аналоговое напряжение, а не только «вкл/выкл» | 25 | machine.Pin(25) |
|
| P10 Нет разъёма на платеТолько для чтения, нельзя использовать как выходСчитывает изменяющееся напряжение | 36 | machine.Pin(36) |
|
| P11 Считывает напряжение, но не работает при включённом Wi-Fi | 2 | machine.Pin(2) |
|
| P12 Считывает напряжение, но не работает при включённом Wi-FiЭто сенсорная площадка D | 12 | machine.Pin(12) |
|
| P13 Использует разъём совместно с P14 | 18 | machine.Pin(18) |
|
| P14 Использует разъём совместно с P13 | 19 | machine.Pin(19) |
|
| P15 | 23 | machine.Pin(23) |
|
| P16 | 5 | machine.Pin(5) |
|
| P19 Использует разъём совместно с P20 | 22 | machine.Pin(22) |
|
| P20 Использует разъём совместно с P19 | 21 | machine.Pin(21) |
|
На плате, но без отдельного порта
Четыре из шести сенсорных площадок и линия прослушивания динамика вообще не имеют разъёмов. При этом они всё равно являются пинами, могут конфликтовать друг с другом, а в таблице портов выше они не отображаются.
- machine.Pin(13)
- Сенсорная площадка Esrc/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_touch.js
- machine.Pin(14)
- Сенсорная площадка Osrc/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_touch.js
- machine.Pin(15)
- Сенсорная площадка Isrc/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_touch.js
- machine.Pin(27)
- Сенсорная площадка Csrc/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_touch.js
- Динамик — линия приёма данных платыsrc/config/canvas/sheenbot-infinity-blocks/sheenbot_infinity_tts.js
Куда подключать мою деталь?
Найдите тип вашей детали. Подходящие для неё порты указаны рядом с ней.
Она измеряет значение величины
Свет, влажность почвы, регулятор-ручка, уровень шума, газ, пламя — всё, что выдаёт числовое значение, а не просто «да/нет». Только эти порты могут считывать такие данные при включённом Wi-Fi.
Используйте: P0 · P1 · P2 · P3
Она просто включается или выключается
Кнопка, датчик движения, лампочка, вентилятор, зуммер. Подойдёт любой свободный порт — начните со свободных.
Используйте: P2 · P3 · P6
У неё два сигнальных провода
Датчик расстояния передаёт сигнал по одному проводу и принимает по другому, поэтому ему нужен разъём с двумя линиями. Таких разъёмов всего два.
Используйте: P1/P0 · P14/P13
Это умный модуль с собственным чипом
Экран, датчик движения, считыватель карт, датчик цвета, датчик пульса, 7-сегментный индикатор. Все они подключаются к одному разъёму и могут работать одновременно — плата различает их по именам.
Используйте: P20/P19
Она передаёт целые фразы и сообщения
Сканер отпечатков пальцев, модуль GPS, робособака. Они отправляют потоки символов, и им нужен разъём с отдельными проводами для отправки и приёма.
Используйте: P1/P0 · P14/P13
Это мотор
Разъёмы моторов также соединены с портами, поэтому мотор и деталь, подключённая к его порту, будут конфликтовать. Для каждого канала указаны два порта, которые он занимает.
Используйте: M1 → P0, P1 · M2 → P8, P16 · M3 → P9, P15 · M4 → P13, P14
