Программа ардуино не работает

Задача проста:
По нажатию на кнопку старт, плавно запускаеться двиг. Делает 15 об. Колличество оборотов отслеживаеться д. Холла. Плавно останавливаеться. Потом задерживаеться.

И возвращаеться обратно (пл. пуск, 15 об., плавн. остановка) Время задержки, регулируеться двумя кнопками (+ и -). И выводиться на 1602 экран, через айтуси.
Но почему то, он не работает.
Каждый из компонентов, был проверен в отдельности.

#include // библиотека для ай2си #include // библиотека ЕРОПАМ #include «LiquidCrystal_I2C.h» LiquidCrystal_I2C lcd(0x27,16,2); // адрес шины #define button_start 2 // пин кнопка — пуск #define button_UP 7 // пин кнопка потенциометр + #define button_DOWN 8 // пин кнопка потенциометр — #define holla 3 // пин датчика холла #define DC_UP 5 // пин движка + #define DC_DOWN 6 // пин движка — byte potenc = 30; // начальное значение потенциометра byte i, y = 0, k = 0; // промежуточные переменные long timer = potenc; // время для обратного отсчета (на всякий случай))) byte adres0 = 0; // адрес еропама для сохранения значений byte a=0; // регистр void setup() < Serial.begin(9600); // порт lcd.init(); // экран potenc = EEPROM.read(adres0); // загрузка значений из еропам lcd.clear(); // очистка экрана lcd.setCursor(0,0); // установка курсора lcd.print(«Hello!»); // принт >void loop() < potenciometr(); // вызов метода потенциометр if(digitalRead(button_start)==1 a==0) // нажатие кнопки — старт < a=1; // сдвиг регистра вперед k=0; // обнуление счетчика вращения вала UP(); // вызов метода запуска двигателя вперед (15 оборотов) delay(potenc*100); // задержка в милисекундлах (заданное время * 100 мс) k=0; // обнуление счетчика DOWN(); // вызов метода запуска двигателя назад (15 оборотов) a=0; // сдвиг назад >> void potenciometr() // потенциометр < if(digitalRead(button_UP)==1) // нажатие кнопки + < lcd.clear(); potenc+=1; // увеличение значения на 1 lcd.setCursor(0,0); lcd.print(«Hold = «); lcd.setCursor(12,0); lcd.print(potenc); EEPROM.write(adres0,potenc); // запись значения в еропам >else if(digitalRead(button_DOWN)==1)//нажатие кнопки — < lcd.clear(); potenc-=1; // уменьш знач на 1 lcd.setCursor(0,0); lcd.print(«Hold = «); lcd.setCursor(12,0); lcd.print(potenc); EEPROM.write(adres0,potenc); // запись в еропам >> void oborot() // метод замера кол-ва оборотов вала < y = digitalRead(holla); // читаем датчик холла и при каждом у==1 прибавляем единицу к переменной «к» if(y==1) < k++; >> void UP() // метод движения движка вперед < oborot(); // замеряем кол-во оборотов for(i=0;i<=255;i+=5) //медленный запуск < analogWrite(DC_UP,i); analogWrite(DC_DOWN,0); delay(60); >analogWrite(DC_UP,255); analogWrite(DC_DOWN,0); if(k>=15) // 15 оборотов прошло < for(i=255;i>=0;i-=5) // медленная остановка < analogWrite(DC_UP,i); analogWrite(DC_DOWN,0); delay(60); >analogWrite(DC_UP,0); analogWrite(DC_DOWN,0); > > void DOWN() // метод возврата движка, аналогичен методу вперед < oborot(); for(i=0;i<=255;i+=5) < analogWrite(DC_UP,0); analogWrite(DC_DOWN,i); delay(60); >analogWrite(DC_UP,0); analogWrite(DC_DOWN,255); if(k>=34) < for(i=255;i>=0;i-=5) < analogWrite(DC_UP,0); analogWrite(DC_DOWN,i); delay(60); >analogWrite(DC_UP,0); analogWrite(DC_DOWN,0); > >

  • Войдите на сайт для отправки комментариев

Источник: arduino.ru

❓ Обязательно к просмотру начинающему в Arduino IDE (ошибка компилятора)

Arduino для начинающих. Начало работы

Arduino не программируется: что делать при ошибке «not in sync: resp=0x30»

Бывает, что пишешь программы для «Ардуино», загружаешь их в память, и всё прекрасно работает. А потом вдруг они больше не загружаются. А среда разработки при попытке загрузить скетч выдаёт ошибку: «arduino avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x30».
Что такое? Неужели сгорела плата? Не торопитесь отчаиваться: возможно, ещё не всё потеряно. Давайте попробуем разобраться.

Читайте также:
Бизнес пак отзывы о программе

Окно IDE Arduino с ошибкой

Статьи по теме:

  • Arduino не программируется: что делать при ошибке «not in sync: resp=0x30»
  • Как начать программировать с Arduino
  • Как выполнять параллельные задачи (Threads) в программе для Arduino

Инструкция

