Код (C++): // библиотека для работы I²C #include <Wire.h> // библиотека для работы с модулем Slot Expander (I²C IO) #include <GpioExpander.h> // создаём объект expander класса GpioExpander по адресу 43 GpioExpander expander(43); boolean buttonWasUp = true; // была ли кнопка отпущена? boolean ledEnabled = false; // включен ли свет? // пин подключения светодиода #define EXPENDER_LED_PIN 2 // пин подключения кнопки #define EXPENDER_KEY_PIN 5 void setup() { // включаем I²C. Для Arduino Due - Wire1.begin(); Wire.begin(); // Инициализируем объект expander. Для Arduino Due - adio.begin(&Wire1); expander.begin(); // настраиваем пин светодиодов в режим выхода expander.pinMode(EXPENDER_LED_PIN, OUTPUT); expander.pinMode(EXPENDER_KEY_PIN, INPUT_PULLUP); } void loop() { // определить момент «клика» несколько сложнее, чем факт того, // что кнопка сейчас просто нажата. Для определения клика мы // сначала понимаем, отпущена ли кнопка прямо сейчас... boolean buttonIsUp = digitalRead(EXPENDER_KEY_PIN); // ...если «кнопка была отпущена и (&&) не отпущена сейчас»... if (buttonWasUp && !buttonIsUp) { // ...может это «клик», а может и ложный сигнал (дребезг), // возникающий в момент замыкания/размыкания пластин кнопки, // поэтому даём кнопке полностью «успокоиться»... delay(10); // ...и считываем сигнал снова buttonIsUp = digitalRead(EXPENDER_KEY_PIN); if (!buttonIsUp) { // если она всё ещё нажата... // ...это клик! Переворачиваем сигнал светодиода ledEnabled = !ledEnabled; digitalWrite(EXPENDER_LED_PIN, ledEnabled); } } // запоминаем последнее состояние кнопки для новой итерации buttonWasUp = buttonIsUp; } Добрый день. Соединил по сети платка. Перешил адреса(43). На ехпандере синий светодиод моргает( опрос вроде идет но проверить не могу не знаю чем). Код написал( списал из примеров). Код простой. нажал кнопку -загорелся светодиод. Ошибок в компиляции нет. Но почему то не работает.
http://wiki.amperka.ru/products:slot-expander http://wiki.amperka.ru/products:uno-slot https://amperka.ru/product/troyka-button Просто соединил платы через штатный переходник. На плате EXPANDER использую пин 2 (выход подключен светодиод) и пин 5 (вход подключил кнопку) Спасибо за внимание
это вам лучше в поддержку Амперки обратится, на форуме они не бывают. Форум - абсолютно отдельная площадка, здесь вряд ли вам помогут - конструкторы Амперки редко кто использует.