Arduino IDE в вопросах и ответах

Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Arduino IDE в вопросах и ответах

Сообщение BOB51 »

Код: Выделить всё

const u8g_fntpgm_uint8_t rus6x13O[2281] U8G_FONT_SECTION(".progmem.rus6x13O") = {
......}
Это уж точно не для меги 8...
:facepalm:
Или знакогенератор во внешнем ЕЕПРОМ/ПЗУ или мега 8 исключительно как "контроллер вывода на дисплей" (и то весьма внимательно прорабатывать надо)
8)
Аватара пользователя
Олегыч1
Поставщик валерьянки для Кота
Сообщения: 1941
Зарегистрирован: Пт фев 27, 2015 20:57:08
Откуда: Курск

Re: Arduino IDE в вопросах и ответах

Сообщение Олегыч1 »

veso74, Значит я ошибся на счет неподходящих библиотек. Выходит все библиотеки в IDE абсолютно совместимы со всеми микроконтроллерами, которые есть в этой среде? Тогда это немного облегчает ситуацию. Спасибо за подсказку :beer:
Да и самостоятельно написать прожку, а не пользоваться чужими (и почти всегда избыточно-громоздкими) библиотеками не требуется - это плюс как на стадии обучения, так и при работе с проектами "малоресурсных" МК.
8)
Я бы очень хотел этому научиться, но слишком много всего нужно запоминать. Сразу это очень тяжело. Поэтому пока на стадии новичка вынужден пользоваться готовыми библиотеками. Но тем не менее ситуация потихоньку проясняется, это очень воодушевляет 8)
Это уж точно не для меги 8...
:facepalm:
Или знакогенератор во внешнем ЕЕПРОМ/ПЗУ или мега 8 исключительно как "контроллер вывода на дисплей" (и то весьма внимательно прорабатывать надо)
8)
То есть даже урезав половину кода, все равно не получится? Значит не только в размере дело? Или я что-то не так понимаю?
veso74
Поставщик валерьянки для Кота
Сообщения: 1903
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Arduino IDE в вопросах и ответах

Сообщение veso74 »

[uquote="Олегыч1",url="/forum/viewtopic.php?p=4515391#p4515391"]... Выходит все библиотеки в IDE абсолютно совместимы со всеми микроконтроллерами ...[/uquote]
Нет. Они предназначены для конкретного типа МК. Лишь для некоторых сложных, созданы для совместимости "условные компиляции" и т.п.

Код: Выделить всё

if F_CPU >= 24000000L ...
#elif F_CPU >= 20000000L ...
#elif F_CPU >= 16000000L ...
#elif F_CPU >= 12000000L ...
В начале попробуйте так: если работает - то работает :).
Последний раз редактировалось veso74 Сб дек 09, 2023 18:01:25, всего редактировалось 2 раза.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Arduino IDE в вопросах и ответах

Сообщение BOB51 »

Олегыч1
Поэтому и предлагается (уже который раз) перевести обсуждение на конкретный учебно-практический проект за рамками текущей ветки. К самой IDE это уже только весьма косвенное отношение имеет.
Хотите учиться\осваивать при консультациях - не вопрос.
Но тогда уж подбирайте макетную базу доступную как у Вас, так и у тех, кто консультировать будет.
Да сначала задачи и модули попроще использовать надо.
Не стоит и с "крутых самоделок" начинать - только проблем непонимания больше будет.
Одновременно и полные схемы учебного проекта и его исходники и описание выполняемых тем проектом задач выкладываем к обсуждению.
Остальное простой разговор ни ио чем (или "флуд") - в самостоятельной ветке допустимо, но в целевой теме, посвященной другому материалу не слишком корректно.
:roll:
Аватара пользователя
Олегыч1
Поставщик валерьянки для Кота
Сообщения: 1941
Зарегистрирован: Пт фев 27, 2015 20:57:08
Откуда: Курск

Re: Arduino IDE в вопросах и ответах

Сообщение Олегыч1 »

