опять 25 (про адресное изымание данных с DS18B20)
- Войдите на сайт для отправки комментариев
Втр, 13/01/2015 - 15:44
Добрый день!
Вытащил с 3-х датчиков DS18B20 их порядковые номера.
Написал следующий скетч
#include <OneWire.h> #include <DallasTemperature.h> // Data wire is plugged into port 2 on the Arduino #define ONE_WIRE_BUS 2 #define TEMPERATURE_PRECISION 9 // Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs) OneWire oneWire(ONE_WIRE_BUS); // Pass our oneWire reference to Dallas Temperature. DallasTemperature sensors(&oneWire); // arrays to hold device addresses DeviceAddress insideThermometer = {0x28, 0x07, 0x1D, 0x2B, 0x06, 0x00, 0x00, 0x3E}; DeviceAddress outsideThermometer = {0x28, 0xF0, 0xEA, 0x2B, 0x06, 0x00, 0x00, 0x3E}; DeviceAddress airThermometer = {0x28, 0x0F, 0xC2, 0x2A, 0x06, 0x00, 0x00, 0x21}; void setup () { Serial.begin(9600); sensors.begin(); } void loop () { float inT = sensors.getTempC(insideThermometer); float outT = sensors.getTempC(outsideThermometer); float airT = sensors.getTempC(airThermometer); Serial.println (inT); Serial.println (outT); Serial.println (airT); delay(1000); }
В сериал выдает с двух датчиков 85.00, с 3-го -127.00, т.е. полную чушь. Прошу ткнуть носом в ошибку. Спасибо!
с двух датчиков 85.00
Вы их в этот момент мальцем потрогайте , они очень горячие ....
Или Неправильное подключение или же "сглючили" и работают в режиме термостата.
Попробуйте проверить , если все в порядке , попробуйте отключить питание от датчика и срова включить.
с 3-го -127.00
Это либо разрыв в цепи либо неправильно прописан датчик в скрейтче, может номер неверно указан.
с двух датчиков 85.00
Вы их в этот момент мальцем потрогайте , они очень горячие ....
Или Неправильное подключение или же "сглючили" и работают в режиме термостата.
Попробуйте проверить , если все в порядке , попробуйте отключить питание от датчика и срова включить.
с 3-го -127.00
Это либо разрыв в цепи либо неправильно прописан датчик в скрейтче, может номер неверно указан.
проверял, не горячие. Ни как не риагируют на нагрев. Про 3-й скорее всго да, контакт плохой.
Куда цикл ставить?
85 - это начальное значение, при инициализации датчика. Вы опрашиваете датчики подряд, попробуйте вставить паузы между запросами. Ну и опросить не мешает сперва перед чтением - requestTemperatures
-127 - это константа DEVICE_DISCONNECTED, т.е. не подключен датчик (или плохой контакт или в адресе ошибка)
Вместо
sensors.getTempC
попробуйтеsensors.requestTemperaturesByAddress
Блин! Точно! Полтора года эти датчики не трогал и подзабыл уже...
Спасибо! Все заработало.
Еще вариант не прямо обращяться по адресу к датчику , а при запуске определять количество и адреса датчиков.
все что личнее закомментил и оно не выводится на экран и не пишится в порт.
Вопрос еще один, не совсем по теме, как float перегнать в String, не char а именно String.
попробуй тут почитать
http://arduino.ru/forum/programmirovanie/preobrazovanie-iz-float-v-string
попробуй тут почитать
http://arduino.ru/forum/programmirovanie/preobrazovanie-iz-float-v-string
Видел эту тему, там только float в char.
Нашел сайт с описанием конвертации различных типов данных, модераторы может скопипастите в учебник?
http://bigbarrel.ru/%D0%BA%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B0%D1%...
http://bigbarrel.ru/float-to-byte/
Что бы не засарять форум своими бесконечными темами-вопросами буду писать здесь.
Как в отправляемом SMS сообщении через SIM900 в тексте сообщения сделать перенос строки? Сечас строка данных выглядит так:
С использованием кодов ◙ ♪ (#10 #13) SMS сообщение попросту не отправляется.
Господа! Где ошибка? Сообщения приходят через раз... Как повысить надежность и получить 100% отдачу?
Я не вижу int в объявлении в бибилиотеке, но вижу int у тебя.
Я не вижу int в объявлении в бибилиотеке, но вижу int у тебя.
Не влияет на работу SIM900
Народ, ну зачем вам "DallasTemperature.h"? Одной "OnWire.h" более чем достаточно. У нее есть хороший пример работы с DS18B20.
Народ, ну зачем вам "DallasTemperature.h"? Одной "OnWire.h" более чем достаточно. У нее есть хороший пример работы с DS18B20.
Поддерживаю, да еще и 2К памяти сэкономите.
А можно вообще на ассемблере писать. ;)
Народ, ну зачем вам "DallasTemperature.h"? Одной "OnWire.h" более чем достаточно. У нее есть хороший пример работы с DS18B20.
Поддерживаю, да еще и 2К памяти сэкономите.
Исправлю ,если не будет хватать памяти.
На вопрос по стабильность отправки СМС не раскрыт.
Исправлю ,если не будет хватать памяти. На вопрос по стабильность отправки СМС не раскрыт.
1) поднять питание. шилду во время активной работы нужно до 2 ампер.
2) поиграться с delay(), возможно нужно увеличить значения, а может наоборот.
Исправлю ,если не будет хватать памяти. На вопрос по стабильность отправки СМС не раскрыт.
1) поднять питание. шилду во время активной работы нужно до 2 ампер.
2) поиграться с delay(), возможно нужно увеличить значения, а может наоборот.
Спасибо. Питание действительно сейчас не очень (9v 600mA). Могу я на шилд подать 12v (3А)?
https://cloud.mail.ru/public/002583debfa1/IMG_20150115_125527.jpg
Вроде как mic 29302wu 1404 Uвх-26в.
хз, нужно даташит курить. судя по тому, что пишут продавцы на ебее по этому шилду, рекомендуется именно 9v питание, просто шилду нужна бОльшая сила тока.
Because SIM900 peak current more than 2A. This shield must work with a external DC9V power supply.
хз, нужно даташит курить. судя по тому, что пишут продавцы на ебее по этому шилду, рекомендуется именно 9v питание, просто шилду нужна бОльшая сила тока.
Because SIM900 peak current more than 2A. This shield must work with a external DC9V power supply.
нету промышленных блоков питания на дин рейку 9v 2а....
хз, нужно даташит курить. судя по тому, что пишут продавцы на ебее по этому шилду, рекомендуется именно 9v питание, просто шилду нужна бОльшая сила тока.
Because SIM900 peak current more than 2A. This shield must work with a external DC9V power supply.
нету промышленных блоков питания на дин рейку 9v 2а....
Так возьмите подходящий по параметрам и размерам, и в корпус его под DIN рейку. Или глянуть 12В, наверняка можно снизить до 9В.
Я сам МК и отдельно шилд думал с одного БП параллельно запитать.
А чем это противоречит 9в блоку питания?
Дак 12в уже куплен.
Вскройте и посмотрите что там. Либо реально регулировать, либо доп.понижайку прилепить.
Вскройте и посмотрите что там. Либо реально регулировать, либо доп.понижайку прилепить.
Видимо так и придется, а так не хотелось. Блок питания взял вот ЭТОТ. Диапазон регулирования с 11,4в начинается, придется допиливать.
Вскройте и посмотрите что там. Либо реально регулировать, либо доп.понижайку прилепить.
Видимо так и придется, а так не хотелось. Блок питания взял вот ЭТОТ. Диапазон регулирования с 11,4в начинается, придется допиливать.
Посмотрите цепь регулировки, я подозреваю, что там подстроечник в цепи делителя.
Еще вопрос назрел. Где то мне попадался кусок скетча с описанием програмного старта модуля, сейчас не могу найти. Может кто подкинет?
Еще вопрос назрел. Где то мне попадался кусок скетча с описанием програмного старта модуля, сейчас не могу найти. Может кто подкинет?
Модуля которого?
Да
Up!
Добрый вечер.
И снова я.
Стал меня не устраивать принцип работы (примеры из статей) чтения SMS сообщений, а именно вот этот код:
Данная конструкция не позволяет записывать текст смс сообщения и работать с ним.
Прошу дать пример чтения и записи теста тела сообщения в переменную String.
Спаибо!
Подумал. Возможно проблема в кодировке SMS? Просто заметил, что когда приходит SMS, в Serial выводится отчет, и в том месте где должен был быть текст, у меня 1 пустой символ, а потом ОК.
Какой должна быть кодировка и как правильно задать код AT+CNMI ?
У меня сейчас подготовка к работе SIM900 выглядит так:
Прошу коментариев.
Люди добрые, не проходите мимо...
Оу, выходные провел на природе, силы притекли, сознание прояснилось - сам разобрался.