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


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

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

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

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


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

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

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

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

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

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

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

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

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

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

  • *****
  • Сообщений: 8 083
  • Благодарностей: 95
    • Сообщения от Дядя Вова
Re: Arduino для начинающих: вопросы и ответы
« Ответ #222 : 15 Июл 2020 [12:04:03] »
Для меня новость.
Визуальное проектирование на Arduino.
https://www.tinkercad.com/ раздел схемы
FLProg визуальное программирование https://fplprog.ru
Пример http://www.youtube.com/watch?v=xRmkFkS1Sx0
(Vixen ED80+Canon300Da, 9x50+QHY5)+EQ6upg
Meade ETX-90PE

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

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

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

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

  • *****
  • Сообщений: 8 083
  • Благодарностей: 95
    • Сообщения от Дядя Вова
Re: Arduino для начинающих: вопросы и ответы
« Ответ #224 : 15 Июл 2020 [14:35:04] »
Гугл в своё время для обучения детей запустил проект Scratch - визуальный язык программирования. И вот пошло-поехало.
Ну, так и я учится :) ПЛК программировать. А с отладкой без железа как-то скучновато. И вот.
Но в TinckerCad библиотека слабовата. Arduino Uno и все :( 
(Vixen ED80+Canon300Da, 9x50+QHY5)+EQ6upg
Meade ETX-90PE

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

  • *****
  • Сообщений: 500
  • Благодарностей: 29
  • Мне нравится этот форум!
    • Сообщения от Папа и Сын
Re: Arduino для начинающих: вопросы и ответы
« Ответ #225 : 18 Июл 2020 [10:11:15] »
Снова я, только не пинайте ;). Вопросы схемотехнические, тут я практически полный ноль :(...

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

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

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Arduino для начинающих: вопросы и ответы
« Ответ #226 : 18 Июл 2020 [10:15:13] »
Снова я, только не пинайте ;). Вопросы схемотехнические, тут я практически полный ноль :(...

1. С энкодера приходит многожильный кабель. Какой разъем для подключения к ардуине уже в рабочем варианте рекомендуют использовать благородные доны для такого случая?
2. Большая часть проекта готова, думаю о готовом изделии. Вопрос такой, а как правильно соединять между собой модули уже в рабочем изделии? Особенно интересуют разъем I2C дисплея и сами колодки на ардуине
@1212Lupus призываю тебя
У природы нет плохой погоды, у неё просто на нас аллергия.

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

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

  • *****
  • Сообщений: 8 083
  • Благодарностей: 95
    • Сообщения от Дядя Вова
Re: Arduino для начинающих: вопросы и ответы
« Ответ #227 : 18 Июл 2020 [10:22:50] »
Снова я, только не пинайте ;). Вопросы схемотехнические, тут я практически полный ноль :(...

1. С энкодера приходит многожильный кабель. Какой разъем для подключения к ардуине уже в рабочем варианте рекомендуют использовать благородные доны для такого случая?
2. Большая часть проекта готова, думаю о готовом изделии. Вопрос такой, а как правильно соединять между собой модули уже в рабочем изделии? Особенно интересуют разъем I2C дисплея и сами колодки на ардуине
Ну, если не названия, то хоть ссылки дайте. Отгадывать мысли - занятие увлекательное, конечно.
(Vixen ED80+Canon300Da, 9x50+QHY5)+EQ6upg
Meade ETX-90PE

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

  • *****
  • Сообщений: 500
  • Благодарностей: 29
  • Мне нравится этот форум!
    • Сообщения от Папа и Сын
Re: Arduino для начинающих: вопросы и ответы
« Ответ #228 : 18 Июл 2020 [10:42:32] »
Я понимаю, что выгляжу полным балбесом, но не очень понимаю, что конкретно надо назвать... :(

Попробую

Имеем: комбайн ардуино мега +есп32, разъемы на плате мама, модули: GPS, разъем папа, но можно его выпаять и впаять провод, если это разумно, часы, также разъем папа, тоже можно выпаять, дисплей с I2C-папа разъемом, два энкодера, с которых приходит 8 многожильных проводов без разъемов, но используются только 4.

Вопрос, чем и как эти модули правильно соединить в уже рабочем изделии, чтобы оно выдерживало вибрации при выезде на наблюдения, без необходимости разбирать на месте для выяснения, где какой разъем отвалился

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

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

  • *****
  • Сообщений: 8 083
  • Благодарностей: 95
    • Сообщения от Дядя Вова
Re: Arduino для начинающих: вопросы и ответы
« Ответ #229 : 18 Июл 2020 [11:05:32] »
Я понимаю, что выгляжу полным балбесом, но не очень понимаю, что конкретно надо назвать... :(

Попробую

Имеем: комбайн ардуино мега +есп32,
Супер! https://hi-lab.ru/arduino-mega-server/details/64-news-ams-for-esp32 но дальше непонятно
(Vixen ED80+Canon300Da, 9x50+QHY5)+EQ6upg
Meade ETX-90PE

Онлайн Дмитрий Маколкин

  • *****
  • Сообщений: 14 854
  • Благодарностей: 1294
  • всяко разно
    • Skype - dmitrymakolkin
    • DeepSkyHosting: dvmak
  • Награды Призер конкурса астрофото
    • Сообщения от Дмитрий Маколкин
    • Панорамы Луны
Re: Arduino для начинающих: вопросы и ответы
« Ответ #230 : 16 Фев 2021 [17:44:16] »
Коллеги, подскажите!

Хочу запитать поделку от пары-тройки 18650 , задумался, есть ли для них готовый battery pack, в котором их можно было бы разместить:

1. Зарядка от внешнего 12В
2. Защита от перезарядки/переразряда, заряда на морозе.
3. Выдача стабилизированного питания на ардуино как от АКБ, так и от внешнего б.п., заряжающего АКБ.
4. Желательно, индикатор заряда, хоть простейший.

Или проще готовый battery pack типа как для смартфонов приладить?

Может есть что-то в таком роде? Ali годится.
Панорамы Луны в моей галерее:
http://www.makolkin.ru/Gallery/gallery.html
Мои дипы: https://deepskyhosting.com/dvmak

Оффлайн mo

  • *****
  • Сообщений: 17 498
  • Благодарностей: 1073
  • Олег Милантьев - L71 Vedrus Observatory
  • Награды Призер конкурса астрофото
    • Сообщения от mo
Re: Arduino для начинающих: вопросы и ответы
« Ответ #231 : 09 Мая 2021 [19:30:14] »
Или проще готовый battery pack типа как для смартфонов приладить?
Однозначно, проще. Стоит 150р на али. Единственное, зарядка от 5В (USB). Видел варианты от 2 до 8 аккумов.
モ - mo

Оффлайн johny74

  • *****
  • Сообщений: 1 588
  • Благодарностей: 129
    • Сообщения от johny74
Re: Arduino для начинающих: вопросы и ответы
« Ответ #232 : 09 Мая 2021 [19:34:52] »
Не могу сообразить как записать в файл на SD карте структуру вида:
struct Obj {                                     
  char name[16];
  float ra;         
  float dec;
  };

записываю так:    myFile.write( (char*)&My_obj, sizeof(My_obj ));

считываю так:    myFile.read(&st2, sizeof(st2));

числовые значения в итоге записываются и считываются корректно, вместо name - мусор!

Что делаю не так?

пробовал и так:

const Obj M[] PROGMEM = { 

{ "M1", 1.45953158  , 0.38426332  } , //        1
{ "M2", 5.64395846  , -0.01425352 } , //        2
{ "M3", 3.58752427  , 0.49538261  } , //        3
{ "M4", 4.29176463  , -0.46309402 } , //        4
{ "M5", 4.00814862  , 0.03636102  } , //        5
   
};

запись:

   st1.name[16] =  pgm_read_byte_near(& M .name[16]);
   st1.ra  = pgm_read_float_near(& M .ra);
   st1.dec = pgm_read_float_near(& M .dec);

чтение:
myFile.read(&st1, sizeof(st1));

Тоже самое - числовые значения корректные, текст - мусор!!!

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

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Arduino для начинающих: вопросы и ответы
« Ответ #233 : 09 Мая 2021 [20:56:40] »
Не могу сообразить как записать в файл на SD карте структуру вида:
struct Obj {                                     
  char name[16];
  float ra;         
  float dec;
  };

записываю так:    myFile.write( (char*)&My_obj, sizeof(My_obj ));

считываю так:    myFile.read(&st2, sizeof(st2));

числовые значения в итоге записываются и считываются корректно, вместо name - мусор!

Что делаю не так?
А строку как инициализуете?
Попробуйте прежде чем начинать работать со структурой, обнулить её через memset.
И да, строка начинается с корректных значений и дальше идёт мусор?
Можете показать побайтно, что получилось после записи известной записи?
У природы нет плохой погоды, у неё просто на нас аллергия.

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

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

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Arduino для начинающих: вопросы и ответы
« Ответ #234 : 09 Мая 2021 [20:59:28] »
   st1.name[16] =  pgm_read_byte_near(& M .name[16]);
Вот эта строка очень стёмно выглядит.
Вы читаете один байт по смещению 16 в поле name, с непонятным адресом, и записываете точно так же за пределы массива.
Надо читать в цикле 16 байт, что-то вроде такого:
for (byte i = 0; i < 16; ++i)
{
  st1.name[i] =  pgm_read_byte_near(M[recordNumber].name + i);
}
У природы нет плохой погоды, у неё просто на нас аллергия.

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

Оффлайн johny74

  • *****
  • Сообщений: 1 588
  • Благодарностей: 129
    • Сообщения от johny74
Re: Arduino для начинающих: вопросы и ответы
« Ответ #235 : 10 Мая 2021 [11:53:44] »
Вот эта строка очень стёмно выглядит.
Да, на сайт квадратные скобки с индексом не скопировались - из за этого так выглядит.

Структура:
struct CatalogueStar
{
  char name[16]; //
  float ra;      // Right ascension.
  float dec;     // Declination.
};

Ее значения:
CatalogueStar stars[] = {                                             
  { "Aldebaran",  1.20393102690777,   0.288141739162236 },  // 1         
  { "Alderamin",  5.57885550587571,   1.09232449344795  },  // 2
};

Как записать структуру на SD в бинарный файл и как потом считать?
float записывается/считывается без проблем, имена - пока не могу разобраться

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

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Arduino для начинающих: вопросы и ответы
« Ответ #236 : 10 Мая 2021 [14:12:03] »
Как записать структуру на SD в бинарный файл и как потом считать?
Запишите файл на SD карту, потом вставляете карту в компьютер и прикладываете его к сообщению на форум.
У природы нет плохой погоды, у неё просто на нас аллергия.

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

Оффлайн johny74

  • *****
  • Сообщений: 1 588
  • Благодарностей: 129
    • Сообщения от johny74
Re: Arduino для начинающих: вопросы и ответы
« Ответ #237 : 10 Мая 2021 [14:41:29] »
Запишите файл на SD карту, потом вставляете карту в компьютер и прикладываете его к сообщению на форум.
Сделать это не просто - SD карта на плате в контроллере разбирать (распаивать) не очень хочется.
Как записать числовые данные - знаю, не могу корректно записать структуру, в которой помимо чисел есть элементы текста.
Можете привести пример кода, который записывает структуру и ее считывает? больше ничего не нужно! Примеры которые я привел - не работают.
Сегодня попробовал изменить тип имени с char[16] на string - стало записываться/читаться корректно! Но, под string как я понимаю память выделяется динамически и в результате элементы структуры могут иметь разную длину, что не есть для меня хорошо.

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

  • *****
  • Сообщений: 17 977
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Arduino для начинающих: вопросы и ответы
« Ответ #238 : 10 Мая 2021 [18:31:21] »
Но, под string как я понимаю память выделяется динамически
Да. И это не есть хорошо.
У природы нет плохой погоды, у неё просто на нас аллергия.

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

Оффлайн johny74

  • *****
  • Сообщений: 1 588
  • Благодарностей: 129
    • Сообщения от johny74
Re: Arduino для начинающих: вопросы и ответы
« Ответ #239 : 10 Мая 2021 [19:49:49] »
В общем заработало! ))
Вот так -

  CatalogueStar S;
  int i;

/*
  SD.remove("My_list.txt");                    //Удаляем исходный файл
  myFile = SD.open("My_list.txt",FILE_WRITE);  // Открыли файл для записи
 
  for (i=0; i <=27; i++ ){
  //select_a_Star(i, &S);          // определяем имя и координаты координаты звезды
  S = stars;
  // Запись данных в файл ----------------------------------------------------------------------------   
  myFile.write( (char*)&S, sizeof(S));
  }
 
  myFile.close();
 
*/