«Ардуино» не программируется, хотя раньше всё работало. Для такого поведения возможны несколько причин, которые обязательно нужно проверить:
— по какой-то причине произошёл сбой драйвера;
— неправильно выбран COM-порт;
— где-то есть электрическая связь, которой быть не должно (короткое замыкание);
— произошёл сбой загрузчика (bootloader) платы Arduino.
Давайте пройдёмся по всем пунктам этого списка и убедимся, пока не устраним проблему.

Ошибка

Откроем диспетчер устройств Windows через меню Пуск -> Панель управления -> Оборудование и звук -> Диспетчер устройств. Есть более короткий вариант: нажимаем клавишу Windows на клавиатуре и, не отпуская её, нажимаем клавишу Pause. Откроется окно свойств системы, в котором с левой стороны есть ссылка на диспетчер устройств.

Находим и раскрываем в диспетчере раздел Порты (COM и LPT). Если драйвер установлен и работает корректно, никаких оверлейных значков типа вопросительного или восклицательного знака на пиктограмме устройства Ардуино быть не должно. Если такие значки имеются, значит, есть проблемы в работе драйвера. Если Arduino или устройства USB-Serial вообще нет в этом разделе диспетчера, значит драйвер даже не установлен. В любом из этих у случаев драйвер необходимо установить (или переустановить).

В диспетчере устройств выбираем нашу плату Arduino (или неизвестное устройство, которое появляется при подключении платы Arduino к компьютеру), нажмём на него правой кнопкой мыши и в контекстном меню выберем пункт Обновить драйверы. (Update drivers. ).

Выбираем Выполнить поиск на этом компьютере и указываем путь к директории с драйвером для платы. Далее следуем указаниям мастера настройки нового оборудования.

Для оригинальных плат семейства «Ардуино» драйверы имеются в директории среды разработки, в поддиректории drivers. Для «Ардуино»-совместимых плат ищите драйвер в интернете.

Нормальное состояние Arduino в диспетчере устройств Windows

Проверим, что правильно указали COM-порт в IDE Arduino. Проверить, какой порт присвоен системой нашей плате «Ардуино» можно в диспетчере устройств Windows. Платы Arduino находятся в разделе «Порты (COM и LPT)» и определяются обычно как устройства «Arduino» или «USB-Serial».

Идём в меню Инструменты -> Порт и убеждаемся, что указан верный порт. Если нет, указываем нужный.

Выбор COM-порта в среде разработки Arduino

Если плата Arduino лежит на токопроводящей поверхности, есть риск, что где-то имеется короткое замыкание. Это может являться причиной ошибки в работе платы и, в частности, мешать нормальному процессу программирования. Проверьте, что плата находится на изолированной поверхности.

Также к этому же типу причин я бы отнёс подключение несанкционированных проводов к выводам 0 и 1 платы «Ардуино», которые являются портами RX и TX и используются в процессе загрузки скетча в память платы.

Если ничего из перечисленного не помогло, попробуем ещё один вариант: перезапишем загрузчик платы (bootloader).

Читайте также:
Какие программы нужны для салона красоты

Загрузчик — это специальная управляющая программа для Arduino, которая исполняется при включении устройства и которая задаёт режим работы платы: либо переходит к исполнению программы из памяти Arduino, либо к процедуре программирования компьютером.

Для реализации этого варианта нам потребуется программатор. Схема подключения программатора к Arduino приведена на рисунке.

После подключения программатора в среде программирования «Ардуино» в меню Инструменты -> Программатор указываем тип нашего программатора. Например, USBasp. Теперь в том же меню Инструменты выбираем пункт Записать Загрузчик. Этот процесс не занимает много времени.

Если операция прошла успешно, IDE сообщит об этом. А плата «Ардуино» радостно замигает светодиодом на 13-ом выводе, т.к. в неё, кроме загрузчика, записан скетч по умолчанию — скетч мигания светодиодом Blink.

Если же после всех проделанных манипуляций плата не оживает, возможно, вы и правда сожгли микросхему. Мои соболезнования.

Схема подключения программатора к Arduino

Полезный совет

Кстати, загрузчики для всех поддерживаемых плат Arduino хранятся в папке c IDE: в поддиректории hardwarearduinoavr и представляют собой бинарные hex-файлы.

Совет полезен?
Статьи по теме:

  • Что такое Arduino и что с ним можно сделать
  • Как исправить ошибку runtime error
  • Как устранить ошибку при инициализации

Добавить комментарий к статье
Похожие советы

  • Как программировать микросхему
  • Как хранить данные в Arduino
  • Как оживить плеер
  • Как начать обучать ребёнка Arduino
  • Как создать виртуальный com порт
  • Какие существуют IDE для работы с Arduino
  • Как посмотреть post запрос
  • Как попасть в кардиологический центр
  • Как устроиться на службу в ФСКН России
  • Что означает ошибка: память не может быть read
  • USB-программатор (AVR): описание, назначение
  • Как запустить игру с параметром debug
  • Как распаковать папку
  • Как находить периметр ромба
  • Как завести авто без ключа
  • Почему нет связи с сервером
  • Почему восточным мужчинам нравятся русские женщины
  • Как играть в очко
  • Как посмотреть мой фото-альбом
  • Как нарисовать лапы
  • Как перевести ватт на киловатт
  • Как делить число на дробь
  • Чему равен 1 000 000 световых лет
  • Как перевести секунды в часы

