Телескопы покупают здесь


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

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

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

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


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

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

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

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

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Arduino для начинающих: вопросы и ответы
« Ответ #180 : 06 Июн 2020 [16:07:32] »
В данном случае второй вызов заменит обработчик
У природы нет плохой погоды, у неё просто на нас аллергия.

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

Оффлайн johny74

  • *****
  • Сообщений: 1 597
  • Благодарностей: 129
    • Сообщения от johny74
Re: Arduino для начинающих: вопросы и ответы
« Ответ #181 : 07 Июн 2020 [15:22:32] »
Коллеги, подскажите, не соображу - где именно можно увидеть описание функций и типов данных библиотеки RTClib: https://github.com/adafruit/RTClib

например какого типа данные now.unixtime() - unsigned long?
где это можно посмотреть?

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

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

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

Оффлайн johny74

  • *****
  • Сообщений: 1 597
  • Благодарностей: 129
    • Сообщения от johny74
Re: Arduino для начинающих: вопросы и ответы
« Ответ #183 : 07 Июн 2020 [17:35:13] »
https://github.com/adafruit/RTClib/blob/master/RTClib.h#L128
Эту страницу я смотрел, но к сожалению не понял к какому типу данных относятся unixtime (
Если не сложно подсказать - где именно это можно увидеть.

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

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Arduino для начинающих: вопросы и ответы
« Ответ #184 : 07 Июн 2020 [20:45:02] »
Я же даже строчку нужную выделил...
  /* 32-bit times as seconds since 1970-01-01. */
  uint32_t unixtime(void) const;
, т.е. 32-битное беззнаковое целое.
У природы нет плохой погоды, у неё просто на нас аллергия.

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

Оффлайн johny74

  • *****
  • Сообщений: 1 597
  • Благодарностей: 129
    • Сообщения от johny74
Re: Arduino для начинающих: вопросы и ответы
« Ответ #185 : 07 Июн 2020 [21:54:54] »
Спасибо! )
uint32_t unixtime(void) const;  - эта строка практически абракадабра для меня )
unsigned long unixtime; - более привычный вид записи.

Оффлайн mo

  • *****
  • Сообщений: 17 501
  • Благодарностей: 1073
  • Олег Милантьев - L71 Vedrus Observatory
  • Награды Призер конкурса астрофото
    • Сообщения от mo
Re: Arduino для начинающих: вопросы и ответы
« Ответ #186 : 07 Июн 2020 [22:10:50] »
Спасибо! )
uint32_t unixtime(void) const;  - эта строка практически абракадабра для меня )
unsigned long unixtime; - более привычный вид записи.
А оно так и есть. Просто сократили:
u = unsigned
int32 = long (int16 - это просто int; int8 - это байт или short).
モ - mo

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

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Arduino для начинающих: вопросы и ответы
« Ответ #187 : 07 Июн 2020 [22:28:17] »
Стандарт C++ не гарантирует размер для встроенных типов данных, кроме char (строго 1, но не обязательно 8 бит).
Гарантируется лишь соотношение
1 = sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long)
sizeof(float) <= sizeof(double).
На 8-битных Atmega:
sizeof(char) = 1
sizeof(short) = 2
sizeof(int) = 2
sizeof(long) = 4
sizeof(long long) = 4
CHAR_BITS = 8

sizeof(float) = 4
sizeof(double) = 4

Формы записи вида uintXX_t/intXX_t гарантирует размер типа, в отличие от.
У природы нет плохой погоды, у неё просто на нас аллергия.

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

Оффлайн LeftUser

  • *****
  • Сообщений: 30 900
  • Благодарностей: 988
  • Кирилл ㋛
    • Сообщения от LeftUser
Re: Arduino для начинающих: вопросы и ответы
« Ответ #188 : 10 Июн 2020 [20:01:47] »
Формы записи вида uintXX_t/intXX_t гарантирует размер типа, в отличие от.
Ещё привычно для беззнаковых такой вид (в моём окружении точно):

BYTE = 1 байт
WORD = 2 (слово)
DWORD = 4 (двойное слово)
QWORD = 8 (квадрослово) (это для интела, для Atmeg-и наверно перебор :)

А есть для ардуинки тако тип, как long double (80-бит в интеле)?

Кстати, вот отлично разжёвано по типам в С https://megaobuchalka.ru/2/6817.html
« Последнее редактирование: 10 Июн 2020 [20:12:49] от LeftUser »

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

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Arduino для начинающих: вопросы и ответы
« Ответ #189 : 10 Июн 2020 [22:51:20] »
А есть для ардуинки тако тип, как long double (80-бит в интеле)?
Кстати да, sizeof(long double) >= sizeof(double)
Большинство современных компиляторов не делают между ними разницы, да и x87 уходит в прошлое, уступая место SSE. Собственно, редкий компилятор сейчас генерирует инструкции для x87, даже для скалярных операций.
У природы нет плохой погоды, у неё просто на нас аллергия.

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

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

  • *****
  • Сообщений: 500
  • Благодарностей: 29
  • Мне нравится этот форум!
    • Сообщения от Папа и Сын
Re: Arduino для начинающих: вопросы и ответы
« Ответ #190 : 15 Июн 2020 [22:21:40] »
Так, следующая парочка странных вопросов, думаю скорее от непонимания схемотехники

1. Питание. Предполагаю питать блок от 12В акка. Думал, достаточно просто сделать штекер и втыкать в 2,1 гнездо. Однако, на различных форумах пишут, что это не самая хорошая идея: полвольта вверх и все... :( И если так уж приспичило питать таким образом, то надо использовать вход VIN, бо только там есть стабилизированный бп до 20В. Плата - комбайн Меги 2560 и ЕСП 8266. Я правильно понял язык микроконтроллерных форумов? Там действительно такое странное (на мой взгляд) конструктивное решение? Т.е. лучше запитывать через VIN? Хочется акк использовать, в том числе и в качестве противовеса. Проверил его на полной зарядке - 13,7В

2. Питание навесных модулей. Имеем: GPS, часы, 2 энкодера, экран, SD, клавиатура. Итого 7 штук. Один выход 5В в питании и еще 2 выхода у пинов с 22 по 54. Надо шину питания городить?
SW 250 PDS зеленовый. Табуретка. Колонна и голова самодельные. Осталось дело за электроникой;-)
APM/Lunt 5, 9 и 13 мм. Что взять в обзорники?

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

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Arduino для начинающих: вопросы и ответы
« Ответ #191 : 15 Июн 2020 [22:24:54] »
2. Нет. Схемотехнически это одна точка.
1. С помощью DC-DC опустите вольт до 7
У природы нет плохой погоды, у неё просто на нас аллергия.

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

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

  • *****
  • Сообщений: 500
  • Благодарностей: 29
  • Мне нравится этот форум!
    • Сообщения от Папа и Сын
Re: Arduino для начинающих: вопросы и ответы
« Ответ #192 : 15 Июн 2020 [22:38:29] »
Так, чтобы записать в тетрадочку и обвести красным

По п.1. Опускаем до 7В и вводим через VIN, так?

По п.2 не понял. Сейчас я предполагал сделать так: проводами с 5В и земли запитать красно-синюю шину на макетке и оттуда запитывать подключаемые модули. Или так вообще делать нельзя? А как тогда делать на уже готовом?
SW 250 PDS зеленовый. Табуретка. Колонна и голова самодельные. Осталось дело за электроникой;-)
APM/Lunt 5, 9 и 13 мм. Что взять в обзорники?

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

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Arduino для начинающих: вопросы и ответы
« Ответ #193 : 16 Июн 2020 [08:27:08] »
1. Да
2. Можно, если источник питания может прокормить всех.

Если возникнет ситуация, когда надо обеспечить нестандартным питанием других потребителей (например надо строго 8 вольт), то делается это ещё одним источником питания (другой DC-DC, аккумулятор, внешний источник питания и т.п.), то надо объединить все земли воедино.
У природы нет плохой погоды, у неё просто на нас аллергия.

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

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

  • *****
  • Сообщений: 500
  • Благодарностей: 29
  • Мне нравится этот форум!
    • Сообщения от Папа и Сын
Re: Arduino для начинающих: вопросы и ответы
« Ответ #194 : 16 Июн 2020 [10:09:51] »
Понял, спасибо

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

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

  • *****
  • Сообщений: 8 084
  • Благодарностей: 95
    • Сообщения от Дядя Вова
