Клон Arduino Iboard Ethernet и его цифровые входы-выходы
- Войдите на сайт для отправки комментариев
Доброго времени суток !
Уважаемые господа специалисты, подскажите новичку, пожалуйста.
Приобрел Arduino совместимый контроллер, который обычно называют Arduino Iboard Ethernet от производителя ITEAD : https://www.itead.cc/ru/development-platform/arduino/arduino-compatible-mainboard/iboard.html
официально именуемый "Плата Arduino ATMega328 Для Платформы IBoard С Портом Ethernet WIZnet POE"
соблазнившись принципом все в одном и микроконтроллер и Ethernet разьем с функцией питания от него, интерфейс для подключения Wi-Fi и другие полезные интерфейсы.
Однако сталь пользовать и столкнулся с тем что его входы-выходы числом 8 (от A0 до А7) не совсем то что ожидалось с позиций банальной логики.
Мне нужны в основном цифровые входы выходы, методом научного тыка и запуска тестирующих скетчей выяснилось что входы от А0 до А5 - работают как цифровые входы выходы от 14 до соответственно 19 причем нормально - управляют светодиодами, принимают сигналы от датчика движения. Входы A6 и А7 вообще никак как цифровые себя не проявляют (пробовал номера от 0 до 30). Пробовал простейшей программой - светодиод на каждый из входов - и на каком он загорится такой и номер:
void setup() { // Open serial communications and wait for port to open: Serial.begin(9600); } void loop() { // задержка чтобы успеть посмотреть последовательный порт delay (6000); for (int i=0; i <= 30; i++) { Serial.println(i); // попытка зажечь светодиод с выхода с очередным номером pinMode(i, OUTPUT); digitalWrite(i, HIGH); delay(2000); digitalWrite(i, LOW); } }
И потом их эксплуатировал под этими номерами - датчик движения и т.д. - все работало хотя в голове и не укладывалось.
ПОЭТОМУ ВОПРОС ПЕРВЫЙ - Что это за странность с нумерацией цифровых выходов.
Далее мне понадобилось использовать внешние прерывания, а они как правило "прикручены" ко второму и третьему входу-выходу - а у меня ж их на контроллере нет ! :(
На всякий случай запустил тест - какие прерывния на каком входе:
void setup() { // Open serial communications and wait for port to open: Serial.begin(9600); } void loop() { // задержка чтобы успеть посмотреть последовательный порт delay (2000); for (int i=1; i <= 30; i++) { Serial.print(i); Serial.print(" : "); Serial.println(digitalPinToInterrupt(i)); } }
и точно 2 и 3
ПОЭТОМУ ВОПРОС ВТОРОЙ - это что карта без управления по внешним прерываниям ? очень странно.
Буду рад любому ответу или подсказке, потому что деньги плачены, связь с интернет работает но без обработки внешних прерываний мне такая карта не нужна.
ПОЭТОМУ ВОПРОС ПЕРВЫЙ - Что это за странность с нумерацией цифровых выходов.
ПОЭТОМУ ВОПРОС ВТОРОЙ - это что карта без управления по внешним прерываниям ? очень странно.
Буду рад любому ответу или подсказке, потому что деньги плачены, связь с интернет работает но без обработки внешних прерываний мне такая карта не нужна.
1) Это нормально. A6 и A7 на каком-нить Mini Pro тоже только аналоговые.
2a) Перевесьте прерывания на доступные пины. Например через https://playground.arduino.cc/Main/PinChangeInterrupt На пины A* тоже можно ловить прерывания, но это не так удобно, как с D2/D3.
2b) Найдите, где наружу выходят ваши D2/D3: https://www.itead.cc/wiki/images/5/50/SCH_IM120410001_iBoard.pdf
3) У всех бывают факапы. На то оно и хобби - чтобы ошибаться, исправлять ошибки и радоваться этому.
Благодарю, что бысто отреагировали, информация ценная !
"2b) Найдите, где наружу выходят ваши D2/D3: https://www.itead.cc/wiki/images/5/50/SCH_IM120410001_iBoard.pdf"
По ответу 2b наводящий вопрос - И что мне это даст, как мне через скетчи использовать эти знания - то есть как принимать внешние прерывания от них ?
Точно так же как и на других ардуинах - через attachInterrupt()
"Вай спасибо Сулейману - он помог советом мне ! "
если знаете цитата из знаменитого в прошлом фильма-музкомедии "Аршин-Малалан"
в данном случае sadman'у
Кто бы мог подумать что 2 и 3 цифровые входы-выходы китайцы засунут в интерфейс nRF24L01
Я новичок в этих делах и когда нашел по схеме, вставил туда светодиод и протестировал - испытал немалое удивление.
Буду теперь пробовать как будет ловить прерывания от датчика движения, еще раз sadman41- огромная благодарность !
Кто бы мог подумать что 2 и 3 цифровые входы-выходы китайцы засунут в интерфейс nRF24L01
Все вполне логично - на D2 заведен WL_IRQ с RF-ки. Если используете RF-ку, то не надо мучаться с перекидыванием проводков, переназначением прерываний - радиомодуль будет дергать МК за нужный пин, когда заловит входящий байт.
Это специфический продукт и он готов к использованию. Просто разработчики предполагали его несколько иным, чем вы.
Ага, ну говорю же что я новичок )
то есть этот микроконтроллер "заточен" на широкое разнообразие способов передачи данных, в том числе и Wi-Fi
поэтому в нем больше интерфейсов и меньше стандартных входов выходов
Точнее, часть стандартных входов-выходов уже использована для взаимодействия с дополнительными интерфейсами.
PS. А вообще, АлександрБ, новичку гораздо логичнее было бы приобретать не экзотический модуль, а, напротив, - самый распространенный, каковым является Arduino Uno. И вопросов было бы гораздо меньше.