A A A A Автор Тема: Arduino для начинающих: вопросы и ответы  (Прочитано 15749 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн xdАвтор темы

  • *****
  • Сообщений: 17 982
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
По многочисленным просьбам создаю тему.
Давайте обсуждать, делиться опытом.
А ещё, если будет актуально, первое сообщение можно будет прилепить и завести здесь FAQ.


Уроки для начинающих. Очень подробно и доходчиво.

#0 Введение в курс. Содержание серии "Основы Arduino для начинающих" - YouTube
« Последнее редактирование: 12 Мар 2017 [15:49:35] от Deimos »
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн Ol_Bams

  • ***
  • Сообщений: 144
  • Благодарностей: -1
  • Мне нравится этот форум!
    • Сообщения от Ol_Bams
Re: Arduino для начинающих: вопросы и ответы
« Ответ #140 : 01 Фев 2020 [16:21:39] »
Имхо лишнее усложнение читаемости без выигрыша в скорости.
Ну дело привычки, мне так удобнее, если в ветках односложные конструкции

Этот синтаксис мне не знаком.
тернарный оператор, по сути то же самое, что if-else

Т.е. без переменных и присваиваний значений, должно быть быстрее?
ну теоретически да, но как там работает оптимизатор Arduino ide..

Оффлайн xdАвтор темы

  • *****
  • Сообщений: 17 982
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Arduino для начинающих: вопросы и ответы
« Ответ #141 : 01 Фев 2020 [16:29:20] »
по сути то же самое, что if-else
Неа. expression vs statement.
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн Ol_Bams

  • ***
  • Сообщений: 144
  • Благодарностей: -1
  • Мне нравится этот форум!
    • Сообщения от Ol_Bams
Re: Arduino для начинающих: вопросы и ответы
« Ответ #142 : 01 Фев 2020 [16:33:26] »
expression vs statement.

Ну в данном случае разницы думаю нет.

Оффлайн xdАвтор темы

  • *****
  • Сообщений: 17 982
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Arduino для начинающих: вопросы и ответы
« Ответ #143 : 01 Фев 2020 [16:34:55] »
ну теоретически да, но как там работает оптимизатор Arduino ide..
Там обычный С++ с отрезанными исключениями. В Arduino 1.8.11 gcc 7.3, который поддерживает язык вплоть до C++17.
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн johny74

  • *****
  • Сообщений: 1 760
  • Благодарностей: 136
    • Сообщения от johny74
Re: Arduino для начинающих: вопросы и ответы
« Ответ #144 : 01 Фев 2020 [16:55:17] »
Спасибо! В общем если разница по быстродействию не принципиальна - то оставлю как есть.
Точнее так, что бы потом вернувшись к тексту программы, смог вспомнить о чем тут собственно речь! ))
И так, как доходит дело до передачи значений из процедур в структуры и обратно - каждый раз приходится смотреть на рабочий пример с указателями ))
LightBridge 16" push-to, nikon monarch 8x42, SRBC 10x50, nikon action 12x50

Оффлайн johny74

  • *****
  • Сообщений: 1 760
  • Благодарностей: 136
    • Сообщения от johny74
Re: Arduino для начинающих: вопросы и ответы
« Ответ #145 : 08 Фев 2020 [05:33:23] »
Вопрос по подключению энкодера к ардуино:
Энкодер E40H8-2500-6-L-5
Выход у него -line driver , в части подключения можно напрямую на ножки ардуино или что то дополнительно нужно ставить?
Это обычный выход по напряжению или токовой?
Энкодер ещё до меня не доехал, сначала купил потом заметил что у него выход дифференциальный!))
LightBridge 16" push-to, nikon monarch 8x42, SRBC 10x50, nikon action 12x50

Оффлайн Андрей Ш

  • **
  • Сообщений: 76
  • Благодарностей: 14
    • Сообщения от Андрей Ш
Re: Arduino для начинающих: вопросы и ответы
« Ответ #146 : 08 Фев 2020 [11:40:21] »
Вопрос по подключению энкодера к ардуино:
Ничего не делал с энкодерами, но, судя по всему, line driver - это уровни RS-422, хотя могу ошибаться. Подойдут микросхемы ST485, MAX485, SN65HVD3082, SN75176 и подобные, нужно только убедиться в совпадении лог. уровней этих микросхем и ардуины.
Есть вероятность того, что будет работать и при подключении напрямую, но без гарантий, особенно в диапазоне температур и прочем.

