2a420 Опубликовано 1 апреля, 2018 Автор Поделиться Опубликовано 1 апреля, 2018 что то все завяло(((((( -1 Ссылка на комментарий Поделиться на другие сайты Поделиться
mazzi Опубликовано 2 апреля, 2018 Поделиться Опубликовано 2 апреля, 2018 К каждому датчику провода должны идти в виде свитой пары. Это так? Если не поможет, попробуй подключить по трёх проводной схеме закоротив резистор 100 Ом. -1 Пока ты жив, надежда есть. Ссылка на комментарий Поделиться на другие сайты Поделиться
Реле, вентиляторы, корпуса, разъемы, а так же любые электронные компоненты в нашем каталоге! Бесплатная доставка + 15% кэшбэк + скидки!Перейти на сайт ТМ Электроникс Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
2a420 Опубликовано 2 апреля, 2018 Автор Поделиться Опубликовано 2 апреля, 2018 2 часа назад, mazzi сказал: К каждому датчику провода должны идти в виде свитой пары. Это так? Если не поможет, попробуй подключить по трёх проводной схеме закоротив резистор 100 Ом. да к датчикам по витой паре что с чем коротить то. -1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
mazzi Опубликовано 2 апреля, 2018 Поделиться Опубликовано 2 апреля, 2018 Закоротить резистор 100 Ом. Или вместо резистора запаять перемычку. -1 Пока ты жив, надежда есть. Ссылка на комментарий Поделиться на другие сайты Поделиться
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке. Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
mazzi Опубликовано 2 апреля, 2018 Поделиться Опубликовано 2 апреля, 2018 К каждому датчику провода должны идти отдельным свитым жгутом. Это так? -1 Пока ты жив, надежда есть. Ссылка на комментарий Поделиться на другие сайты Поделиться
Литиевые батарейки и аккумуляторы от мирового лидера EVE в КомпэлКомпания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
2a420 Опубликовано 2 апреля, 2018 Автор Поделиться Опубликовано 2 апреля, 2018 да думаю что так а что не правильно? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
mazzi Опубликовано 3 апреля, 2018 Поделиться Опубликовано 3 апреля, 2018 Нам нужно добиться, что бы датчики температуры работали. Попробуйте подключить датчики прямо к плате без длинных проводов. И покажите что показывает скетч при обмене с терминалом. -1 Пока ты жив, надежда есть. Ссылка на комментарий Поделиться на другие сайты Поделиться
2a420 Опубликовано 3 апреля, 2018 Автор Поделиться Опубликовано 3 апреля, 2018 я же уже подключал датчики к плате с скетчем из примеров провода при этом были сантиметров по 10 и в мониторе были текущие показания с датчиков. -1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Yanshun Опубликовано 3 апреля, 2018 Поделиться Опубликовано 3 апреля, 2018 А тут все еще интересно, жизнь кипит Может легче будет в режиме Голоса или скайпа, быстрее решиться вопрос. 0 Корпорация Mars Ссылка на комментарий Поделиться на другие сайты Поделиться
2a420 Опубликовано 3 апреля, 2018 Автор Поделиться Опубликовано 3 апреля, 2018 Может.но я не использую этот способ.Здесь то почему нельзя?Жизнь хоть какая то шевелится))) 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
mazzi Опубликовано 3 апреля, 2018 Поделиться Опубликовано 3 апреля, 2018 Получается, что с короткими проводами работает, а с длинными нет? Я правильно понял? 0 Пока ты жив, надежда есть. Ссылка на комментарий Поделиться на другие сайты Поделиться
2a420 Опубликовано 3 апреля, 2018 Автор Поделиться Опубликовано 3 апреля, 2018 (изменено) провода те же. скетчи разные. Изменено 3 апреля, 2018 пользователем 2a420 -1 Ссылка на комментарий Поделиться на другие сайты Поделиться
mazzi Опубликовано 4 апреля, 2018 Поделиться Опубликовано 4 апреля, 2018 Я достал такую же ардуино, попробую у себя, потом отпишусь. 0 Пока ты жив, надежда есть. Ссылка на комментарий Поделиться на другие сайты Поделиться
Геннадий Опубликовано 4 апреля, 2018 Поделиться Опубликовано 4 апреля, 2018 328-я имеет фьюз CKDIV8, запрограммированный производителем. Проверьте, возможно из-за него тайминги "ушли". 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
mazzi Опубликовано 4 апреля, 2018 Поделиться Опубликовано 4 апреля, 2018 Я собрал у себя , всё заработало. Попробовал с паразитным питанием и с нормальным. Только температуру считает в 10 раз больше, там опечатка, вместо (float)raw / 16.0; нужно набрать (float)raw / 160.0; После исправления меряет чётко. 0 Пока ты жив, надежда есть. Ссылка на комментарий Поделиться на другие сайты Поделиться
2a420 Опубликовано 4 апреля, 2018 Автор Поделиться Опубликовано 4 апреля, 2018 так может корректный скетч дадите я тоже попробую? -1 Ссылка на комментарий Поделиться на другие сайты Поделиться
mazzi Опубликовано 5 апреля, 2018 Поделиться Опубликовано 5 апреля, 2018 #include <MsTimer2.h> #include <OneWire.h> //#define POWER_MODE 1 // режим питания, 0 - внешнее, 1 - паразитное OneWire sensDs1 (2); // датчик подключен к выводу 2 OneWire sensDs2 (3); // датчик подключен к выводу 3 OneWire sensDs3 (4); // датчик подключен к выводу 4 byte bufData1[12]; // буфер данных byte adr1[8]; float temperature1; // измеренная byte bufData2[12]; // буфер данных byte adr2[8]; float temperature2; // измеренная byte bufData3[12]; // буфер данных byte adr3[8]; float temperature3; // измеренная float tOpen=30.0, tClose=20.0; byte nTask; // номер задачи byte door1, door2, door3; // 0 - unknown, 1 - open, 2 - close byte Pump, oldPump; int16_t debounce; int16_t raw; byte present = 0, i; // -------------------------------------------------------------------- // -------------------------------------------------------------------- void timerInterrupt() { if(debounce) {debounce--; digitalWrite(12,HIGH); } else digitalWrite(12,LOW); Pump=digitalRead(11); if(oldPump!=Pump) { oldPump=Pump; debounce=1000; } } // -------------------------------------------------------------------- void getDigits() { unsigned int a1,a2; a1=analogRead(2); a2=analogRead(3); if(a1>500 && a2<100) door1=1; else if(a1<100 && a2>500) door1=2; else door1=0; a1=analogRead(4); a2=analogRead(5); if(a1>500 && a2<100) door2=1; else if(a1<100 && a2>500) door2=2; else door2=0; a1=analogRead(6); a2=analogRead(7); if(a1>500 && a2<100) door3=1; else if(a1<100 && a2>500) door3=2; else door3=0; } // -------------------------------------------------------------------- void handlerDoors() { if (door1!=2 && temperature1<tClose) { digitalWrite( 5, LOW); digitalWrite( 6, HIGH);} else if(door1!=1 && temperature1>tOpen) { digitalWrite( 5, HIGH); digitalWrite( 6, LOW);} if (door2!=2 && temperature2<tClose) { digitalWrite( 7, LOW); digitalWrite( 8, HIGH);} else if(door2!=1 && temperature2>tOpen) { digitalWrite( 7, HIGH); digitalWrite( 8, LOW);} if (door3!=2 && temperature3<tClose) { digitalWrite( 9, LOW); digitalWrite(10, HIGH);} else if(door3!=1 && temperature3>tOpen) { digitalWrite( 9, HIGH); digitalWrite(10, LOW);} } // -------------------------------------------------------------------- void taskHandler(byte task) { switch(task) { case 0: if ( !sensDs1.search(adr1)) { sensDs1.reset_search(); delay(250); } sensDs1.reset(); sensDs1.select(adr1); sensDs1.write(0x44, 1); // start conversion, with parasite power on at the end delay(1000); // maybe 750ms is enough, maybe not present = sensDs1.reset(); sensDs1.select(adr1); sensDs1.write(0xBE); // Read Scratchpad for ( i = 0; i < 9; i++) { // we need 9 bytes bufData1[i] = sensDs1.read(); } raw = (bufData1[1] << 8) | bufData1[0]; raw = raw << 3; // 9 bit resolution default if (bufData1[7] == 0x10) { // "count remain" gives full 12 bit resolution raw = (raw & 0xFFF0) + 12 - bufData1[6]; } temperature1 = (float)raw / 160.0; Serial.print(" Temperature1= "); Serial.print(temperature1); Serial.print(" Celsius, \n"); break; case 1: if ( !sensDs2.search(adr2)) { sensDs2.reset_search(); delay(250); } sensDs2.reset(); sensDs2.select(adr2); sensDs2.write(0x44, 1); // start conversion, with parasite power on at the end delay(1000); // maybe 750ms is enough, maybe not present = sensDs2.reset(); sensDs2.select(adr2); sensDs2.write(0xBE); // Read Scratchpad for ( i = 0; i < 9; i++) { // we need 9 bytes bufData2[i] = sensDs2.read(); } raw = (bufData2[1] << 8) | bufData2[0]; raw = raw << 3; // 9 bit resolution default if (bufData2[7] == 0x10) { // "count remain" gives full 12 bit resolution raw = (raw & 0xFFF0) + 12 - bufData2[6]; } temperature2 = (float)raw / 160.0; Serial.print(" Temperature2= "); Serial.print(temperature2); Serial.print(" Celsius, \n"); break; case 2: if ( !sensDs3.search(adr3)) { sensDs3.reset_search(); delay(250); } sensDs3.reset(); sensDs3.select(adr3); sensDs3.write(0x44, 1); // start conversion, with parasite power on at the end delay(1000); // maybe 750ms is enough, maybe not present = sensDs3.reset(); sensDs3.select(adr3); sensDs3.write(0xBE); // Read Scratchpad for ( i = 0; i < 9; i++) { // we need 9 bytes bufData3[i] = sensDs3.read(); } raw = (bufData3[1] << 8) | bufData3[0]; raw = raw << 3; // 9 bit resolution default if (bufData3[7] == 0x10) { // "count remain" gives full 12 bit resolution raw = (raw & 0xFFF0) + 12 - bufData3[6]; } temperature3 = (float)raw / 160.0; Serial.print(" Temperature3= "); Serial.print(temperature3); Serial.print(" Celsius, \n"); break; } } void setup() { nTask=0; pinMode( 5, OUTPUT); digitalWrite( 5, LOW); pinMode( 6, OUTPUT); digitalWrite( 6, LOW); pinMode( 7, OUTPUT); digitalWrite( 7, LOW); pinMode( 8, OUTPUT); digitalWrite( 8, LOW); pinMode( 9, OUTPUT); digitalWrite( 9, LOW); pinMode(10, OUTPUT); digitalWrite(10, LOW); pinMode(12, OUTPUT); digitalWrite(12, LOW); // насос pinMode(11, INPUT); digitalWrite(11, HIGH); // сигнал от насоса Pump=digitalRead(11); oldPump=Pump; debounce=0; MsTimer2::set(2, timerInterrupt); // задаем период прерывания по таймеру 2 мс MsTimer2::start(); // разрешаем прерывание по таймеру Serial.begin(9600); // инициализируем порт, скорость 9600 } void loop() { taskHandler(nTask++); if(nTask>2) { nTask=0; getDigits(); handlerDoors(); } } Пожалуйста. У меня нули показывает, только когда датчик отключаю. 0 Пока ты жив, надежда есть. Ссылка на комментарий Поделиться на другие сайты Поделиться
dkg10 Опубликовано 6 апреля, 2018 Поделиться Опубликовано 6 апреля, 2018 А я бы с измерением температуры поступал бы как здесь И меньше бы памяти съедалось у Ардуины на библиотеки onewire 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
mazzi Опубликовано 6 апреля, 2018 Поделиться Опубликовано 6 апреля, 2018 Какой смысл экономить память если задача и так маленькая? 0 Пока ты жив, надежда есть. Ссылка на комментарий Поделиться на другие сайты Поделиться
2a420 Опубликовано 9 апреля, 2018 Автор Поделиться Опубликовано 9 апреля, 2018 (изменено) залил результат такой : до этого стоял скетч проверочный на экранчике показывало температуру с датчика скомпилировал без ошибок залил тоже ошибок не показало экран светится в верхней строке черные прямоугольники. Изменено 9 апреля, 2018 пользователем 2a420 ошибка -1 Ссылка на комментарий Поделиться на другие сайты Поделиться
serega374 Опубликовано 9 апреля, 2018 Поделиться Опубликовано 9 апреля, 2018 Контраст может покрутить. Либо данные не приходят. Мод с подключением напутано или обрыв где 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
2a420 Опубликовано 10 апреля, 2018 Автор Поделиться Опубликовано 10 апреля, 2018 так ведь другой скетч работает -2 Ссылка на комментарий Поделиться на другие сайты Поделиться
mazzi Опубликовано 10 апреля, 2018 Поделиться Опубликовано 10 апреля, 2018 13 часа назад, 2a420 сказал: экран светится в верхней строке черные прямоугольники. О каком экране речь? Скрин или фото можешь показать? 0 Пока ты жив, надежда есть. Ссылка на комментарий Поделиться на другие сайты Поделиться
2a420 Опубликовано 10 апреля, 2018 Автор Поделиться Опубликовано 10 апреля, 2018 вот. -2 Ссылка на комментарий Поделиться на другие сайты Поделиться
mazzi Опубликовано 10 апреля, 2018 Поделиться Опубликовано 10 апреля, 2018 Я писал для ардуино нано и вывод должен быть на терминал компьютера. Как работает в указанном мной составе? 0 Пока ты жив, надежда есть. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.