Красный светодиод не выключается на игровой площадке Adafruit Circuit Classic

При использовании традиционной программы-примера Blink индикатор мигает, как и ожидалось. Даже при записи с нуля digitalWriteпостоянное многократное переключение 13-го контакта на высокий и низкий работает нормально. Проблема в том, что я пытаюсь использовать CircuitPlayground.redLED(false). Это не имеет никакого эффекта, и пример Hello_Blink для Circuit Playground вообще не работает. Светодиод горит постоянно, что бы я ни делал.

Я просмотрел исходный код библиотеки CircuitPlayground, и она также использует контакт 13 и делает практически то же самое, что и традиционная программа мигания.

Не уверен, что еще может быть причиной этого.

Это рабочий скетч Blink:

// функция настройки запускается один раз, когда вы нажимаете сброс или включаете плату
void setup() {
  // инициализируем цифровой вывод LED_BUILTIN как выход.
  pinMode(LED_BUILTIN, OUTPUT);
}

// функция цикла запускается снова и снова навсегда
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // включаем светодиод (HIGH - уровень напряжения)
  delay(1000);                       // ждем секунду
  digitalWrite(LED_BUILTIN, LOW);    // выключаем светодиод, понижая напряжение
  delay(1000);                       // ждем секунду
}

А это скетч Hello_Blink, который не работает (светодиод горит постоянно):

#include <Adafruit_CircuitPlayground.h>

void setup() {
  CircuitPlayground.begin();
}

void loop() {
  CircuitPlayground.redLED(HIGH);
  delay(500);
  CircuitPlayground.redLED(LOW);
  delay(500);
}

Изменение HIGH и LOW на true и false ничего не дает.

Я также заметил еще две странные вещи. Динамик издает слышимый щелчок, когда плата сбрасывается при использовании скетча Hello_Blink (или любого другого скетча, использующего библиотеку CircuitPlayground), как будто контакт № 5 также находится в высоком положении. Кроме того, я добавил эти две строки

pinMode(6, OUTPUT);
digitalWrite(6, HIGH);

в setup() обеих программ, а затем проверил #6 с помощью мультиметра. Пин №6 ни к чему не подключен. Традиционная программа мерцания позволяет пину подняться, как и ожидалось. Однако в скетче CircuitPlayground штифт остается внизу.

Я использую эту библиотеку с atmega32u4.

, 👍3


1 ответ


Лучший ответ:

1

Похоже, это ошибка в библиотеке Circuit Playground. Здесь была открыта проблема.

https://github.com/adafruit/Adafruit_CircuitPlayground/issues/40

Редактировать: это действительно была ошибка, теперь она исправлена в версии библиотеки 1.8.4.

,