#51 Re: Програмування Arduino » служба времени Arduino » 2018-03-27 23:54:18

Kaka пише:

Проверили.

Правда не совсем точно...

Kaka пише:

Скважность, конечно не ровно 2, но близко к тому. Читать надо.

Как это "не ровно"?
Если время пустого цикла loop() порядка ~0.5мкс. то при delay( 1 ) скважность будет 1 + 1.0005 - это и есть "не ровно 2"? hmm

#52 Re: Апаратні питання » GPIO в Linux » 2018-03-27 23:46:49

Kaka пише:
Olej пише:

многим радиолюбителям-самоделкиным, даже подрабатывающим коммерчески на этом поприще - прийдёт край

C какого перепугу?

Когда приходит Форд со своим конвейерным производством, а за ним другие автомобильные бренды - автомобилистам-романтикам типа Козлевича с его "Антилопа Гну" остаётся только переквалифицироваться в управдомы.

#53 Re: Програмування Arduino » infrared detector 4 channel » 2018-03-27 16:42:50

Aleksandr15 пише:

Да, я просто новичек в этом, сам пока еще не разобрался.

Да какая ж вам ещё помощь нужна?

switch( state ) { // здесь вам 16 вариантов развития событий
  case 0 : 
     // здесь вписываете то, что происходит при срабатывании A3, A2, A1, A0 (4 шт.)
     break;     
  case 1 : 
     // здесь вписываете то, что происходит при срабатывании A3, A2, A1 (3 шт.)
     break;
  case 2 :
     // здесь вписываете то, что происходит при срабатывании A3, A2, A0 (3 шт.)
     break;
  case 3 :
     // здесь вписываете то, что происходит при срабатывании A3, A2 (2 шт.)
     break;
  case 4 :
     // здесь вписываете то, что происходит при срабатывании A3, A1, A0 (3 шт.)
     break;
  case 5 :
     // здесь вписываете то, что происходит при срабатывании A3, A1 (2 шт.)
     // ...
     // ну и так далее - до 14
  case 14 :
     // здесь вписываете то, что происходит при срабатывании только A0 (1 шт.)
     break; 
  default : // а это для state == 15  
     // сюда вы попадёте если ничто не сработало!
}

Вы о двоичном представлении чисел знаете? имеете представление?
Вот возьмите, на листочке в клеточку, выпишете двоичные представления всех чисел от 0 до 15, и всё вам станет наглядно и понятно.
Вот так:

         A3 A2 A1 A0
 0 => 0   0   0   0
 1 => 0   0   0   1
 2 => 0   0   1   0
...
13 => 1   1   0   1
14 => 1   1   1   0
15 => 1   1   1   1 

Там где стоит 0 - это ваш сработавший датчик.

#54 Re: Програмування Arduino » infrared detector 4 channel » 2018-03-27 16:15:08

NoName пише:

сами http://www.linuxfoundation.org/  обратились за помошью ? big_smile

А это вы к чему написали? Да ещё с URL ... как большой знаток в этом деле. big_smile

#55 Re: Програмування Arduino » infrared detector 4 channel » 2018-03-27 10:22:23

Olej пише:
NoName пише:

по непоянтным мне причинам на форум аодуинщилков приперся )

Я в другой совсем теме здесь рядом написал по какой причине - Доброго дня допоможіть скнопкою:

Меня лично Arduino интересует только как инструмент быстрого и простого в использовании интерфейса стандартного компьютера под управлением Linux к внешнему миру (это одно из удачных применений, которые я называл выше).

И вот ещё что: GPIO в Linux.
Я ещё когда отвечал вам не формулировал себе отчётливо, но ... "нюх - не пропьёшь!" big_smile : уже после написания сообщений в тему ко мне обратились из очень серьёзной конторы на тему "поговорить" smile о их проблемах и задачах в очень пересекающейся области.

#56 Апаратні питання » GPIO в Linux » 2018-03-27 10:16:36

Olej
відповідей: 29

Это сильно любопытно и ... показательно - Linux: кнопки, светодиоды и GPIO:

Начиная с версии 2.6.26 (кажется) у Linux появляется стандартный интерфейс для работы с GPIO через sysfs. В оригинале прочитать об этом можно в [LGPIO00]. Я попытаюсь пересказать своими словами содержимое этого документа.

И далее в заметке достаточно подробно описывается использование GPIO в Linux:

Главной точкой работы с GPIO является директория /sys/class/gpio. Если вы загляните в нее, то увидите два файла: export и unexport. Сразу после загрузки системы, все линии GPIO принадлежат ядру и использовать их в своих программах просто так не получится. Для этого, линию GPIO нужно экспортировать, записав её номер в файл export.
...
445b8f5b618a43b8a9e7b84eab99999b.png

Почему и зачем я написал это сообщение и почему это "любопытно"?
1. Потому что это мир достаточно серьёзных технических проектов (а проекты Linux - это очень серьёзно smile ) заимствует идеологию Arduino и включает её (как вариант) в арсенал своих возможностей;
2. Теперь все и любые Arduino-решения можно переносить в среду Linux, для выполнения на стандартном компьютере (с аппаратным GPIO расширение, естественно) и на всех одноплатных мини- и микро- Rasbery Pi и еже с ними;
3. Некоторые из известных мировых брендов в области производства компьютерных (системных) плат уже начали производить модели для embedded (встроенных) систем, имеющие изначально на борту GPIO расширения и наборы пинов, конструктив,но совместимые с Arduino - см. по этому поводу тему Старшие модели

И, как всегда, конечно, в этой бочке мёда есть ложка дёгтя, и состоит она в том, что:
4. В технологию/идеологию/архитектуру Arduino начинают/начнут приходить профессионалы разработчики ... и многим радиолюбителям-самоделкиным, даже подрабатывающим коммерчески на этом поприще - прийдёт край .. той части этого сообщества, которые больше из самоучек, не имеющих более-менее сносного образования в требуемых технических дисциплинах.

В общем, - интересные дела начинаются! big_smile

#57 Re: Проекти » Ищем исполнителя для нписанип приложения под андройд и arduino разрабо » 2018-03-27 09:55:13

Batu пише:

Ищи официальное представительство в своем регионе.

Официальное "представительство в регионе" Samsung - разогнали по причине их криворукости (в Харькове, в частности).
А если вы имеете в виду представительство торговцев и менЬЕТжеров - так они вряд ли поймут формулировки технической проблемы и со страху попрячутся под лавки.

#58 Re: Програмування Arduino » служба времени Arduino » 2018-03-27 09:50:44

Kaka пише:
Olej пише:

В-третьих, мне не хочется возиться с осциллографом.

Ну, как писал Высоцкий: "Стукнул раз - специалист - видно по нему! smile

Я не понимаю что вас так развеселило? Я написал же как и почему способ аппаратного определения, с помощью осциллографа, тоже порочный логически: он будет давать заниженные значения частоты, или затянутый период одного цикла loop().
Хотя сама цифра длины периода и не так важна (разве любопытства ради). Если она мала (800нс или 300нс - не важно) то:
- рассыпается миф, пересказываемый во многих обсуждениях об Arduino, что цикли с 2-мя delay( 1 ) (и любыми другими delay()) будет иметь скважность не 2 ... т.е. что loop() ещё что-то куда-то добавляет;
- можно спокойно не учитывать какие бы ни было задержки, вносимые частями исполняющей системой, прикомпилируемой IDE;
- хотя можно, понятности и точности ради, вообще исключить из исполнимого скетча функции setup() и loop(), прописав туда собственную функцию main():

int main() {
    Serial.begin( 9600 ); 
    Serial.println( "++" ); 
}

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

#59 Re: Програмування Arduino » infrared detector 4 channel » 2018-03-26 21:44:48

NoName пише:

подарите проект Aleksandr15,  работы там - всего ничего ) , он не справится, не его это разработка, а "девайсина" наверное очень нужна )

Я уже показал, дальше сам справится.

#60 Re: Апаратні питання » Старшие модели » 2018-03-26 21:34:31

А вот ещё такая штучка UDOO X86
x86_ultra_top_rotate.png
И я именно такую штучку показал не просто чтоб куда пальцем ткнуть ... одно из крупных украинских предприятий серийно производящих средства автоматики взял совсем недавно именно такую для своих embeded изделий (я специально не стану называть фирму, но только сегодня имел с ними обстоятельное обсуждение предмета).

Processor:
CPU Intel® Pentium N3710 up to 2.56 Ghz (ULTRA version)
GPU:
Intel® HD Graphics 405 up to 700 MHz 16 execution units (ULTRA version)
RAM:
8 GB DDR3L Dual Channel (ULTRA version)
...

Но заинтересовало как-раз то, что это изделие из области универсальных компьютеров промышленного уровня попутно объединил туда технологии Arduino:

Arduino™ 101-Compatible through the standard Arduino™ Pins layout and compatible with Arduino™ shields.

GPIOs

UDOO X86 features a total of 36 GPIOs available on the external Pinout connectors.

16 GPIOs are available in the external Pinout columns manageable from the main Intel® Braswell processor of the UDOO X86. These Pins are 1.8V only compliant.
20 GPIOs are available in the internal Arduino Pinout columns manageable from the Intel® Curie™ processor of the Arduino 101 embedded. These Pins are 3.3V compliant and 5V tollerant.

#61 Re: Програмування Arduino » infrared detector 4 channel » 2018-03-26 21:27:02

NoName пише:

по непоянтным мне причинам на форум аодуинщилков приперся )

Я в другой совсем теме здесь рядом написал по какой причине - Доброго дня допоможіть скнопкою:

Меня лично Arduino интересует только как инструмент быстрого и простого в использовании интерфейса стандартного компьютера под управлением Linux к внешнему миру (это одно из удачных применений, которые я называл выше).

#62 Re: Програмування Arduino » форматирование символьных строк » 2018-03-26 21:21:23

Olej пише:

Подсказали в другом месте, может кому пригодится:

sprintf искаропки не поддерживает форматный вывод с плавающей точкой. Используй dtostrf() или dtostre().

sprintf искаропки, как мне кажется после некоторых экспериментов с кодом, не поддерживает и формат %llu или %lld для uint64_t ... да и вообще компилятор странно себя ведёт с int64_t - но это нужно отдельно проверять.

#63 Re: Програмування Arduino » infrared detector 4 channel » 2018-03-26 21:16:18

Aleksandr15 пише:

Если честно то нет, выдает ошибку. Когда новый скетч создаешь то в "case" ошибку выдает
...

switch( state ) { // здесь вам 16 вариантов развития событий
  case 0 
  IR1=0 && IR2=0 && IR3=0 && IR4=0:      
     
     break;
     
     case 1 
     IR1=1 && IR2=0 && IR3=0 && IR4=0:      
     
     break;

Я вам принцип нарисовал, который проще не бывает ... а не код, который тупо нужно вставить в свой.
Что это у вас в case за ужас?

     IR1=1 && IR2=0 && IR3=0 && IR4=0:  

Я вам написал это комментарием, ещё и выделил синтаксически ограничителями комментария, чтобы показать, что значение 1 в case соответствует сочетанию ваших условий: IR1=1 && IR2=0 && IR3=0 && IR4=0.
А оставить вам нужно только:

switch( state ) { // здесь вам 16 вариантов развития событий
  case 0 
     // здесь пишете то что нужно делать при IR1=0 && IR2=0 && IR3=0 && IR4=0:      
     // ...
     break;
...

#64 Re: Програмування Arduino » служба времени Arduino » 2018-03-26 21:09:29

Kaka пише:
Olej пише:

Так что стоило повозиться с тестированием,

Достаточно было почитать тему по той ссылке, что я давал. Там есть этот пример с осциллограммой.

Во-первых, я всё сразу читал. Во-вторых, там пример с осциллографом - тоже с логическим дефектом. В-третьих, мне не хочется возиться с осциллографом.

#65 Re: Апаратні питання » UNO и NANO » 2018-03-26 12:23:37

кудрявый пише:

Неидентичны у них бутлоадеры и информация об этом в IDE.
В IDE для UNO используется оптибут. Длиной 512байт По этому IDE вычитает из размера флеш 32768 длину бутлоадера 512 и говорит что вам для скетча доступно  32256 (32768-512).
В NANO оставлен "исторический" бутлоадер (не оптибут) длиной 2к (2048) - вот IDE вам и вычитает 32768 -2048 = 30720.

Причины различий понятны и видны по IDE.
Но в исходной заводской поставке они отличаются ... всегда ли? от всех производителей-поставщиков-продавцов?

кудрявый пише:

Перешейте в NANO нормальный загрузчик (optiboot), откорректируйте в IDE файлик boards.txt и будет у вас все "идентично".

С этим то как-раз всё понятно...

кудрявый пише:

Интернет завален видео, как NANO сделать идентичной UNO, даже не исправляя ничего в IDE..

Если так сильно завален, то покажите конкретную ссылку (потому что когда "завалено" по какому-то вопросу, то не все экземпляры равнозначные, адекватные и вменяемые).

#66 Re: Апаратні питання » UNO и NANO » 2018-03-26 11:52:00

кудрявый пише:

Если и там и там atmega328p - то они программно и функционально идентичны

2 устройства (UNO+NANO) подключены одновременно:

[olej@dell Tools_Linux]$ lsusb -d 1a86:
Bus 002 Device 069: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 002 Device 074: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter


[olej@dell Tools_Linux]$ ls -l /dev/ttyU*
crw-rw---- 1 root dialout 188, 0 мар 25 14:21 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 мар 26 11:37 /dev/ttyUSB1

Компилируется один и тот же скетч (это sysinfo), изменив только тип платы в Arduino IDE:
- это UNO:

Скетч использует 7334 байт (22%) памяти устройства. Всего доступно 32256 байт.
Глобальные переменные используют 770 байт (37%) динамической памяти, оставляя 1278 байт для локальных переменных.
Максимум: 2048 байт.

- это NANO:

Скетч использует 7334 байт (23%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 770 байт (37%) динамической памяти, оставляя 1278 байт для локальных переменных. 
Максимум: 2048 байт.

Всё очень похоже, но об "идентичности" говорить как-то ... не совсем точно.

#67 Re: Апаратні питання » UNO и NANO » 2018-03-26 11:36:06

кудрявый пише:

Не читайте безумные таблички, такие же форумы.

Всё, что касается Arduino - оно всё такое же "безумное".

кудрявый пише:

Читайте единственный документ - Datasheet на то, на чем любая из этих плат собрана.

Datasheet - это на процессор, а меня интересует готовое собранное изделие на этом процессоре + в каком-то конкретном исполнении (китайском).

#68 Re: Апаратні питання » UNO и NANO » 2018-03-26 11:20:08

кудрявый пише:

Кроме конструктива - ничем.

Сравнение плат Arduino (таблица)
1504767618_arduino-comparison.jpg
SRAM -> 2/1
EEPROM -> 1/0.51

#69 Re: Апаратні питання » UNO и NANO » 2018-03-26 01:22:29

Nefreemen пише:

А все платы без скетча?

Все платы (которые я смотрю, не в обзоре выше) как-раз со скетчами, но одними и теми же, типа sysinfo, но без внешних элементов, без нагрузки.

#70 Re: Апаратні питання » UNO и NANO » 2018-03-26 00:08:24

Olej пише:

И картинка:

Только не верится...
Потому что это элементарно противоречит тому, что я чувствую пальцами smile : большая (из соображений теплообмена) плата UNO греется ощутимо заметно, тогда как маленькая (гораздо хуже теплообмен) плата NANO, в абсолютно тех же условиях, не греется совершенно.

P.S. И то и другое - с CH340.

#71 Re: Апаратні питання » UNO и NANO » 2018-03-26 00:05:44

Olej пише:

Почему при питании по USB, от компьютера по стандартному кабелю, UNO достаточно заметно греется:
А NANO, при питании от того же USB по подобному кабелю, будучи подключенным сутками - абсолютно холодный.
Почему так?

Энергопотребление arduino

Касательно самого теста – измерялась сила тока (mA) в разрыве цепи до основной платы в двух вариациях: при питании через xUSB порт стабилизированными 5v (эмуляция lipo аккумулятора и платы boost конвертера напряжения 3,7v->5v)  и при питании от 9v (эмуляция 6 пальчиковых батареек по 1,5v).

Потребление тока:

Плата    5v     9v (3,7v для LilyPad)
Raspberry pi B+    80..150 mA    –
MEGA 2560 (16u2)    66 mA    90 mA
UNO R3 (16u2)    43 mA    48 mA
UNO R3 (CH340)    18 mA    19 mA
NANO 3.0 (FTDI)    62 mA    57 mA
NANO 3.0 (CH340)    20 mA    24 mA
LilyPad USB    15 mA    9 mA
Pro Mini 5v    17 mA    18 mA
Beetle leonardo    21 mA    –

В сыром виде таблица потребления тока мало о чем говорит – разные напряжения, поэтому привожу таблицу расчета мощности (сила тока умноженная на напряжение) – так мы подведем все платы под общий знаменатель, и можем сравнить показатели энергопотребления.

Плата    5v     9v (3,7v для LilyPad)
Raspberry pi B+    0,750 W    –
MEGA 2560 (16u2)    0,330 W    0,810 W
UNO R3 (16u2)    0,215 W    0,432 W
UNO R3 (CH340)    0,090 W    0,171 W
NANO 3.0 (FTDI)    0,310 W    0,513 W
NANO 3.0 (CH340)    0,100 W    0,216 W
LilyPad USB    0,075 W    0,033 W
Pro Mini 5v    0,085 W    0,162 W
Beetle leonardo    0,105 W    –

Форматировать таблички не буду, в облом ... кому надо и так почитает smile
И картинка:
chart_mainboards_watt.jpg

#72 Re: Апаратні питання » UNO и NANO » 2018-03-25 23:48:06

Olej пише:

Почему так?

Что удивляет? ... на этом форуме, но и не только на этом по Arduino ...
Когда обсуждаются какие-то радиолюбительского уровня простейшие свистелки с перделками, типа "как включать 12-вольтовое реле" - то знатоков, подсказок и мнений - вагон.
Когда выше названо несколько вопросов, которые всем могут пригодиться, и на которые по Интернет ответ не так просто найти - то полный молчок. sad

#73 Re: Проекти » Гусеничная платформа » 2018-03-25 21:32:12

AlexT пише:

И немного фоточек по приводу.

И это, по твоему, фоточки? hmm

#74 Re: Апаратні питання » UNO и NANO » 2018-03-25 14:24:39

Olej пише:

В чём вообще отличия (кроме конструктивов) UNO vs NANO?

Почему при питании по USB, от компьютера по стандартному кабелю, UNO достаточно заметно греется:

SysInfo for Arduino version 1.07

F_CPU = 16000000
Frequency = 16 MHz

CPU_IDE = ATmega328P

Flash Memory = 32767 bytes
Free RAM memory = 1091 bytes

Signature = 1E 95 0F
Fuses (Low/High/Ext/Lock) = FF DE FD CF
Processor = ATmega328P
Flash memory size = 32 kB

VCC = 5209 mV

Internal Temperature = 44.0 C

Test of short circuit on GND or VCC:
Pin:  0    Low: Fail  High: Ok    Pull Up: Ok 
Pin:  1    Low: Ok    High: Fail  Pull Up: Fail
Pin:  2    Low: Ok    High: Ok    Pull Up: Ok 
Pin:  3    Low: Ok    High: Ok    Pull Up: Ok 
Pin:  4    Low: Ok    High: Ok    Pull Up: Ok 
Pin:  5    Low: Ok    High: Ok    Pull Up: Ok 
Pin:  6    Low: Ok    High: Ok    Pull Up: Ok 
Pin:  7    Low: Ok    High: Ok    Pull Up: Ok 
Pin:  8    Low: Ok    High: Ok    Pull Up: Ok 
Pin:  9    Low: Ok    High: Ok    Pull Up: Ok 
Pin: 10    Low: Ok    High: Ok    Pull Up: Ok 
Pin: 11    Low: Ok    High: Ok    Pull Up: Ok 
Pin: 12    Low: Ok    High: Ok    Pull Up: Ok 
Pin: 13    Low: Ok    High: Ok    Pull Up: Ok 
Pin: 14    Low: Ok    High: Ok    Pull Up: Ok 
Pin: 15    Low: Ok    High: Ok    Pull Up: Ok 
Pin: 16    Low: Ok    High: Ok    Pull Up: Ok 
Pin: 17    Low: Ok    High: Ok    Pull Up: Ok 
Pin: 18    Low: Ok    High: Ok    Pull Up: Ok 
Pin: 19    Low: Ok    High: Ok    Pull Up: Ok

(это вывод скетча sysinfo - там есть температура)
И даже на ощупь сама плата изрядно нагретая...

А NANO, при питании от того же USB по подобному кабелю, будучи подключенным сутками - абсолютно холодный.

Почему так?

#75 Re: Апаратні питання » UNO и NANO » 2018-03-25 12:57:37

На плате видно 2 кварца: 16Mhz & 12Mhz.

Arduino Nano 3.0 (ATmega328):
arduino-nano.jpg
Здесь кварц, могу предположить, только один - тот что по диагонали, под 45°, рядом с чипом ATMEL.
Что там написано прочитать не представляется возможным, но, наверное 16Mhz.
А где 12Mhz?
В чём вообще отличия (кроме конструктивов) UNO vs NANO?

Підвал форуму