Оффлайн Serj

  • *****
  • Сообщений: 4 697
  • Благодарностей: 98
    • Сообщения от Serj
    • Тверской астроклуб
Re: Arduino для начинающих: вопросы и ответы
« Ответ #147 : 09 Фев 2020 [13:48:41] »
Будет работать напрямую, просто подключаете ABZ к входам. Другое дело что достаточно большую скорость ардуина не обработает, но возможно вам будет достаточно.
We have met the enemy and he is us.

Оффлайн johny74

  • *****
  • Сообщений: 1 760
  • Благодарностей: 136
    • Сообщения от johny74
Re: Arduino для начинающих: вопросы и ответы
« Ответ #148 : 09 Фев 2020 [17:09:42] »
Будет работать напрямую, просто подключаете ABZ к входам. Другое дело что достаточно большую скорость ардуина не обработает, но возможно вам будет достаточно.
Спасибо! Большая скорость мне не нужна, энкодеры - датчики системы push_to
LightBridge 16" push-to, nikon monarch 8x42, SRBC 10x50, nikon action 12x50

Оффлайн Дядя Вова

  • *****
  • Сообщений: 8 096
  • Благодарностей: 97
    • Сообщения от Дядя Вова
Re: Arduino для начинающих: вопросы и ответы
« Ответ #149 : 22 Фев 2020 [11:37:52] »
Вопрос наверное простой. И подозреваю, что ответ "Да".
Если тонкость в использовании доайверов USB-COM FTDI и CH340 для Arduino IDE под Win10?
Признаки такие: ESP8266-01 работают по разному и CH340 не шьет.
(Vixen ED80+Canon300Da, 9x50+QHY5)+EQ6upg
Meade ETX-90PE

Оффлайн johny74

  • *****
  • Сообщений: 1 760
  • Благодарностей: 136
    • Сообщения от johny74
Re: Arduino для начинающих: вопросы и ответы
« Ответ #150 : 28 Апр 2020 [12:22:13] »
Небольшой отрицательный опыт использования памяти программ для хранения данных:
для себя сделал вывод - не использовать данный способ совсем!
Применение PROGMEM вызывает порой крайне не предсказуемое поведение контроллера, к примеру добавляю в каком то месте вывод в порт Serial.print( не важно что) и контроллер подвисает, перестает реагировать на внешние прерывания, что в каком месте памяти пересекается - не понятно. При этом есть еще с десяток выводов в порт и вот одиннадцатый (к примеру) все подвешивает.
В общем проще держаться от PROGMEM подальше! ))
LightBridge 16" push-to, nikon monarch 8x42, SRBC 10x50, nikon action 12x50

Оффлайн xdАвтор темы

  • *****
  • Сообщений: 17 982
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Arduino для начинающих: вопросы и ответы
« Ответ #151 : 28 Апр 2020 [18:17:21] »
Надо просто понимать, что указатель на программную память - это не то же самое, что указатель на данные, особенно если используется микроконтроллер, в котором более 32 килобайт флэша.
Средствами языка нет возможности различить разные регионы памяти - указатели не хранят в себе информацию о классе памяти (IO space, SRAM, PROGMEM, EEPROM). Атрибуты на переменных - это не то же самое что класс памяти. Для использования со стандартной библиотекой надо смотреть на варианты, имеющие в своём имени P (например snprintf_P вместо snprintf, литеральный аргумент которой можно создать с помощью PSTR(literal)). Для Serial.print (точнее Stream::print) имеется перегрузка, которая принимает аргумент типа __FlashStringHelper*, которая суть обёртка поверх const char* PROGMEM, конструируемая с помощью макроса F(string_leteral).
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн johny74

  • *****
  • Сообщений: 1 760
  • Благодарностей: 136
    • Сообщения от johny74
Re: Arduino для начинающих: вопросы и ответы
« Ответ #152 : 28 Апр 2020 [18:34:57] »
Да уж! ))
В общем дешевле массивные данные хранить на sd карте!
LightBridge 16" push-to, nikon monarch 8x42, SRBC 10x50, nikon action 12x50

Оффлайн johny74

  • *****
  • Сообщений: 1 760
  • Благодарностей: 136
    • Сообщения от johny74