Re: Arduino для начинающих: вопросы и ответы
« Ответ #195 : 16 Июн 2020 [12:07:37] »
Там действительно такое странное (на мой взгляд) конструктивное решение? Т.е. лучше запитывать через VIN? Хочется акк использовать, в том числе и в качестве противовеса. Проверил его на полной зарядке - 13,7В
https://doc.arduino.ua/ru/hardware/Mega2560
Цитата
Характеристики
Микроконтроллер   ATmega2560
Рабочее напряжение   5В
Напряжение питания (рекомендуемое)   7-12В
Напряжение питания (предельное)   6-20В
...
Максимальный выходной ток вывода 3.3V      50 мА
...
VIN. Напряжение, поступающее в Arduino непосредственно от внешнего источника питания (не связано с 5В от USB или другим стабилизированным напряжением). Через этот вывод можно как подавать внешнее питание, так и потреблять ток, когда устройство запитано от внешнего адаптера.
5V. На этот вывод поступает напряжение 5В от стабилизатора напряжения на плате, вне независимости от того, как запитано устройство: от адаптера (7 - 12В), от USB (5В) или через вывод VIN (7 - 12В). Запитывать устройство через выводы 5V или 3V3 не рекомендуется, поскольку в этом случае не используется стабилизатор напряжения, что может привести к выходу платы из строя.
3V3. 3.3В, поступающие от стабилизатора напряжения на плате. Максимальный ток, потребляемый от этого вывода, составляет 50 мА.

Зачем Вам 20В БП? 12В как бы логичнее
UPD Для некоторых EPS8266. ESP-01 50mA может и не хватить.
« Последнее редактирование: 16 Июн 2020 [12:21:46] от Дядя Вова »
(Vixen ED80+Canon300Da, 9x50+QHY5)+EQ6upg
Meade ETX-90PE

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

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Arduino для начинающих: вопросы и ответы
« Ответ #196 : 16 Июн 2020 [14:07:43] »
Запитывать саму ардуину через вход 5V да, не надо, но запитывать периферию - вполне нормально.
Питание подключаем к VIN, периферию питаем от 5V, если она пятивольтовая.
У природы нет плохой погоды, у неё просто на нас аллергия.

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

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

  • *****
  • Сообщений: 500
  • Благодарностей: 29
  • Мне нравится этот форум!
    • Сообщения от Папа и Сын
Re: Arduino для начинающих: вопросы и ответы
« Ответ #197 : 16 Июн 2020 [14:39:41] »
Так, минутку. Только я подумал, что все понял, как опять все непонятно

Вход на плате для питания, который разъем со штырьком на 2,1мм и разъем на плате , который помечен как VIN - это одно и тоже или нет?
SW 250 PDS зеленовый. Табуретка. Колонна и голова самодельные. Осталось дело за электроникой;-)
APM/Lunt 5, 9 и 13 мм. Что взять в обзорники?

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

  • *****
  • Сообщений: 8 084
  • Благодарностей: 95
    • Сообщения от Дядя Вова
Re: Arduino для начинающих: вопросы и ответы
« Ответ #198 : 16 Июн 2020 [15:27:58] »
который помечен как VIN - это одно и тоже или нет?
Практически да, а фактически нет.
(кликните для показа/скрытия)
отличие в защитном диоде.
(кликните для показа/скрытия)
(Vixen ED80+Canon300Da, 9x50+QHY5)+EQ6upg
Meade ETX-90PE

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

  • *****
  • Сообщений: 500
  • Благодарностей: 29
  • Мне нравится этот форум!
    • Сообщения от Папа и Сын
Re: Arduino для начинающих: вопросы и ответы
« Ответ #199 : 17 Июн 2020 [21:43:19] »
Нашел полный даташит на комбайн. Прочитал с первой страницы. Пишут, что входное питание 7-16В. На плате написано то же самое, но только мелко - не увидел.

Выход 5В может выдавать до 1,3А, выход 3,3В - 1А. Большая часть вопросов по питанию снялась
SW 250 PDS зеленовый. Табуретка. Колонна и голова самодельные. Осталось дело за электроникой;-)
APM/Lunt 5, 9 и 13 мм. Что взять в обзорники?