Ошибка загрузки на плату, но я выбрал порт и тип платы?
У меня возникла проблема, когда я пытаюсь загрузить программу на плату. Я работаю над игрой Simon Says, и когда я впервые начал загружать ее, мой компьютер отлично с ней справился. Все работало корректно.
Однако теперь я добавил 3 светодиода для цветов и 3 кнопки. Я написал им программу для запуска игры, а потом пошел тестировать. Тогда мой Arduino издавал звуковой сигнал 3 раза, а затем в 75% случаев мой компьютер выдавал мне эту ошибку:
Проблема с загрузкой на плату. См. предложения по http://www.arduino.cc/en/Guide/Troubleshooting#upload.
В 25% случаев я получаю следующее:
Произошла ошибка при загрузке скетча
Может быть, мой проект становится слишком сложным для Arduino? Это мой код:
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
int s = 13; // Оратор
int r = 6; // Красный светодиод
int y = 5; // желтый светодиод
int g = 4; // Зеленый светодиод
int b1 = 3; // Красная кнопка
int b2 = 2; // Желтая кнопка
int b3 = 1; // Зеленая кнопка — я не знаю, работает ли контакт 1.
void setup() {
lcd.begin(16, 2);
pinMode(s, OUTPUT);
pinMode(r, OUTPUT);
pinMode(y, OUTPUT);
pinMode(g, OUTPUT);
pinMode(b1, INPUT);
pinMode(b2, INPUT);
// pinMode(b3, INPUT); пин 1 работает?
}
void loop() {
lcd.print("Press any button");
lcd.setCursor(4, 1);
lcd.print("to play!");
while (true) {
if (digitalRead(b1) == HIGH) {
break;
}
delay(50);
}
lcd.clear();
delay(1000);
lcd.setCursor(1, 0);
lcd.print("Simon's turn!");
delay(1000);
while (true) {
// Пока я не хочу зацикливаться. Я закончу программу, когда эта проблема будет решена.
delay(50);
}
}
Кто-нибудь знает решение этой проблемы?
@Ben Stafford, 👍-1
Обсуждение2 ответа
Время от времени экспериментируйте с Arduino. Какой из них вы используете.
Отсоедините его и снова подключите. Если контакты D0 и D1 заняты, у вас могут возникнуть проблемы с загрузкой.
Я использую Уно. Я отключил и снова подключил, это ни на что не повлияло. Контакты D0 и D1 не заняты. Есть еще предложения?, @Ben Stafford
Что-то блокирует порт. Это не ошибка компилятора., @Luke Lozowski
Можете ли вы загрузить другие скрипты. Или это только на этом случается?, @Luke Lozowski
Это происходит только с этим, что странно. Я начал новый файл, и он работает нормально., @Ben Stafford
Привет, Бен. Извини. Я был немного занят. Я рад, что вы решили свою проблему, создав новый файл. Я работаю в ИТ-поддержке. Я также хотел бы знать, почему что-то вызывает проблемы. Может когда нибудь посмотрю. Извини. Просто сейчас очень занят своими проектами Arduino. Я могу столкнуться с подобной проблемой, и тогда я опубликую ответ здесь., @Luke Lozowski
Удалите все, что подключено к контактам Tx и Rx (коммуникационным контактам)
Попробуйте загрузить код, возможно, он сработает
- Как использовать SPI на Arduino?
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Как создать несколько запущенных потоков?
- Как подключиться к Arduino с помощью WiFi?
- avrdude ser_open() can't set com-state
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
Что именно подключено к контакту 1?, @Majenko
Контакт 1 идет к кнопке, которая идет с зеленым светодиодом. Он может сказать, когда кнопка нажата. Я не знал, была ли проблема в этом, но когда я прокомментировал это, при загрузке все еще была ошибка (не в коде)., @Ben Stafford
Что-нибудь *кроме* кнопки? Какой-нибудь подтягивающий или подтягивающий резистор? Если вы *отключите все* от контакта 1, он снова начнет работать?, @Majenko
Позвольте мне попробовать это., @Ben Stafford
Хорошо, я удалил все с пина 1, попытался загрузить снова. К сожалению, все еще ошибка. Кроме кнопки там больше ничего нет. *Редактировать* Есть потенциометр, но он даже не подключается к контакту 1. Он предназначен для регулировки ЖК-дисплея., @Ben Stafford