Светодиод L продолжает гореть
Я пытаюсь заставить Arduino перезагрузить мой компьютер, когда он выключен.
Используя разъем на передней панели ПК, я подключил выключатель питания и PLED напрямую к Arduino Uno, так как разъем выдает только 5 В.
Я могу проверить состояние с помощью светодиода L, но как только я подключаю контакты выключателя питания к Arduino, чтобы включить ПК, светодиод L всегда горит. Это противоречит цели того, что я пытался сделать, поскольку я хотел, чтобы светодиод L выключался, когда компьютер выключен, и загорался, когда компьютер включен, подобно тому, как работает светодиод на кнопке питания ПК.
Если кто-то может поделиться своим мнением, код и схема выводов приведены ниже.
const int ledPin = 13; // Светодиод на ардуино должен гореть при включенном ПК и гаснуть при выключенном ПК
const int pwrPin = 8; // подключен к выключателю питания для включения и выключения ПК
const int PLED = 7;
void setup() {
Serial.begin(9600); // инициализируем последовательную связь:
pinMode(PLED, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(pwrPin, OUTPUT);
}
void loop() {
int status;
status = digitalRead(PLED); // считывает статус PLED
if (status == HIGH) { // если компьютер включен, продолжайте, пока скрипт Python не выключит компьютер.
digitalWrite(ledPin, HIGH);
Serial.print("PC is on");
delay(5000);
}
else { // когда ПК выключен, arduino должен снова включиться для холодной перезагрузки ПК
digitalWrite(ledPin, LOW);
Serial.print("PC is off. Turning on in 10 seconds");
delay(10000);
// Добавлен код. Эмулирует нажатие кнопки ПК, когда ПК выключен
digitalWrite(pwrPin, LOW);
delay(500);
digitalWrite(pwrPin, HIGH);
}
delay(500);
}
Маленькая рамка с кружками — это заголовок передней панели мобильного устройства.
@Ant, 👍0
Обсуждение1 ответ
Контакты питания светодиодов на материнской плате, к которой вы подключаетесь, не являются "индикаторами питания+" и "светодиод-", они "светодиод+" для двух отдельных светодиодов (специально предназначенных для зеленого и желтого светодиодов). См. эту страницу. распиновка, используемая Intel.
Все светодиоды используют общее заземление для "светодиод-". Подключив его, как у вас, вы замыкаете один из контактов светодиода. Отсоедините этот контакт от земли, и вы сможете правильно прочитать другой контакт.
- Реализовать связь Visible Light с помощью Arduino
- 4-битный счетчик вверх и вниз
- Скетч мигания ESP8266 не мигает светодиодом
- Акцептант векселей ИКТ
- Как запустить 4 светодиода последовательно на основе кнопочного входа?
- Как включить 3 светодиода в повторяющейся последовательности, чтобы все три светодиода затем выключались при отпускании используемой кнопки?
- Как заставить Arduino реагировать на последовательную информацию?
- Быстрое изменение цвета в состоянии удержания
Что такое L-светодиод?, @jsotola
@jsotola Arduino со встроенным светодиодом., @Ant
почему в вашем коде он называется
ledPin
?, @jsotolaчто печатается в последовательной консоли? ... скопируйте и добавьте к своему вопросу, @jsotola
почему вы предполагаете, что с LLED что-то не так? ... возможно, ваш код работает правильно, @jsotola
Правильно ли я понял, что светодиод правильно показывал состояние ПК, пока вы, наконец, не подключили контакты выключателя питания к Arduino? Просьба уточнить. Если это правильно: Как именно вы все подключили?, @chrisl
@chrisl Да, это правильно. Когда я отсоединяю контакты выключателя питания, светодиод работает как положено: горит, когда компьютер включен, и выключается, когда компьютер выключен. Тем не менее, когда я вставляю контакты выключателя питания, светодиод всегда включен. Я отредактировал свой пост, чтобы показать контактные соединения., @Ant
Можете ли вы попробовать еще раз, подключившись к контактам выключателя питания, но настроив pwrpin как INPUT? Это не включит ваш компьютер таким образом, но INPUT делает контакт высокоимпедансным (электрический эквивалент неподключенного контакта), и я хочу проверить, меняет ли это что-то (и, возможно, найти что-то об основной проблеме), @chrisl
@chrisl Я пробовал это раньше, но я просто попробовал еще раз, и произошло то же самое. Отдельно я попытался запустить только код для включения ПК в другом файле и обнаружил, что установка pwrpin на OUTPUT работает, а INPUT — нет. Вот почему я установил pwrpin как ВЫВОД в моем основном коде. Надеюсь, эта информация будет полезной., @Ant
@chrisl Кроме того, я не знаю, поможет ли это или вы уже знаете это, но переключатель питания выдает 5 В в любое время, даже когда компьютер выключен. Когда я выключаю блок питания, на переключателе питания нет напряжения, а встроенный светодиод гаснет., @Ant
@ Ant, выключатель питания подключен между землей и линией сигнала включения ... сигнал включения, скорее всего, подтягивается к 5 В с помощью подтягивающего резистора ... переключатель подтягивает его к земле при нажатии переключателя., @jsotola
Вы проверяли внутреннюю схему материнской платы, как управляется светодиод? Скорее всего, переключается «PLED-», а не «PLED+», так что подключение «PLED-» к GND, как вы сделали, будет постоянно включено. Например, измерьте контакты на разъеме ПК., @the busybee
@thebusybee Я знаю, что когда ПК включен, PLED измеряется при 5 В и 0 В, когда ПК выключен. Это то, о чем ты говоришь?, @Ant
@jsotola может ли это быть потенциальной причиной того, что встроенный светодиод всегда горит?, @Ant
Хм, какой из обоих контактов PLED вы имеете в виду? -- Что вы измеряете при «PLED-», если ПК включен, что, если ПК выключен, и что вы измеряете при «PLED+» одновременно? _не_ подключайте Arduino и используйте «GND» в качестве ссылки. Пожалуйста, добавьте эти четыре значения в свой вопрос, [изменив] его., @the busybee