#1 2018-01-25 19:18:44

АлександрБ
Участник
Из Киев
Зарегистрирован: 2018-01-25
Сообщений: 18

Помогите: Arduino Iboard Ethernet и его цифровые входы-выходы

Доброго времени суток !

Уважаемые господа специалисты, подскажите новичку, пожалуйста.

Приобрел Arduino совместимый контроллер, который обычно называют Arduino Iboard Ethernet от производителя ITEAD :
www.itead.cc/ru/development-platform/ar … board.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);
  }  
}

И потом их эксплуатировал под этими номерами - датчик движения и т.д. - все работало хотя в голове и не укладывалось.

ПОЭТОМУ ВОПРОС ПЕРВЫЙ - Что это за странность с нумерацией цифровых выходов.

Далее мне понадобилось использовать внешние прерывания, а они как правило "прикручены" ко второму и третьему входу-выходу - а у меня ж их на контроллере нет ! sad

На всякий случай запустил тест - какие прерывния на каком входе:

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

ПОЭТОМУ ВОПРОС ВТОРОЙ - это что карта без управления по внешним прерываниям ? очень странно.

Буду рад любому ответу или подсказке, потому что деньги плачены, связь с интернет работает но без обработки внешних прерываний мне такая карта не нужна.

#2 2018-01-25 19:27:25

renoshnik
Участник
Зарегистрирован: 2017-04-03
Сообщений: 441

Re: Помогите: Arduino Iboard Ethernet и его цифровые входы-выходы

#3 2018-01-25 19:41:56

АлександрБ
Участник
Из Киев
Зарегистрирован: 2018-01-25
Сообщений: 18

Re: Помогите: Arduino Iboard Ethernet и его цифровые входы-выходы

Очень благодарен за быстрый ответ.
Однако у меня процессор ATmega386p а не 168
и как в скетчах напрямую обращаться к регистрам и как при этом переназначить скажем 14 вывод на 1-й не совсем ясно
Мне ведь нужно внешнее прерывание обрабатывать с реальных 2-го и 3-го цифровых выходов, то есть присоединить к ним скажем датчик движения или звука ?

#4 2018-02-04 11:00:37

void loop
Участник
Зарегистрирован: 2016-10-20
Сообщений: 22

Re: Помогите: Arduino Iboard Ethernet и его цифровые входы-выходы

Пины A6, A7 могут использоваться только как аналоговый входы. На вашей плате под гребенку выведены только А0-А7. D2,D3 можно снять с разъема под NRF24L01.

#5 2018-02-04 11:22:40

Green
Участник
Зарегистрирован: 2015-11-08
Сообщений: 527

Re: Помогите: Arduino Iboard Ethernet и его цифровые входы-выходы

Можно использовать любой пин для прерывания по изменению сигнала. Только нужно лезть в ДШ. И это если вы сами будете заниматься обработкой. Примерное оформление:

#define encoder_init()    (PCICR |= 1<<PCIE2, PCMSK2 |= 1<<PCINT18 | 1<<PCINT19)
#define ENCODER_VECTOR    PCINT2_vect

Редактировался Green (2018-02-04 11:23:19)

#6 2018-02-04 11:25:41

Green
Участник
Зарегистрирован: 2015-11-08
Сообщений: 527

Re: Помогите: Arduino Iboard Ethernet и его цифровые входы-выходы

Либо искать библиотеку для прерываний по изменению сигнала.)
Любой, кроме А6, А7 естественно.)

Редактировался Green (2018-02-04 11:27:40)

#7 2018-02-04 14:58:15

АлександрБ
Участник
Из Киев
Зарегистрирован: 2018-01-25
Сообщений: 18

Re: Помогите: Arduino Iboard Ethernet и его цифровые входы-выходы

Спасибо большое господа !
Сам нашел по схеме где цифровые выходы 2 и 3. Пришлось вникнуть

А до переназначения прерываний будем надеяться дело не дойдет, поскольку в NRF24L01
ничего в этой карте втыкать не собираюсь, в частности задачи с wifi буду решать с помощью других карт,
уже болит об этом голова - и боль свою изложил в других темах форума. smile

Еще раз благодарю за советы !

Быстрое сообщение

Введите сообщение и нажмите Отправить

Подвал раздела