BOB51, Я понял. Создам для обсуждения отдельную ветку. Просто нетерпеж у меня пошел, когда все стало проясняться :)) Лапы чешутся))
Кстати, по поводу:
Eats, тогда не пойму, почему вот в этом видео тогда все с первого раза всегда получается?
Подобного рода видосов я нашел штуки три минимум. И даже где ардуинка шьет ардуинку по UART безо всяких DTR#. Просто в момент загрузки прошивки кратковременно жмут RESET. Почему в моем случае так нельзя сделать?
BOB51, сегодня обязательно попробую. :beer:
Я попробовал, и раза с пятисотого разгадал как шить МК по UART. Ко внешнему (целевому) МК именно к выводу RESET подтянул питание через 1кОм, вывел кнопочку, эмулирующую сигнал DTR#, которая замыкает RESET из МК на землю.. Далее жму" загрузить скетч на плату", тут же появляется статус бар компиляции, а потом должна идти сама прошивка. Вот чтобы прошивка пошла необходимо нажать на выведенную кнопку в момент, когда идет еще компиляция, задержать примерно на пол секунды, чтобы компиляция уже подходила к концу и отпустить раньше, чем она дойдет до конца. Можно нажать на кнопку и держать ее нажатой заранее еще до нажатия на "загрузить на плату", и отпустить когда компиляция будет подходить к концу. Случайно разгадал. Все почему-то сразу отпускают и у них все стабильно с первого раза шьется. А у меня надо чуть-чуть задержать.
Вы хотите посоревноваться с компьютером в быстродействии?! Там, вообще-то 16 мГц, то есть 16 миллионов операций каждую секунду. А ваша реакция на уровне 0.1 сек, процессор за это время успеет выполнить 1.6 миллиона операций. Я пытался соревноваться с таким процессором, у меня ничего не получилось.
Eats, Попробуйте мой вариант, думаю у Вас должно тоже получиться! :tea:
Изображение
Статус бар компиляции идет довольно быстро, но важно задержать в этот момент кнопку нажатой хотя бы на пол секунды.
Аватара пользователя
Eats
Потрогал лапой паяльник
Сообщения: 309
Зарегистрирован: Сб фев 18, 2023 21:51:01
Откуда: Санкт-Петербург

Re: Arduino IDE в вопросах и ответах

Сообщение Eats »

[uquote="Олегыч1",url="/forum/viewtopic.php?p=4515436#p4515436"]Eats, Попробуйте мой вариант, думаю у Вас должно тоже получиться![/uquote]А зачем оно мне? Я с паяльником дружу! У меня проводок нужный припаян, поэтому у меня всё делается автоматически, то есть само. Я предпочитаю не тратить время на эти компьютерные игры, а использовать его для чего-либо общественно более полезного. :-)
Всего доброго.
Евгений.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Arduino IDE в вопросах и ответах

Сообщение BOB51 »

Насчет стандартной перезагрузки программы...
В случае, если предыдущая программа использует СОМ порт для своих нужд (обмен с ПК и/или иным устройством по RS232) для корректной перезаливки необходимо ОБЯЗАТЕЛЬНО после запуска IDE включать монитор порта. Инче проблемы с загрузкой скотча вплоть до потребности в "стороннем программаторе"...
В данной ситуации простая кнопка reset уже не поможет.
8)
Аватара пользователя
Олегыч1
Поставщик валерьянки для Кота
Сообщения: 1941
Зарегистрирован: Пт фев 27, 2015 20:57:08
Откуда: Курск

Re: Arduino IDE в вопросах и ответах

Сообщение Олегыч1 »

Изучаю книжку по программированию ардуино в среде IDE, и сразу же проверяю на практике программные коды. Вот приведен в пример код, который на практике почему-то не отрабатывает должным образом. Вероятнее всего где-то ошибка, но я не могу найти ее. По задумке светодиод должен мигнуть 10 раз и выйти из цикла, а он не выходит из цикла, продорлжая бесконечно мигать. Код:
Спойлерint ledPin = 13;
int delayPeriod = 200;
void setup()
{
pinMode(ledPin, OUTPUT);
}
void loop()
{
for (int i = 0; i < 10; i++)
{
digitalWrite(ledPin, HIGH);
delay(delayPeriod);
digitalWrite(ledPin, LOW);
delay(delayPeriod);
}
}
Помогите пожалуйста найти ошибку...
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Arduino IDE в вопросах и ответах

Сообщение BOB51 »

Идет многократное повторение цикла for.
Собственно сам loop это бесконечный цикл основной программы.
Приостановка может быть сделана по дополнительному флагу.
8)
например вот так:
Спойлерint ledPin = 13;
int delayPeriod = 200;

byte stop_flag =0;

void setup()
{
pinMode(ledPin, OUTPUT);
}
void loop()
{
if (!stop_flag)
{
for (int i = 0; i < 10; i++)
{
digitalWrite(ledPin, HIGH);
delay(delayPeriod);
digitalWrite(ledPin, LOW);
delay(delayPeriod);
}
stop_flag=1;
}
}
8)
Аватара пользователя
Олегыч1
Поставщик валерьянки для Кота
Сообщения: 1941
Зарегистрирован: Пт фев 27, 2015 20:57:08
Откуда: Курск

