Страница 2 из 23
Re: Подключение железа к AMS
Добавлено: Ср июн 29, 2016 3:39 pm
ученик
serghei писал(а):Продолжаем подключать оборудование к сенсору для измерения расхода воды. Использую датчик YF-S201.
Промежуточный результат на АМС на картинке.
.
А саму схему сенсора расхода воды как можно увидеть ?
Re: Подключение железа к AMS
Добавлено: Ср июн 29, 2016 6:49 pm
serghei
В смысле как подключить датчик к сенсору? Я использую NANO 3 и датчик на фото. У него 3 вывода . Черный на корпус (0),
красный на +5 вольт , желтый на D3 (в скетче написано). Внутри счетчика стоит датчик холла и всё. Не проверял работу на 3.3
вольта. Судя по паспорту работает до 24 вольт.
Пара замечаний. При хорошем напоре воды гремит как паровоз))). Скорости считать хватает. В интернете гуляет стандартный скетч под него. ( По запросу " расход воды на ардуино" ) Его не использовал , потому что меня интересует количество литров,
а не расход литров в минуту. Хотя памяти остается и для зтого. Сейчас вырезал из скетча измерение температуры и пробую
прикрутить второй счетчик воды. Пока не могу написать процедуру передачи данных от сенсора к АМС так,чтобы передача литров была только при изменении на 1 литр ,ну и по запросу базы. Изучаю протокол для подключения второго и третьего сенсора.
Re: Подключение железа к AMS
Добавлено: Ср июн 29, 2016 9:03 pm
serghei
Да, еще одно замечание. Залил скетч в другую NANO 3 и заметил,что не правильно передается имя сенсора. Вместо названия в сериале русские Я и на веб странице ??????????? . Вылечилось прописыванием нулей в EEPROM из стандартных примеров.
Re: Подключение железа к AMS
Добавлено: Чт июн 30, 2016 4:38 am
ученик
Меня интересует сенсор, каким образом АМС контактирует с сенсором?
какой скетч у сенсора?
Re: Подключение железа к AMS
Добавлено: Чт июн 30, 2016 8:03 am
serghei
По терменологии, сложившейся на форуме под сенсором понимается некое устройство ,передающее данные на АМС_015 с помощью радио модулей NRF24. По дефакту используется ардуино про мини + nrf24. Протокол и принцип работы расписаны на официальном сайте АМС
http://hi-lab.ru/arduino-mega-server/do ... less/nrf24 . Я использую ардуино nano3. скачиваем правильный скетч для сенсора и видим вкладку yfs201. Каждая строчка подробно прокомментирована.
Нас интересует переменная vol1 , это значение литров. В остальных вкладках написана процедура передачи этого числа на АМС.
На стороне МегаСервера происходит прием числа литров и вывод на полноэкранное демо. Для этого на карту SD надо добавить два файла FULL5.JS и FULL5.HTM и внести изменения в файл SCRIPT.JS. Там же в файлах FULL4 выведен датчик температуры с сенсора. Если не хотите использовать связь по радио, можно вкладку yfs201 вставить непосредственно в АМС. Но такой вариант я не проверял.Надо уточнить сколько прерываний и на каких выводах у МЕГИ .
Код: Выделить всё
/*
YF-S201 Hall Effect Water Flow Meter / Sensor
http://www.hobbytronics.co.uk/yf-s201-water-flow-meter
Read Water Flow Meter and output reading in litres/hour
Тупо регистрируем замыкания контактов
*/
#ifdef YFS201_FEATURE
int pin = 3; // 3-й цифровой пин, первое прерывание
long counter = 0; // счётчик импульсов
void yfs201Init()
{
// Настраиваем последовательный интерфейс, для вывода информации
Serial.begin(9600);
//Настраиваем цифровой вход
pinMode(pin, INPUT); // Сюда будем подключать подтягивающий резюк
digitalWrite(pin, HIGH); // "Подключаем" подтягивающий резистор (реализован внутри ATmega)
attachInterrupt(1, count, FALLING); // задаём обработчик прерывания 1 (3-й пин).
// прерывание будет при изменении уровня с HIGHT на LOW
// вызывать функицю count
}
void yfs201Works ()
{
// основной рабочий цикл
vol1 = (counter / 430); //430 оборотов на литр
/*
#ifdef YFS201_FEATURE
if (vol1NeedSend) {
sendPacket(DTA_VOL_1);
}
#endif
*/
checkTemp();
#ifdef SERIAL_PRINT
Serial.print(F("Volume: "));// вывод литров . Надо дописать условие - выволить при изменении на 1 литр
Serial.println(vol1);
Serial.print(F("V: ")); // для проверки работы счетчика
Serial.println(counter);
#endif
}
void count(){
// вызывается прерыванием 1 от 3-го цифрового входа
counter++; // ясен перец, увеличиваем переменную. Утекло ещё 2 грамма
}
#endif
На стороне АМС надо дописать код для литров по образу и подобию температуры
Код: Выделить всё
#ifdef NRF24_FEATURE
// commands
byte const GET_NAME = 1;
byte const DTA_NAME = 2;
byte const SET_NAME = 3;
byte const GET_ADDR = 4;
byte const DTA_ADDR = 5;
byte const SET_ADDR = 6;
byte const GET_FREE_MEM = 7;
byte const DTA_FREE_MEM = 8;
byte const GET_BATTERY = 9;
byte const DTA_BATTERY = 10;
byte const GET_SELF_TEMP = 11;
byte const DTA_SELF_TEMP = 12;
byte const GET_TEMP_1 = 13;
byte const DTA_TEMP_1 = 14;
//byte const GET_TEMP_2 = 17;
// byte const DTA_TEMP_2 = 18;
byte const GET_HEALTH = 15;
byte const DTA_HEALTH = 16;
byte const GET_VOL_1 = 19;
byte const DTA_VOL_1 = 20;
byte const GET_ID = 100;
byte const DTA_ID = 101;
byte const SET_ID = 102;
byte const GEN_ID = 103;
byte const BAK_ECHO = 200;
// sender structure
typedef struct Sender {
boolean active = false;
boolean required = true;
boolean success = false;
byte type = 0;
byte command = 0;
byte number = 0;
byte tryouts = 0;
int errors = 0;
String result = "";
unsigned long timer = millis();
} sender;
sender sendEcho,
sendGetName, sendGetId, sendGetAddress,
sendGetFreeMem, sendGetBattery, sendGetSelfTemp,
sendGetHealth,sendGetTemp1,sendGetVol1;// передача объема воды
// sendGetTemp2;
Код не доделан ,но все работает на АМС_015 для Дуи. На МЕГЕ не проверял,но думаю все аналогично будет
Re: Подключение железа к AMS
Добавлено: Чт июл 14, 2016 1:01 am
Fav0rit
Убил сегодня уйму времени, безуспешно пытаясь подключить DS18B20 к Webmos D1 mini с AMS на борту. Не видела она этот сенсор и все тут, а разгадка была в том, что маркировка пинов в IDE и на плате различается, т.е. порт D2 соответствует GPIO 4 и.т.п.
Ясность внесла эта картинка:
https://raw.githubusercontent.com/nodem ... PINMAP.png
Может где-то эта информация уже размещена, но на глаза мне не попадалась...
Датчик был подключен к порту D2, как только прописал ONE_WIRE_BUS 4, все сразу нашлось и заработало.
Re: Подключение железа к AMS
Добавлено: Чт июл 14, 2016 6:45 am
serghei
Я пробовал тот-же вариант и заметил ,что если надо активировать какой нибудь дополнительный протокол (например I2C) , происходит конфликт выводов и далласы надо включать на других пинах с заменой пина в скетче
Re: Подключение железа к AMS
Добавлено: Пт июл 15, 2016 10:19 am
nick7zmail
История одной самоделки))
На самом деле получилось не сильно аккуратно, но работает вполне неплохо))
Вот такой конечный вид:

- DSC_0019.JPG (199.18 КБ) 11972 просмотра
Хронология создания под спойлером...думаю описывать здесь что-то - излишне))Всё на фото

- Короб
- DSC_0002.JPG (207.57 КБ) 11972 просмотра

- Примерка
- DSC_0005.JPG (189.09 КБ) 11972 просмотра

- DSC_0006.JPG (215.64 КБ) 11972 просмотра

- DSC_0007.JPG (167.95 КБ) 11972 просмотра

- Вид сверху
- DSC_0008.JPG (218.48 КБ) 11972 просмотра

- Управляющий разъем витой пары
- DSC_0009.JPG (140.09 КБ) 11972 просмотра
Единственный коммент - нужно выдерживать расстояние до пайки на плате с реле...там как никак 220v, если замкнет - не есть хорошо. Для этой цели приспособил куски корпуса шариковой ручки)) благо на работе много пустых валяется))) не знаю на кой они там, но помогли)).
Управляется по витой паре...т.к. у платы реле всего 6 контактов - остаётся пару свободных проводов. Один использовал под DHT-22, второй пока свободный. Планировал использовать под физические выключатели (на аналоговый вход), но пока не подключал.
Скетч на подключение платы немного косячный... Заабыл выходы в OUTPUT переключить...а без этого напряжения не хватает на перещелкивание реле. В самом AMS прикрутил вот такой интерфейс (по аналогии с кнопками noolite):

- Интерфейс
- 1223.jpg (76.04 КБ) 11972 просмотра
PS: Пленка, как выяснилось, очень херово клеется к фанере, и по-моему смотрится не очень...скорее всего буду отдирать, шкурить, шпатлевать и красить...
PPS: В общем как то так...сильно не судите))...вдруг кому сама идея пригодится...а сделать можно и по-аккуратнее).
Re: Подключение железа к AMS
Добавлено: Пт июл 15, 2016 6:40 pm
Alex
PPS: В общем как то так...сильно не судите))...вдруг кому сама идея пригодится...а сделать можно и по-аккуратнее).
Мне нравится подход — взял и сделал. Молодец! Особенно нравится, что взял не что-нибудь, а АМС

Re: Подключение железа к AMS
Добавлено: Вс июл 17, 2016 10:41 am
relict
А меня не похвалил. Взял АМС убрал, всё что лишнее и мне не нужное и ... получился FSBowser из примеров.