Система счетчиков ЖКХ или как сделать счетчики услуг за цену бургера.Часть 0.Идея и размышления

Не для никого не секрет что нас обманывают.Нет честно.Везде.Но мы не будем так глубоко копать.Остановимся только на счетчике.По закону счетчик в дом устанавливает застройщик.Цена самого простого счетчика начинается от 670 рублей.Для застройщика это цена будет около 450-500 рублей.Данный счетчик это всего лишь измеритель с двигателем и циферками.При этом мы живем в веке , когда даже пенсионеры и дети пользуются компьютером и соц сетям.Компьютеризация достигла своего часа.Суть в том что такие вещи как счетчики еще видимо не осознали это время или осознали ,но за космические деньги.Прозрение стоит дорого.По современным нормам только сейчас с заделом на будущее ставят счетчики с двумя проводками для автоматического учета электричества.Но реалии говорят обратное.Ничего не меняется.Система доверяет людям сбор данных и подсчет их.Врать и привирать скорее всего люди не будут.На самом деле почти и не врут.Но это мы уходит от темы.То есть реально вам удобно лазить и проверят водосчетчики.Вот вы трудяги.Меня лично давно задолбало бы.

Наша идея состоит в том чтобы создать полностью открытую систему счетчиков для ЖКХ  и выйти с ней на регистрацию.А также описать весь этот проект.Давайте сделаем мир открытым и удобным!

Скидки в магазине своими руками и по цене обеда

Взялась у начальника Сергея идея построить некий аналог системы проверки карт в магазине.В основном наш магазин продает карты minafe classic для 13.56 Мгц, применяемые в системах СКУД и прочих, где нужен пластиковый «ключ».В общем, взяли мы arduino uno и rfid модуль, и понеслось.Устройство для магазина получилось спустя час.Правда, здесь было много подводных камней.Первый из них — это то, что вариантов модулей уйма.Модуль, реализуемый у нас, имеет данную распиновку:
Снимокаав

С этим мы более менее разобрались.Но тут нас ждала еще одна засада.Библиотеки.Гугл нашел нам 2 (два) варианта библиотек с github.По функционалу они были идентичны, кроме документации.Так что для любителей попробовать предлагаю вот эту крутую библиотеку https://github.com/miguelbalboa/rfid .
С аппаратной частью было все гладко, как и с библиотеками.Потом пришел код.Нам нужно было выводить uid карты, изображенный на ней в десятичном формате.Данная операция необходима для программы на компьютере.Но о ней позже.Код примитивен до жути.В образцах библиотеки есть прошивка dumpinfo.Можно немного перевести ее.Но это скучно и долго.Самое основное, что надо вынести из этого то, что для вывода цифрами необходимо обозначить в коде вывод в десятках строкой

unsigned long uidDec, uidDecTemp;

и прописать вывод их

Serial.println(uidDec);

Сам код выглядит вот так:

#include
#include
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);
unsigned long uidDec, uidDecTemp;

void setup() {
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();
}
void loop() {
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}
uidDec = 0;
for (byte i = 0; i < mfrc522.uid.size; i++)
{
uidDecTemp = mfrc522.uid.uidByte[i];
uidDec = uidDec*256+uidDecTemp;
}
Serial.println(«»);
Serial.println(uidDec);
}

Думаю с его пониманием проблем не возникнет.Выглядит устройство вот так:

LnFcDcesyaY

Устройство перенесенное на arduino nano и упакованное в губку для обуви.Внимание.По пинам подлючения она не отличается от uno.

vAPWL3KSTtQ

Но вернемся к программе.Для удобства я написал небольшую программу на с++ для сравнения номеров карт с их базой.Данная функция сделана с прицелом на расширение системы и превращении ее в скидочную.Но пока это только идея.Код самой программы я могу продать вам за символические деньги.Если же кто-то собрался сам, то могу подсказать.Основные библиотеки — это работа с com портом, заранее открытом с помощью любой программы на компьютере, и сравнении по строчно.Дерзайте.Цена на программку 1000 рублей.Высылаю сразу и исходники.Для связи со мной заходите в раздел контакты и выбирайте удобный вам.
Ссылка на наш магазин electromicro.ru
Отдельное спасибо Сергею Иванову за предоставление комплектующих.

Управление светодиодной лентой с помощью arduino или как сделать квадрокоптер ночным охотником

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

Бродский.Вилен был прав

В пятницу вечером шел я по переходу метро Таганская в толпе народа и тут почти у захода с толпой на эскалатор раздается звонок.Вспомнил.Я же техподдержка компании electromicro.ru.Клиента звали Юрий и разговаривал он доброжелательно и приятно.Спросил вопрос о прошивке arduino pro micro.Да китайцы и такое сделали.Чудо таковое построено по типу arduino leonardo только очень маленького.Не мог Юрий адекватно поморгать светодиодом.Конечно я немного указал на мануалы и предложил встретиться в субботу в офисе на Пролетарке.Юрий оказавшись с виду настроящим гиком таким и являлся.Ему приспичило поморгать светодиодной лентой для подсветки своего мега крутого квадрокоптера.Для этого он и купил ту самую платку.Юрий оказывается разобрался с проблемой и почти сразу с порога предложил собрать устройство.Я назначив небольшую цену принялся за работу.Сразу скажу задание было веселым потому-что лента была мощной а места было мало.Поэтому я недолго думая взял troika модуль силовой ключ у магазина amperka.ru и принялся за работу.
Для начала надо было разобраться с распиновкой этого чуда китайской мысли.Любовь к Китаю и гугление привели меня к тому что на данной плате за это отвечают пины 3,5,6,9,10

523a1765757b7f5c6e8b4567

Проблем с пайкой колодки на плату не возникает.Китай сейчас делает качество ,но правда без толковых бумажек и эстетического оргазма -)
И все же.Для управления всем этим балаганом из светодиодов и микроконтроллера нужно было что-то с мышцами.Поставить реле или l293n не позволяли ограничения по весу.И тогда я вспомнил про транзисторы и ШИМ сигналы.Первого у меня попросту не нашлось под рукой,да и делать почти на коленке в корпусе to-220 не хотелось.Да и сроки сроки.Таким образом я принялся за работу.Купив в Амперке два модуля http://amperka.ru/product/troyka-mosfet .Модули построены на mosfet транзисторе irlr8113 ,который известен своей маленькой ценой и качеством.Если кому будет интересно вот его мануальчик http://files.amperka.ru/datasheets/irlr8113.pdf .А если вкратце то основные характеристики
Максимальное напряжение сток-исток: 30 В

Максимальный ток сток-исток: 12 А (при напряжении на затворе 5 В)
Сопротивление сток-исток при открытом затворе (RDSon): 5,8 мОм
Габариты: 25,4×25,4

Модуль от Амперки это тот же ключ с обвязкой и светодиодом.Удобно и в smd.Подключается он идущим в комплекте проводом.По пинам модуля:
Питание (Vсс) — красный провод.Питание схемы коммутации.
Земля (GND) — чёрный провод.Минус или земля.
Сигнальный (S) — жёлтый провод.Провод управления
На сигнал можно подавать как 5v от arduino так и 3.3v от raspberry pi.Если на контактах управления логический минус или отсутствие напряжение транзистор закрыт.При логической единицы а следовательно сигнале транзистор открывается.
Характеристики модуля

Максимальное напряжение сток-исток 30 В
Максимальный ток сток-исток 12 А (при напряжении на затворе 5 В)
Сопротивление сток-исток при открытом затворе (RDSon) 5,8 мОм

И все же я забыл пояснить зачем нам ШИМ сигнал и тем более выводы.Если далеко не копать то ШИМ сигнал это когда вы попадите сигнал на выводы и резко отключите.Этот процесс и называется Широтно-Импульсной Модуляцией.Конечно это делается гораздо быстрее чем вы руками переключателем.Но именно с помощью очень быстрого выключения и включения получается ШИМ.В основном данный сигнал используется для изменения яркости лампы или светодиода или управления вращения электромотора.Транзистор в отличии от реле позволяет реализовать ШИМ за счет своего быстродействия.Но тут транзистор может подобное только с постоянным током.Поэтому облом -(
В прошивке мы будем работать с двумя основными показателями:
1.коэффициентом заполнения ШИМ от 0 до 255
2.Задержке мигания в мс

Основная прошивка выглядит так:

int led = 9; // Светодиодная лента управляется 9-й ножкой
int brightness = 0; // Яркость ленты
int fadeAmount = 25; // Шаг регулировки яркости
int led1 = 6; // Светодиодная лента управляется 6-й ножкой
int brightness1 = 0; // Яркость ленты
int fadeAmount1 = 25; // Шаг регулировки яркости
void setup()
{
// настраиваем 9-й пин ножку на выход:
pinMode(led, OUTPUT);
// настраиваем 6-й пин ножку на выход:
pinMode(led1, OUTPUT);
}

void loop()
{
// Устанавливаем текущую яркость ленты на 9-й ножке:
analogWrite(led, brightness);
// Устанавливаем текущую яркость ленты на 6-й ножке:
analogWrite(led1, brightness1);
// меняем значение яркости на шаг регулировки.
// Яркость изменится на следующей итерации цикла loop()
brightness = brightness + fadeAmount;
brightness1 = brightness1 + fadeAmount1;
// если достигли порогового значения,
// меняем направление регулировки.
if (brightness == 0 || brightness == 255) {
fadeAmount = -fadeAmount ;
}
{
// ждём 50 мс
delay(50);
}
if (brightness1 == 0 || brightness1 == 255) {
fadeAmount1 = -fadeAmount1 ;
}
// ждём 50 мс
delay(50);
}

Играйтесь с настройкой модуля.

Подключение всей системы занимает пару минут.Подсоединяем к пинам 6 и 9 arduino пины с буквой s что значит сигнал на модуле.Минусы соответственно к gnd а провода питания от модуля с буквой v подключаете к 5 v.Плату pro micro с пином vss подключаете тоже к 5 v.Как-то так.Вообщем пользуйтесь на здоровье.В следующей статье расскажу как перенес все это на одну плату своими руками.