Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить

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

Сб дек 09, 2023 17:07:01

Код:
const u8g_fntpgm_uint8_t rus6x13O[2281] U8G_FONT_SECTION(".progmem.rus6x13O") = {
......}

Это уж точно не для меги 8...
:facepalm:
Или знакогенератор во внешнем ЕЕПРОМ/ПЗУ или мега 8 исключительно как "контроллер вывода на дисплей" (и то весьма внимательно прорабатывать надо)
8)

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

Сб дек 09, 2023 17:19:43

veso74, Значит я ошибся на счет неподходящих библиотек. Выходит все библиотеки в IDE абсолютно совместимы со всеми микроконтроллерами, которые есть в этой среде? Тогда это немного облегчает ситуацию. Спасибо за подсказку :beer:

Да и самостоятельно написать прожку, а не пользоваться чужими (и почти всегда избыточно-громоздкими) библиотеками не требуется - это плюс как на стадии обучения, так и при работе с проектами "малоресурсных" МК.
8)
Я бы очень хотел этому научиться, но слишком много всего нужно запоминать. Сразу это очень тяжело. Поэтому пока на стадии новичка вынужден пользоваться готовыми библиотеками. Но тем не менее ситуация потихоньку проясняется, это очень воодушевляет 8)

Это уж точно не для меги 8...
:facepalm:
Или знакогенератор во внешнем ЕЕПРОМ/ПЗУ или мега 8 исключительно как "контроллер вывода на дисплей" (и то весьма внимательно прорабатывать надо)
8)
То есть даже урезав половину кода, все равно не получится? Значит не только в размере дело? Или я что-то не так понимаю?

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

Сб дек 09, 2023 17:35:38

... Выходит все библиотеки в IDE абсолютно совместимы со всеми микроконтроллерами ...

Нет. Они предназначены для конкретного типа МК. Лишь для некоторых сложных, созданы для совместимости "условные компиляции" и т.п.
Код:
if F_CPU >= 24000000L ...
#elif F_CPU >= 20000000L ...
#elif F_CPU >= 16000000L ...
#elif F_CPU >= 12000000L ...

В начале попробуйте так: если работает - то работает :).
Последний раз редактировалось veso74 Сб дек 09, 2023 18:01:25, всего редактировалось 2 раз(а).

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

Сб дек 09, 2023 17:51:31

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

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

Сб дек 09, 2023 18:47:21

BOB51, Я понял. Создам для обсуждения отдельную ветку. Просто нетерпеж у меня пошел, когда все стало проясняться :)) Лапы чешутся))
Кстати, по поводу:
Eats, тогда не пойму, почему вот в этом видео тогда все с первого раза всегда получается?
Подобного рода видосов я нашел штуки три минимум. И даже где ардуинка шьет ардуинку по UART безо всяких DTR#. Просто в момент загрузки прошивки кратковременно жмут RESET. Почему в моем случае так нельзя сделать?

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

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

Вс дек 10, 2023 22:20:07

Eats, Попробуйте мой вариант, думаю у Вас должно тоже получиться!
А зачем оно мне? Я с паяльником дружу! У меня проводок нужный припаян, поэтому у меня всё делается автоматически, то есть само. Я предпочитаю не тратить время на эти компьютерные игры, а использовать его для чего-либо общественно более полезного. :-)

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

Пн дек 11, 2023 11:43:45

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

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

Пт дек 15, 2023 20:47:07

Изучаю книжку по программированию ардуино в среде 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);
}
}

Помогите пожалуйста найти ошибку...

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

Пт дек 15, 2023 20:57:43

Идет многократное повторение цикла 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)

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

Пт дек 15, 2023 21:11:50

А почему повторение цикла многократное? там же условие стоит i < 10. Потому что это в Loop? Я просто пока до флагов не дошел... А если например вынести условия For за пределы LOOP, или так делать нельзя?

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

Пт дек 15, 2023 21:22:17

Смотри описание структуры программы ардуиноIDE.
Участок setup() выполняется однократно - там основные настройки делаются по начальной активации железа проекта.
Участок loop() это основная программа - она вертится бесконечно.
Можно вынести свой цикл и в setup() - как к примеру настройку какого-то внешнего модуля.
Но в общем виде подобные циклы частенько и внутри основной программы встречаются -так что надо все варианты уметь делать.
8)

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

Пт дек 15, 2023 21:30:13

Отлично! Получилось в setup! 8)

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

Вс дек 24, 2023 13:02:39

Всех с наступающими праздниками! Парни на Вас одна надежда. Можно ли в Ардуино Иде записать файл bin на Вемос Д1 мини? От инета аж глаза колит, не пойму никак. Или все же сторонние приложения и программатор для оптимальной прошивки. Ну тупой я в этом деле) Поставил сейчас Ардуино Иде, тыкаю, тыкаю) похоже это не тот случай) Вроде из скетча можно в bin экспортировать, а наоборот вроде нет(

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

Вс дек 24, 2023 14:16:28

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

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

Вс дек 24, 2023 14:24:26

Сильно извиняюсь, если удастся найти main.cpp это как-то облегчит задачу? А то для разовой акции можно и голову поломать)

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

Вс дек 24, 2023 15:21:43

Трудно сказать...
ESPшки это отдельная тема, если не в рамках IDE разработка исходника велась...
:dont_know:
Может тут чего полезного найти удастся:
https://alexgyver.ru/lessons/esp8266/
:roll:

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

Пн дек 25, 2023 09:29:27

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

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

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

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

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

ЗЫЫ: Кнопка RESET при перепрошивке ардуинок - работает. Просто надо поймать момент, когда IDE уже скомпилировало код, и вот-вот начнет его заливать, но еще не начало. Там примерно секунда, когда можно нажать и отпустить кнопку - куча времени!

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

Пн дек 25, 2023 12:00:30

Всем спасибо за разъяснения, да для bina рекомендуют прошивальщик, но если есть исходник .срр его можно поправить и заливать уже через Ардуино ИДЕ. Как будет время попробую с этим разобраться.

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

Сб янв 06, 2024 10:26:00

Всем спасибо за разъяснения, да для bina рекомендуют прошивальщик, но если есть исходник .срр его можно поправить и заливать уже через Ардуино ИДЕ. Как будет время попробую с этим разобраться.

Всех с праздниками, прошил bin файл через браузер
Спойлерtasmota.github.io/install/.
Просто я далек от этих дебрей, также разобрался с.cpp и прошил через Ардуино Иде. Всем законченных и новых проектов!

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

Ср янв 17, 2024 18:56:48

Уважаемые радиокоты! Помогите пожалуйста разобраться с кодом из обучающей книги Джереми Блум. Завис на булевой операции
Никак не могу догнать, как работает этот код:
Спойлер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...
Ответить