Re: Arduino IDE в вопросах и ответах

Сообщение Олегыч1 »

А почему повторение цикла многократное? там же условие стоит i < 10. Потому что это в Loop? Я просто пока до флагов не дошел... А если например вынести условия For за пределы LOOP, или так делать нельзя?
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Arduino IDE в вопросах и ответах

Сообщение BOB51 »

Смотри описание структуры программы ардуиноIDE.
Участок setup() выполняется однократно - там основные настройки делаются по начальной активации железа проекта.
Участок loop() это основная программа - она вертится бесконечно.
Можно вынести свой цикл и в setup() - как к примеру настройку какого-то внешнего модуля.
Но в общем виде подобные циклы частенько и внутри основной программы встречаются -так что надо все варианты уметь делать.
8)
Аватара пользователя
Олегыч1
Поставщик валерьянки для Кота
Сообщения: 1941
Зарегистрирован: Пт фев 27, 2015 20:57:08
Откуда: Курск

Re: Arduino IDE в вопросах и ответах

Сообщение Олегыч1 »

Отлично! Получилось в setup! 8)
Аватара пользователя
Teapot
Открыл глаза
Сообщения: 64
Зарегистрирован: Чт окт 25, 2012 18:14:57
Откуда: Курган

Re: Arduino IDE в вопросах и ответах

Сообщение Teapot »

Всех с наступающими праздниками! Парни на Вас одна надежда. Можно ли в Ардуино Иде записать файл bin на Вемос Д1 мини? От инета аж глаза колит, не пойму никак. Или все же сторонние приложения и программатор для оптимальной прошивки. Ну тупой я в этом деле) Поставил сейчас Ардуино Иде, тыкаю, тыкаю) похоже это не тот случай) Вроде из скетча можно в bin экспортировать, а наоборот вроде нет(
Ищу микросхемы УМС серии
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Arduino IDE в вопросах и ответах

Сообщение BOB51 »

IDE по дополнительному указанию генерирует файл прошивки.
(но никак не обратную операцию - генерацию исходника по бинарнику или хексу).
Однако для его загрузки силами IDE нужен соответствующий программатор (см.выпадающий список)
Для Вашего варианта ESP8266 такого списка не наблюдается...
Следовательно загрузка такового - вопрос работы со стандартными для ESP8266 средствами разработки.
Насчет загрузки "чужого" бинарника, запихеренного в папку пустого проекта...
Как то до такого изврата еще не доходило... На АВРках можно как нибудь попробовать...
Хотя в обычной ситуации (с теми же АВРками или STM32) чаще наоборот сторонние софт - оболочки и железо для "эксклюзива" применяется...
:roll:
Аватара пользователя
Teapot
Открыл глаза
Сообщения: 64
Зарегистрирован: Чт окт 25, 2012 18:14:57
Откуда: Курган

Re: Arduino IDE в вопросах и ответах

Сообщение Teapot »

Сильно извиняюсь, если удастся найти main.cpp это как-то облегчит задачу? А то для разовой акции можно и голову поломать)
Ищу микросхемы УМС серии
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Arduino IDE в вопросах и ответах

Сообщение BOB51 »

Трудно сказать...
ESPшки это отдельная тема, если не в рамках IDE разработка исходника велась...
:dont_know:
Может тут чего полезного найти удастся:
https://alexgyver.ru/lessons/esp8266/
:roll:
We Are
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Сб ноя 25, 2023 00:39:44

Re: Arduino IDE в вопросах и ответах

Сообщение We Are »

Если есть задача залить некий .BIN в ESP "с помощью ArduinoIDE" - делается это достаточно просто:

1 - подключить ESP по RX/TX стандартным образом (GPIO0 на землю до ресета или до подачи питания)
2 - залить простейшую прошивку с подключением к WiFi и поддержкой OTA (тупо из примеров)
3 - дать ESP нормально загрузиться и зайти в сеть
4 - с помощью утилиты espota (esptools) загрузить в нее любой .BIN, по сети.

Если загрузится и заработает - все хорошо, если загрузится и "сломается" - всегда можно залить что-то новое, начиная с п.1.

Не нужен там никакой программатор...

ЗЫ: И вообще, прочитав тему - Ардуино задумывалось как "простой инструмент", не надо сходу пытаться использовать его сложными способами.
Вот когда по-простому уже не получается...

ЗЫЫ: Кнопка RESET при перепрошивке ардуинок - работает. Просто надо поймать момент, когда IDE уже скомпилировало код, и вот-вот начнет его заливать, но еще не начало. Там примерно секунда, когда можно нажать и отпустить кнопку - куча времени!
Аватара пользователя
Teapot
Открыл глаза
Сообщения: 64
Зарегистрирован: Чт окт 25, 2012 18:14:57
Откуда: Курган

Re: Arduino IDE в вопросах и ответах

Сообщение Teapot »

Всем спасибо за разъяснения, да для bina рекомендуют прошивальщик, но если есть исходник .срр его можно поправить и заливать уже через Ардуино ИДЕ. Как будет время попробую с этим разобраться.
Ищу микросхемы УМС серии
Аватара пользователя
Teapot
Открыл глаза
Сообщения: 64
Зарегистрирован: Чт окт 25, 2012 18:14:57
Откуда: Курган

Re: Arduino IDE в вопросах и ответах

Сообщение Teapot »

[uquote="Teapot",url="/forum/viewtopic.php?p=4521868#p4521868"]Всем спасибо за разъяснения, да для bina рекомендуют прошивальщик, но если есть исходник .срр его можно поправить и заливать уже через Ардуино ИДЕ. Как будет время попробую с этим разобраться.[/uquote]
Всех с праздниками, прошил bin файл через браузер
Спойлерtasmota.github.io/install/.
Просто я далек от этих дебрей, также разобрался с.cpp и прошил через Ардуино Иде. Всем законченных и новых проектов!
Ищу микросхемы УМС серии
Аватара пользователя
Олегыч1
Поставщик валерьянки для Кота
Сообщения: 1941
Зарегистрирован: Пт фев 27, 2015 20:57:08
Откуда: Курск

Re: Arduino IDE в вопросах и ответах

Сообщение Олегыч1 »

Уважаемые радиокоты! Помогите пожалуйста разобраться с кодом из обучающей книги Джереми Блум. Завис на булевой операции
Никак не могу догнать, как работает этот код:
Спойлерconst int LED = 9;
const int BUTTON = 2;
boolean lastButton = LOW;
boolean currentButton = LOW;
boolean ledOn = false;

void setup ()
{
pinMode (LED, OUTPUT);
pinMode (BUTTON, INPUT);
}

boolean debounce(boolean last)
{
boolean current = digitalRead(BUTTON);
if (last != current)
{
delay(5);
current = digitalRead(BUTTON);
}
return current;
}
void loop()
{
currentButton = debounce(lastButton);

if (lastButton == LOW && currentButton == HIGH)
{
ledOn = !ledOn;
}
lastButton = currentButton;
digitalWrite(LED, ledOn);
}
Суть того, что должно получиться мне ясна. С 13 строки я не понимаю фразу: boolean debounce(boolean last) . Как отличить "самопридуманные слова" от важных функциональных? под самопридуманными я понимаю - любое слово или любая буква (неиспользуемая ранее в коде). Просто буква от балды, лишшь бы ей присвоить какой-то важный параметр (номер пина например). Вот например, важное функциональное слово boolean - я понимаю так: все что будет использовано с этим словом будет сравниваться в дальнейшем. Может иметь 2 состояния: ложь и истина. А остальная фраза: debounce(boolean last) - ? Что здесь важное функциональное слово, а что можно заменить например одной буквой?
Прошу прощение за каряво сформулированный вопрос, но я честно сам не могу понять, чего именно я не понимаю. Вот уже вторую книгу изучаю по ардуино, и везде именно с этого момента начинается ступор... :oops: Вот, к примеру есть переменная, есть функция, есть аргумент. Переменным как правило присваивается имя (любое, хоть просто одна буква) и какое-то значение (число, номер пина, высокое или низкое состояние). Есть функция, это типа формула, или уравнение. И аргумент - это то, что участвует в этом уравнении. И есть еще "спец. словечки" - типа команды, которые индивидуальны и действуют по каким-то своим законам и правилам, которые мне лично сложно отделить от всего остального. И о некоторых таких "спец словечках" совершенно подробно нигде ничего не сказано. Вот что есть что вот в этой фразе коварной b]boolean debounce(boolean last)[/b] ?
В строке №16 фраза: if (last != current). Как программа понимает, что есть last , а что есть current? Ведь ни до ни после 16 строки конкретно словам last и current ничего не присваивалось и ими ничего не называлось. Это что, какое-то внегласное ардуиновское правило? :roll: И помимо общей путанницы эти слова еще состоят в части слов в строках №3 и №4...
Ответить

Вернуться в «Arduino»