Re: Arduino для начинающих: вопросы и ответы
« Ответ #153 : 07 Мая 2020 [12:54:00] »
В рамках разработки мелких проектов на ардуино есть необходимость рисовать и разводить простые схемы - подскажите в чем проще это делать?
LightBridge 16" push-to, nikon monarch 8x42, SRBC 10x50, nikon action 12x50

Aleks71

  • Гость
Re: Arduino для начинающих: вопросы и ответы
« Ответ #154 : 07 Мая 2020 [13:18:17] »
В рамках разработки мелких проектов на ардуино есть необходимость рисовать и разводить простые схемы - подскажите в чем проще это делать?
Разводить пп https://cxem.net/software/sprint_layout.php


рисовать https://cxem.net/software/soft_sketch.php

Оффлайн johny74

  • *****
  • Сообщений: 1 760
  • Благодарностей: 136
    • Сообщения от johny74
Re: Arduino для начинающих: вопросы и ответы
« Ответ #155 : 07 Мая 2020 [15:11:18] »
Спасибо, попробую!
LightBridge 16" push-to, nikon monarch 8x42, SRBC 10x50, nikon action 12x50

Оффлайн Андрей Ш

  • **
  • Сообщений: 76
  • Благодарностей: 14
    • Сообщения от Андрей Ш
Re: Arduino для начинающих: вопросы и ответы
« Ответ #156 : 07 Мая 2020 [16:59:53] »
Разводить пп https://cxem.net/software/sprint_layout.php


рисовать https://cxem.net/software/soft_sketch.php
Если схема состоит больше чем из пяти (условно) деталей, то лучше этим не пользоваться, а освоить более приличный инструмент. Конечно осваивать придется чуть дольше, зато уже при трассировке платы экономится время. Из простого и бесплатного есть KiCad, условно бесплатно диптрейс, EAGLE.

Оффлайн ROVIAN

  • Модератор
  • *****
  • Сообщений: 66 529
  • Благодарностей: 1387
  • RV6LOT Icom IC-775DSP
    • Сообщения от ROVIAN
    • Астрономия в Ростове-на-Дону
Re: Arduino для начинающих: вопросы и ответы
« Ответ #157 : 07 Мая 2020 [17:13:54] »
Так Дип и подобные тоже такие, там в бесплатном варианте до 300 контактов, но на рутрекере есть полные версии с библиотеками, так что пользоваться можно всем, к чему привык.
80ED+SW0.85/HEQ5/533ММ/QHY5-II,
203/1000/HEQ5/МРСС/183ММ/QHY5-II

Н 150,200,300,  МСТ-180 Hand made  165,215,300,317,450
Canon 550D, 550DA, 1100DA, 5DM2, 5DM4,  (SY 14/2.8, SY 135/2.0, EF 70-200/4L, )  

Оффлайн johny74

  • *****
  • Сообщений: 1 760
  • Благодарностей: 136
    • Сообщения от johny74
Re: Arduino для начинающих: вопросы и ответы
« Ответ #158 : 07 Мая 2020 [17:16:39] »
Остановился в итоге на Proteus
LightBridge 16" push-to, nikon monarch 8x42, SRBC 10x50, nikon action 12x50

Оффлайн Папа и Сын

  • *****
  • Сообщений: 575
  • Благодарностей: 29
  • Мне нравится этот форум!
    • Сообщения от Папа и Сын
Re: Arduino для начинающих: вопросы и ответы
« Ответ #159 : 03 Июн 2020 [17:17:18] »
Помогите с, возможно, дурацким вопросом по Ардуинке.

Начал вспоминать программирование, смотрю уроки, разбираю простые скетчи. Возник наверное странный вопрос: есть ли какие-то ограничения/требования к коду, который пишется в секции setup? Я уже прочитал, что на самом деле это Сишный main{setup()for(){loop()}}, но все равно данный вопрос в реальности нигде толком не разобран.

Почему вопрос возник. Я предполагал в setup прописать код инициализации и получения координат места наблюдения и UTC-времени с GPS-модуля (при невозможности - ввод с клавиатуры), далее расчет LST-времени и инициализация модуля часов. Можно конечно поэкспериментировать, но если кто подскажет, буду премного благодарен
SW 250 PDS зеленовый. Табуретка. Колонна и голова самодельные. Осталось дело за электроникой;-)
APM/Lunt 5, 9 и 13 мм. Что взять в обзорники?