Новые советы от КакПросто
Рекомендованная статья
Как зарядить смартфон быстрее

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

Источник: www.kakprosto.ru

Arduino: что делать при ошибке «not in sync: resp=0x30»?

Print Friendly, PDF arduino avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x30

Давайте разбираться.

Инструкция по поиску причины ошибки Arduino «not in sync: resp=0x30»

Ардуино не программируется, хотя раньше всё работало. Попытка загрузить скетч в память заканчивается вот таким сообщением IDE: «not in sync: resp=0x30».

Ошибка

Для такого поведения возможны несколько причин:

  • по какой-то причине произошёл сбой драйвера;
  • неправильно выбран COM-порт;
  • где-то есть электрическая связь, которой быть не должно (короткое замыкание);
  • произошёл сбой загрузчика (bootloader) платы Arduino.

Давайте пройдёмся по всем пунктам этого списка, пока не устраним проблему.

1 Причина 1 Сбой драйвера

Откроем диспетчер устройств Windows через меню Пуск Панель управления Оборудование и звук Диспетчер устройств. Есть более короткий вариант: нажимаем клавишу Windows на клавиатуре и, не отпуская её, нажимаем клавишу Pause. Откроется окно свойств системы, в котором с левой стороны есть ссылка на диспетчер устройств.

Читайте также:
Программа Forza Horizon 4 exe не работает

Находим и раскрываем в диспетчере раздел Порты (COM и LPT). Если драйвер установлен и работает корректно, никаких оверлейных значков типа вопросительного или восклицательного знака на пиктограмме устройства Ардуино быть не должно. Если такие значки имеются, значит, есть проблемы в работе драйвера. Если Arduino или устройства USB-Serial вообще нет в этом разделе диспетчера, значит драйвер даже не установлен. В любом из этих случаев драйвер необходимо установить (или переустановить).

В диспетчере устройств выбираем нашу плату Arduino (или неизвестное устройство, которое появляется при подключении платы Arduino к компьютеру), нажмём на него правой кнопкой мыши и в контекстном меню выберем пункт Обновить драйверы… (Update drivers…).

Arduino в диспетчере устройств

Выбираем Выполнить поиск на этом компьютере и указываем путь к директории с драйвером для платы. Далее следуем указаниям мастера настройки нового оборудования.

Для оригинальных плат семейства Ардуино драйверы имеются в директории среды разработки, в поддиректории drivers. Для Ардуино-совместимых плат ищите драйвер в интернете.

2 Причина 2 Неверно выбран COM-порт

Проверим, что правильно указали COM-порт в IDE Arduino. Проверить, какой порт присвоен системой нашей плате Ардуино можно в диспетчере устройств Windows. Платы Arduino находятся в разделе Порты (COM и LPT) и определяются обычно как устройства Arduino или USB-Serial.

В среде разработки Arduino идём в меню Инструменты Порт и убеждаемся, что указан верный порт. Если нет, указываем нужный.

Указываем COM-порт в IDE Arduino

3 Причина 3 Замыкание или несанкционированное соединение

Если плата Arduino лежит на токопроводящей поверхности, есть риск, что где-то имеется короткое замыкание. Это может являться причиной ошибки в работе платы и, в частности, мешать нормальному процессу программирования. Проверьте, что плата находится на изолированной поверхности.

Также к этому типу причин я бы отнёс подключение несанкционированных проводов к выводам 0 и 1 платы Ардуино, которые являются портами RX и TX и используются в процессе загрузки скетча в память платы.

4 Причина 4 Сбой загрузчика

Если ничего из перечисленного не помогло, попробуем ещё один вариант: перезапишем загрузчик платы (bootloader).

Загрузчик – это специальная управляющая программа для Arduino, которая исполняется при включении устройства и которая задаёт режим работы платы: либо переходит к исполнению программы из памяти Arduino, либо к процедуре программирования компьютером. Загрузчики для всех поддерживаемых плат Arduino хранятся в папке c IDE в поддиректории hardwarearduinoavr и представляют собой бинарные hex-файлы.

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

Схема подключения программатора к Arduino

После подключения программатора в среде программирования Ардуино в меню Инструменты Программатор указываем тип нашего программатора. Например, USBasp. Теперь в том же меню Инструменты выбираем пункт Записать Загрузчик. Этот процесс не занимает много времени.

Если операция прошла успешно, IDE сообщит об этом. А плата Ардуино радостно замигает светодиодом на 13-ом выводе, т.к. в неё, кроме загрузчика, записан скетч по умолчанию – скетч мигания светодиодом Blink.

Если же после всех проделанных манипуляций плата не оживает, возможно, вы и правда сожгли микросхему. Мои соболезнования.

Источник: soltau.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru