Перейти до публікації
Пошук в
  • Додатково...
Шукати результати, які містять...
Шукати результати в...

ARDUINO - общая тема обсуждения различных домашних девайсов на ARDUINO

Diver

Рекомендовані повідомлення

Похожие вариации на эту тему

- majordomo.smartliving.ru/forum/viewtopic.php?f=8&t=73

- wiki.openenergymonitor.org/index.php/EmonTx_V3#For_new_.282015.29_emonTx_V3.4_see_wiki_page:_EmonTx_V3.4

- mysku.ru/blog/china-stores/38717.html

  • Лайк 1
Посилання на коментар
Поділитися на інших сайтах

О WiFi временно забудьте,- это потом.

это само собой разумеется.

 

Для того, чтобы измерить напряжение, его таки нужно будет выпрямить.

эта простая идея мне как раз и не нравится, я бы хотел измерять true rms, а не выпрямленное, хотя в данном случае это не столь важно, но всеже, синус в сетях часто имеет вид не кошерный и при выпрямлении мы получаем искаженные значения.

мерять постоянку для меня не проблема, делал, выходит.

 

Можно сделать самому, из феррита магнитной проницаемостью 50 или 100 и, скажем, провода, выдернутого из сигнального кабеля. Если делать самому,- будет дешево, но придется калибровать - это морочливо.

не вариант, времени на изобретения таких тонкостей нет, нужно стандартные решения

 

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

тут вот какое дело, обвязку проца, плата, спаять, делители посчитать - то я и сам могу, это моё. А вот програмулину написать, это не мое, не дано((( Хотя в flprog делал пару приблуд, получается, но вот спустится до уровня языка уже нет сил.

 

 

Электрические измерения параметров переменного тока, я бы доверил такому девайсу

интересный девайс.

  • Лайк 1
Посилання на коментар
Поділитися на інших сайтах

Если true RMS, то я бы "запихнул" синусоиду, или сигнал схожей формы в диапазон до 3.2 или 4.9 вольт (по модулю). Ток можно мерять например обобщенными аллегровскими чипами. Потом считаем,- ничего военного. Если мы знаем что на входе 50-60Hz, то частоту сэмплирования можно взять 150-1000Hz, в зависимости от того что нужно "ловить". Если нужно 6 каналов, то это 6 напряжений, и 6 значений тока. Итого 12 каналов. Есть еще тонкости с шумами, и температурой, так что наверное нужна готовая плата имени 12 ADC, со связкой I2C или SPI. Замена контроллеров сетевого напряжения в планах, посему когда-то искал датчики холла, находил и более "породистые", но нужно заказывать, т.е. в Киеве нет. Колечки - это чтобы значит быстро и не морочиться.

Dalet,- вы давно платы разводили ? А компоновка в корпусе ? Это нужно все бросить, и только этим заниматься. Понятно что рассчитать и собрать на макетке или собачнице проблем не вызывает. Предположим что прошивка готова, и нужно это все ведро с деталями и пару метров монтажных проводов уложить на одну или более плат. Воодушевляет ? :-)

Хорошо хоть что сейчас плату можно в Киеве заказать. А потом "вдруг" оказывается что дорожки, по которым тактируется I2C или SPI слишком близко к силовым. Ну "завтыкал" orcad. Выкидываем нафик полуавтоматическую трассировку,- и полностью вручную. Еще пару дней, и это в лучшем случае. Если говорить об обвязке самого камня, то да, я в общем тоже проблем не вижу,- нужно увеличить количество часов в сутках, тогда появятся шансы. Ну Ок, все готово, платы разведены перепаяны, пару циклов тестирования прошло, теперь нужно как-то "облагородить" корпус, хотя-бы названия выводов на корпус нанести. Можно вместо orcad скажем diptrace использовать,- там попроще, но это практически все ручная работа. DIN рейка это хорошо, но в замкнутом объеме еще неплохо посчитать, или хотя-бы прикинуть тепловыделение, иначе уже через пару часов железка начнет работать уже совсем иначе. :-) Сама программа и отладка,- это 1/4 часть задачи, причем не самая сложная. Взять сами датчики (не платы) имени allegro, наверное какую-нибудь обвязку из 10-15 деталей на каком-то операционнике для "упаковки" входного напряжения в нужный диапазон, потом все это "склеить" и начать рисовать программу. Только потом можно начинать эпопею с WiFi, причем учитывая времянки, схема измерения и рассчета на одном кристалле, а визуализация и передача на другом. В случае если дисплей простой, то визуализацию можно попробовать оставить на основном кристалле. "разорваться" на несколько частей, а именно алгоритмы и программы + схемотехника и упаковка, достаточно сложно. Где-то так...

Посилання на коментар
Поділитися на інших сайтах

Если мы знаем что на входе 50-60Hz, то частоту сэмплирования можно взять 150-1000Hz,

да ну, мне так видится:

выпрямить напряжение с выхода датчика тока - диодами, и мерить аналоговым входом. Вам же не нужно постоянно измерять моментальное значение мощности каждые 1/50 секунды? тогда и алгоритм не нужно придумывать, все надежнее будет работать.

Посилання на коментар
Поділитися на інших сайтах

да ну, мне так видится:

выпрямить напряжение с выхода датчика тока - диодами, и мерить аналоговым входом. Вам же не нужно постоянно измерять моментальное значение мощности каждые 1/50 секунды? тогда и алгоритм не нужно придумывать, все надежнее будет работать.

 

В общем конечно так, но Dalet ведь хотел мерять именно мощность. Одним измерителем тока тут не обойдешься, нужно еще знать напряжение. Скажем в течении 1 секунды, напряжение может "танцевать" от 160 до 240 вольт. Нужно определиться с периодом, за который планируется подсчитывать. Например одна секунда для 50Hz. Нужно выловить некий массив значений RMS тока и напряжения, потом обработать. Если с током вроде-как вопросов нет, то с напряжением есть, причем они достаточно серьезные. Просто мостом и резисторным делителем для более или менее достоверных результатов тут действительно не обойдешься. По сути, нужно "уложить" синусоиду, или нечто подобное, в диапазон напряжений, допустимых для аналоговых входов кристалла. Я предложил операционный усилитель с обвязкой, может конечно есть какое-то более элегантное решение. Так вот сходу без помощи google ничего другого в голову не приходит ...

Посилання на коментар
Поділитися на інших сайтах

тож самое... подать 220в на транс понижающий до 12В например, выпрямить, пересчитать.. все.
Посилання на коментар
Поділитися на інших сайтах

тож самое... подать 220в на транс понижающий до 12В например, выпрямить, пересчитать.. все.

 

Даже не знаю ... А если скажем меандр от какого-то старого UPS ?

Хотелось красиво и универсально, но получается сложно и громоздко. :-)

Операционник более универсально, можно даже частоту посчитать и искажения "нащупать", без дополнительных комплектующих. Хотя в общем детектор 0 - это 3-4 детали ...

Посилання на коментар
Поділитися на інших сайтах

программа сложнее, не везде влезет, не каждый дешевый проц например сможет, а это все увеличивает стоимость, что не очень хорошо.

Я сторонник простоты.

Посилання на коментар
Поділитися на інших сайтах

Похоже затихла немного тема,- либо никто не заморачивается, либо не считает нужным делиться опытом. Попробуем исправить. :-)

Наверное у многих возникают часто обоснованные сомнения вида "какой нафиг C++ в 32к flash, и 8к оперативки" ? А легко, причем с увеличением количества строк кода на плюсах (желательно "разбросанных" по скажем cpp и h файлам), размер скомпилированного модуля начинает увеличиваться нелинейно. Давайте попробуем посмотреть на примерах.

Предположим что у нас есть некий класс

class LED

{

public:

bool GetStat () { rerturn bStat ; }

void SetStat ( bool bS ) { bStat = bS ; }

private:

bool bStat ;

} ;

На первый взгляд кажется необоснованно громоздким, правда ?

А вот и нет. Если просто объявить bStat как скажем глобальную переменную, то скомпилированный код как для случая с глобальной переменной, так и для случая с классом, будет занимать совершенно таки одинаковый объем. Это будет 1 или 2 mov оператора (4 или более байта), причем практически на любом кристалле. Так для кого тогда такая красота нужна ? Для вас, как для того, кто хочет что-либо изменить без превращения вашего кода в большой мусорник. В случае с классом, во первых компилятор "не пропустит" код, который "напрямую" захочет изменять значение переменной класса. Есть конечно условия когда может пропустить (friend или унаследованный класс например), но для этого нужно специально постараться. То есть например test.bStat = false ; не сработает. Не скомпилируеться. Если например вам понадобиться еще и включить/выключить светодиод, помимо установки статуса, то не нужно будет переворачивать вверх дном весь ваш код, а достаточно будет например добавить команду записи в соотв. порт в методе класса и, собсно все. С bool пример наверное несколько неудачный, т.к. этот самый bool, несмотря на всего 2 возможных значения (true и false), в самом коде превратиться в байт (8 бит), а отнюдь не бит. Если память поджимает, то можно сразу объявить uint8_t bStat, и тогда вместо одного, мы имеем целых 8 бит, которые можно использовать, а можно и неиспользовать. Как "взвести" бит ? Очень просто: bStat |= 1 ; Сбросить bStat &= ~1 ; Изменить состояние бита на противоположное: bStat ^= 1 ;

Так же можно взвести 2,4,8,16,32,64,128 бит (radix=10), ну или например 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80 (radix=16). Итого, по финалу имеем 8 бит вместо обного, при совершенно одинаковом объеме памяти. Хорошая практика использовать не 0x80, а скажем LED_ON, который можно предварительно определить путем #define. Скомпилированный код от этого не изменится никак, т.к. еще до самого процесса компиляции, препроцессор пробежится по тексту, и заменит все LED_ON на его значения. Чуть хуже обстоят дела с виртуальными классами, наследованием и прочей классикой плюсов. Если вы попытаетесь использовать все возможности языка, компилятор может таки "не переварить", и тогда часть логики (например в случае с dynamic binding), когда компилятор на этапе компиляции не может определить какая именно функция с сигнатурой (возвращаемый тип, и тип операндов), должна будет вызываться, тогда этот анализ "уползет" в сам исполняемый код, и ваша программа может увеличиться сразу байт на 200. Не всегда оправдано использование std контейнеров, хотя конечно есть порты map, vector, list, queue, ... Здорово увеличивает объем памяти, хотя конечно делает программу брлее универсальной и простой для внесения изменений. У Arduino уже как правило в поставке включен класс String, штука конечно удобная, но попробуйте использовать char * вместо String, и вы сразу заметите как ваша программа "похудеет" (скомпилированный код). Еще очень "прожорливые" sprintf. В "больших" компиляторах, где можно "развернуться", к скомпилированному модулю либо прилинковывается, либо используется внешняя универсальная библиотека, которая занимается разборкой строки форматирования, например вида "%02u:%02u:%02u %s-%s". Для большинства "маленьких кристаллов", включая Arduino Duo, Cortex M7, и прочих "монстриков", gcc озадачится каждым вызовом sprintf индивидуально (без универсальной библиотеки), добавляя изрядный кусочек кода для каждого отличного от остальных sprintf, а не за счет статических строк (формат вывода), как кажется некоторым. Имеет так же смысл "с осторожностью" пользоваться рекурсией, т.к. например 8кБ ОЗУ, сакжем MEGA использует для хранения переменных, кучи и стека. Помимо ваших вызовов процедур, которые "съедают" минимум 4 байта от стека, есть еще и прерывания, которые могут "глотнуть" 64+ байта стека. В какой-то момент, стек пожет просто "наползти" на данные, и это бует очень грустно, т.к. такую ошибку будел достаточно тяжело вылавливать. Если вы не используете глобальные (static) переменные, то все те переменные, которые вы используете в ваших функциях/методах, будут так же размещены в стеке, и "умрут", в точности перед возвратом из функции/метода. Если используется класс, структура, или указатель, то в стеке будет именно указатель, а не "пеленка" переменных класса. Пример:

 

class config

{

public:

uint8_t nByte ;

uint16_t nWord ;

uint32_t nDword ;

uint64_t qWord ;

uint32_t test ( uint64_t ) { ...}

} testc ;

 

если попробовать например записать все это хозяйство скажем в eeprom, то запишется 1 + 2 + 4 + 8 + 2, или 1 + 2 + 4 + 8 + 4 байт. То есть 17 или 19 байт,в зависимости от архитектуры кристалла (16/32 бита адрес), причем неважно сколько десяток или сотен строк кода будет содержать метод test. Это кстати не самый лучший вариант, лучше всего выравнивать по границе 2х, или даже 4х байт, то есть дополнить этот самый класс 1 или 3 байтами (до 20), путем добавления например uint8_t reserved1 или/и uint16_t reserved2 ;

Сразу неочевидно, но в будущем здорово поможет при переходе на более мощный кристалл, где скажем запись во flash может выполнятся в терминах 2 или 4 байт (16 или 32 бит). По этой самой причине рекоммендую избегать "общепринятых" объявлений переменных типа int, unsigned, short, long, и long long. У разных кристаллов (8/16/32 бита архитектуры), и эти самые типы могут, и имеют совершенно разную размерность. У кого-то int = 4 байтам, у кого-то 2.Если у какого-нибудь кристалла (компилятора и инклудов) нет include, в которых определены uintxx_t (не встречал), то тогда лучше скажем typedefом объявить, тогда ваш код можно потом относительно безболезненно перенести на практически любой кристалл.

  • Лайк 2
Посилання на коментар
Поділитися на інших сайтах

  • 2 тижні потому...

Одна из самых главных функций современных микропроцессоров - это отсчитывать время. Имеется

в виду не календарь, а именно временные интервалы (например 20 миллисекунд). Для этого используются

некие внутренние ресурсы, например прерывания, которые происходят с заданной частотой (например

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

может стоять всего одна команда, например counter++. Программа пользователя может анализировать

счетчик, и зная что его значение увеличивается 1000 раз в секунду, выполнять некий анализ и

последующие действия. Очень часто, в программах, которые публикуются на просторах интернета

используется простой вызов - например delay(100). Этот вызов предполагает задержку 0.1 секунду.

вроде бы все просто, и удобно, но ... Выполнение всей вашей программы приостановится на 0.1 секунду,

и в этот период времени, кроме "внешнеинициируемых воздействий" - прерываний, процессор будет

делать ничего. Это уже получается совсем не real time, а если таких задержек несколько, то спрогнозировать

временные интервалы предсталяется достаточно проблематичным. Если программа предназначена для

"real time" управления,- например PWMить моторчик, то добавление одного или более вызова delay

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

после вызова необходимой вами функции, зафиксировать значение counter, а затем проверять и, в случае

если 0.1 секунда не прошла - выполнять другие задачи. Альтернативный вариант - это использование

например RTOS. Достаточно компактная OS, которую в общем можно использовать например на DUO.

Литературы в сети достаточно, можно ознакомиться, но в общем "порог входа" для начинающих тут

достаточно высокий, нужно представлять себе сколько стека нужно выделить каждому потоку, как исользловать

mutexы, ... В общем "сел и душа полетела в рай" так просто не получиться, придется изучать и

экспериментировать.

Ранее, когда минитюризация кристаллов еще "не достигла таких высот", измерители интервалов времени

реализовывались как отдельные модули, а разработчики вынуждены были глубоко изучать ассемблер

конкретного кристалла, с пониманием того, сколько тактов занимает каждая команда.

В общем это и сейчас не лишнее, т.к. позволяет более точно понять какой именно кристалл подходит

для ваших задач. Например MEGA, имея тактовую частоту 8 или 16 mHz, будет выполнять 8 или 16 миллионов тактов

в секунду. Одна команда "mov" - это 2 или 4 такта. "jmp" - 2 такта. Это означает, что

MEGA может выполнить 8 000 000 / 2 = 4 000 000 операций mov в секунду. Однако и тут есть проблема,-

прерывания. 1000 раз в секунду, происходит сохранение регистров в стеке, увеличение счетчика на 1,

а затем восстановление регистров из стека. Предположим что все это "съедает" 80 тактов. Попробуйте

для себя посчитать какая будет "реальная" частота процессора, учитывая дополнительную прогнозируемую

нагрузку.

Имея тольго "голый" счетчик counter, уже можно задумываться о создании "часов", отсчитывающих

секунды, минуты, часы, дни и месяцы. Но и тут ведь "засада": Размерность практически всех счетчиков -

32 бита. Предполагая что этот самый счетчик увеличивается на 1000 каждую секунду, этот самый счетчик

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

насколько часто пользовательская программа анализирует состояние counter, можно будет понять

"перевернулись мы или еще нет". "перевернулись",- это когда новое значение counter будет меньше

чем старое. В этом случае посчитать сколько времени прошло с момента предыдущего чтения значения

counter все еще можно. Чего нельзя узнать,- это сколько раз перевернулись. Может один, а может уже

и больше. Нужно либо делать отдельную обертку на millis (и как можно чаще ее вызывать и анализировать "переворот"), либо брать

64 битную переменную, и написать свой обработчик прерывания. Если вы не ограничены в месте, то

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

время даже при отсутствии питания. На некоторых кристаллах изначально присутствует возможность

подключения батарейки, чтобы значит не пришлось городить дополнительный огород с платами.

Иногда возникает необходимость мерять даже ни милли, а микросекунды. Разницы в общем особой нет

кроме того, что уже можно начинать обращать внимание на тактовую частоту кристалла, чтобы понять

"хватит" его или нет.

Посилання на коментар
Поділитися на інших сайтах

Открываю эту тему для обсуждений, дабы не засорять другие темы.

Обсуждение автоматизации дома, с помощью ARDUINO и подобных устройств на платформе Ардуино.

 

Через 4 дня уже 2 месяца со дня открытия темы.

 

А где результаты?

Посилання на коментар
Поділитися на інших сайтах

Через 4 дня уже 2 месяца со дня открытия темы.

 

А где результаты?

 

dip, а каких собсно результатов вы ожидаете ?

Все вдруг метнутся публиковать свои схемные решения и коды программ ?

Вряд-ли... Все те, кто умеют и могут,- работают себе тихонечко, и не "светяться", чтобы значит конкуренты идею "на лету" не сперли. :-)

Я как Daletу, так и вам (и всем остальным) предложил помощь. Как в схемотехнике, так и при написании программы. Единственное условие - публикую на форуме. Для всех. Скажите что именно вас "мучает". Начните хоть что-то, возникнут вопросы - попробую ответить. Бесплатно, и для всех.

  • Лайк 2
Посилання на коментар
Поділитися на інших сайтах

dip, а каких собсно результатов вы ожидаете ?

Все вдруг метнутся публиковать свои схемные решения и коды программ ?

Вряд-ли... Все те, кто умеют и могут,- работают себе тихонечко, и не "светяться", чтобы значит конкуренты идею "на лету" не сперли. :-)

Я как Daletу, так и вам (и всем остальным) предложил помощь. Как в схемотехнике, так и при написании программы. Единственное условие - публикую на форуме. Для всех. Скажите что именно вас "мучает". Начните хоть что-то, возникнут вопросы - попробую ответить. Бесплатно, и для всех.

 

Ожидаю фото-видео читателей форума готовых установленных модулей Умный дом на ардуино на своих объектах.

Желательно новых и оригинальных.

 

Без никаких публикаций кодов.

Посилання на коментар
Поділитися на інших сайтах

Ожидаю фото-видео читателей форума готовых установленных модулей Умный дом на ардуино на своих объектах.

Желательно новых и оригинальных.

 

Без никаких публикаций кодов.

 

Первый шаг сделан, ТС разработал модуль адаптированный под нужды охранной централи olx.ua/obyavlenie/gsm-signalizatsiya-arduino-nano-konstruktor-arduino-gsm-shild-IDhLf8s.html#13fc49c9bc. Написание кода, дело не простое, и требует значительно большего времени чем железо. Да и думаю, что код разработанный одним человеком под свои задачи с определённым алгоритмом, не устроит другого человека у которого задачи возможно другие. Позвонить по событию, или отослать смску при помощи АТ команд, думаю сможет каждый, а вот более сложные вещи ...

Посилання на коментар
Поділитися на інших сайтах

Ожидаю фото-видео читателей форума готовых установленных модулей Умный дом на ардуино на своих объектах.

Желательно новых и оригинальных.

 

А можно ли считать "модулем, сделанным на Ардуине" модуль, который сделан на ATmege? ;)

 

RS-485 - eBus:

 

IMG_2780%255B1%255D.JPG

Посилання на коментар
Поділитися на інших сайтах

А можно ли считать "модулем, сделанным на Ардуине" модуль, который сделан на ATmege? ;)

 

RS-485 - eBus:

 

Нет. Модуль на ATmegе это народное творчество радиолюбителей. На ардуине - профессионалы.:beer:

 

С таким же успехом я могу представить свою кЕтайскую плату на 16 входов/выходов с управлением удаленно через инет и с планшета/телефона как реализованный проект на ардуине...

 

ЗЫ. Ты, кстати, зря не захотел тогда попробовать включить. Я дома намучался пока разобрался что Wi-Fi модуль работает как точка доступа.

Посилання на коментар
Поділитися на інших сайтах

Нет. Модуль на ATmegе это народное творчество радиолюбителей. На ардуине - профессионалы.:beer:
Так Ардуина на Атмеге же сделана :D

 

С таким же успехом я могу представить свою кЕтайскую плату
Э, нет! Здесь хвастаются собственными модулями, а не кЕтайским ширпотребом :lol:
Посилання на коментар
Поділитися на інших сайтах

А можно ли считать "модулем, сделанным на Ардуине" модуль, который сделан на ATmege? ;)

 

RS-485 - eBus:

 

Шикарно,- даже шелкография присутствует. Сами разводили ?

У меня несколько попроще:

a9b411393cfd.jpg

Посилання на коментар
Поділитися на інших сайтах

Шикарно,- даже шелкография присутствует. Сами разводили ?
Да, сам. Вспомнил молодость :D

У меня несколько попроще:

Главное - функциональность!

 

Добавлено через 1 минуту

А это что?

Вижу, что по форме похоже на корпус для дин-рейки...

 

Добавлено через 4 минуты

PS: А почему дорожки поворачивают под углом в 90гр? Нехорошо это...

  • Лайк 1
Посилання на коментар
Поділитися на інших сайтах

Да, сам. Вспомнил молодость :D

 

Главное - функциональность!

 

Добавлено через 1 минуту

А это что?

Вижу, что по форме похоже на корпус для дин-рейки...

 

Добавлено через 4 минуты

PS: А почему дорожки поворачивают под углом в 90гр? Нехорошо это...

 

Тогда уже имело наверное смысл вместе с кристаллом запаянным заказывать ? Самостоятельно долго, и в общем достаточно затратно.

 

Да, это в корпус на DIN рейку. Одна из 4 плат. :-)

На счет 90 градусов в курсе,- но ВЧ тут нет, расстояния небольшие, а плату после сборки я еще вскрываю хитрым лаком (не цапоном).

Посилання на коментар
Поділитися на інших сайтах

Тогда уже имело наверное смысл вместе с кристаллом запаянным заказывать ? Самостоятельно долго, и в общем достаточно затратно.

Самостоятельно очень даже просто. Главное - хороший паяльник и бинокуляры.

Посилання на коментар
Поділитися на інших сайтах

Шикарно,- даже шелкография присутствует. Сами разводили ?

У меня несколько попроще:

 

А где собственно мега? TQFP отлично паяется руками. И неплохо бы землей все залить :)

Посилання на коментар
Поділитися на інших сайтах

А можно ли считать "модулем, сделанным на Ардуине" модуль, который сделан на ATmege? ;)

 

RS-485 - eBus:

 

IMG_2780%255B1%255D.JPG

 

Можно, не имеет значение на чем.

 

НО,

нужно хоть что-то делать ,

а не только покупать на али готовые платы ардуино за 2$.

Посилання на коментар
Поділитися на інших сайтах

А где собственно мега? TQFP отлично паяется руками. И неплохо бы землей все залить :)

 

Не mega, а cortex. На другой плате.

Да не спорю я на счет рук. Мне почему-то кажется что феном удобнее, хотя можно конечно и паяльником, но дольше и морочливей. Мне не удавалось добиться паяльником той аккуратности, которой я добивался феном. Может руки кривые ... :-(

По поводу доп.затрат на хитрый флюс с припоем, или если "чисто паяльником", то на blue tac какой-то в общем стоит тоже подумать.

Ну и время ясное дело,- самый ценный ресурс.

На счет заливки, именно для этой платы не стоит. Есть нюансы. :-)

 

Добавлено через 8 минут

Можно, не имеет значение на чем.

 

НО,

нужно хоть что-то делать ,

а не только покупать на али готовые платы ардуино за 2$.

 

dip,- вы давно сами платы проектировали и разводили ?

Если есть возможность использовать готовую плату, то тут даже думать не нужно, аж бегом хватать и использовать. :-)

Если у меня есть возможность запихнуть в нужный мне форм-фактор уже готовую плату с кристаллом, то у меня например и близко не возникнет мысли переразводить все по новой.

Посилання на коментар
Поділитися на інших сайтах

Первый шаг сделан, ТС разработал модуль адаптированный под нужды охранной централи olx.ua/obyavlenie/gsm-signalizatsiya-arduino-nano-konstruktor-arduino-gsm-shild-IDhLf8s.html#13fc49c9bc. Написание кода, дело не простое, и требует значительно большего времени чем железо. Да и думаю, что код разработанный одним человеком под свои задачи с определённым алгоритмом, не устроит другого человека у которого задачи возможно другие. Позвонить по событию, или отослать смску при помощи АТ команд, думаю сможет каждый, а вот более сложные вещи ...

 

Красивенько ...

Непонятно правда почему "сэкономили" на реле. Плату побольше, и штук 16 на нее. Туде же можно добавить 8266 чтобы значит не шнурком, а через WEB. И входов не 7, а скажем 32. Или даже 64, внешним шлейфом например.

Когда-то у нас с Diver был долгий спор касательно AJAX, я в общем спикок "хотелок" приводил, и таки реализовал внешними средствами. Гляньте, может возникнут "светлые" идеи.

GSM мени AT команд в AJAX например глючный. Не очень стабильно работает, и этот процесс прогрессирует. Я с GSM модулями на уровне кристаллов и их программирования дела не имел, бывают такие, которые "не через" AT команды ?

Посилання на коментар
Поділитися на інших сайтах

Створіть акаунт або увійдіть у нього для коментування

Ви маєте бути користувачем, щоб залишити коментар

Створити акаунт

Зареєструйтеся для отримання акаунта. Це просто!

Зареєструвати акаунт

Увійти

Вже зареєстровані? Увійдіть тут.

Увійти зараз
×
×
  • Створити...