Напишите ответ

Введите сообщение и нажмите Отправить
Параметры

Назад

Обзор темы (новое вверху)

Вячеслав Азаров
2017-10-08 05:46:48
xakerrf пишет:

Нужна снова Ваша помощь...
Все сделал, и скетч, и подключил - но заработало только половина.... (((
К ардуино уно подключил:
блютуз, 2 серво привода, 4 реле и датчик температуры и влажности.
Подключился по блютуз нормально, 2 реле работают на ура.
Серво приводы тоже работают - но ведут себя как будто живие, дергаются, двигаются. (реально сумашедшие)
2 реле просто светятся светодиоды и не какой реакции, датчик температуры и влажности не передает не какой информации.
Что может быть не так? Что то в коде? И чего серво так дергаются?

Попробуйте сначала передачу имитированных данных. Потом подключите реле и проверьте. И т.д. И в последнюю очередь - мотор. В процессе сборки должно проясниться где "собака зарыта". А так же, видимо, необходимо учитывать состояние поля connect_flag, как признака наличия радио-соединения и пригодности данных.

xakerrf
2017-10-06 22:57:55

Нужна снова Ваша помощь...
Все сделал, и скетч, и подключил - но заработало только половина.... (((
К ардуино уно подключил:
блютуз, 2 серво привода, 4 реле и датчик температуры и влажности.
Подключился по блютуз нормально, 2 реле работают на ура.
Серво приводы тоже работают - но ведут себя как будто живие, дергаются, двигаются. (реально сумашедшие)
2 реле просто светятся светодиоды и не какой реакции, датчик температуры и влажности не передает не какой информации.

Вот сам скетч:

/*
   -- My smart room --

   This source code of graphical user interface
   has been generated automatically by RemoteXY editor.
   To compile this code using RemoteXY library 2.3.1 or later version
   download by link http://remotexy.com/en/library/
   To connect using RemoteXY mobile app by link http://remotexy.com/en/download/
     - for ANDROID 4.0.1 or later version;
     - for iOS 1.1.0 or later version;

   This source code is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2.1 of the License, or (at your option) any later version.
*/

//////////////////////////////////////////////
//        RemoteXY include library          //
//////////////////////////////////////////////

// определение режима соединения и подключение библиотеки RemoteXY
#define REMOTEXY_MODE__SOFTSERIAL
#include <SoftwareSerial.h>

#include <RemoteXY.h>

// настройки соединения
#define REMOTEXY_SERIAL_RX 2
#define REMOTEXY_SERIAL_TX 3
#define REMOTEXY_SERIAL Serial
#define REMOTEXY_SERIAL_SPEED 9600

#define CW 7 // CW инициализируется на контакте 7//
#define CCW 8 // CCW инициализируется на контакте 8//
#define CCCW 9 // CCCW инициализируется на контакте 8//
#define CCCCW 10 // CCCCW инициализируется на контакте 8//


// конфигурация интерфейса 
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
  { 255,6,0,25,0,240,0,6,0,1,
  2,0,3,64,57,8,0,208,161,209,
  130,208,190,208,187,0,79,70,70,0,
  2,0,3,73,57,8,6,208,158,208,
  186,208,189,208,190,0,79,70,70,0,
  2,0,3,82,57,8,5,208,154,209,
  131,208,187,208,181,209,128,0,79,70,
  70,0,2,0,3,91,57,8,4,208,
  146,209,139,209,130,209,143,208,182,208,
  186,208,176,32,0,79,70,70,0,4,
  160,4,50,56,8,2,4,160,4,40,
  56,8,1,66,130,40,27,9,7,5,
  66,193,4,28,16,4,6,67,4,38,
  21,15,5,2,11,67,4,16,21,14,
  5,2,11,66,129,20,28,16,4,1,
  129,0,1,0,61,11,4,68,111,98,
  101,114,77,97,110,110,0,129,0,9,
  10,43,6,7,77,121,32,115,109,97,
  114,116,32,114,111,111,109,0,129,0,
  2,17,19,3,14,84,101,109,112,101,
  114,97,116,117,114,101,58,0,129,0,
  31,17,14,3,14,72,117,109,105,100,
  105,116,121,58,0,129,0,18,32,5,
  3,13,48,194,176,208,161,0,129,0,
  43,30,3,3,13,37,0 };
 
// структура определяет все переменные вашего интерфейса управления
struct {

    // input variable
  uint8_t switch_1; // =1 если переключатель включен и =0 если отключен
  uint8_t switch_2; // =1 если переключатель включен и =0 если отключен
  uint8_t switch_3; // =1 если переключатель включен и =0 если отключен
  uint8_t switch_4; // =1 если переключатель включен и =0 если отключен
  int8_t slider_leftright; // =-100..100 положение слайдера
  int8_t slider_updown; // =-100..100 положение слайдера

    // output variable
  int8_t level_hum; // =0..100 положение уровня
  int8_t level_temp_down; // =0..100 положение уровня
  int8_t level_temp_up; // =0..100 положение уровня
  char text_hum[11];  // =строка UTF8 оканчивающаяся нулем
  char text_temp[11];  // =строка UTF8 оканчивающаяся нулем


    // other variable
  uint8_t connect_flag;  // =1 if wire connected, else =0

} RemoteXY;
#pragma pack(pop)


/////////////////////////////////////////////
//           END RemoteXY include          //
/////////////////////////////////////////////

#include <Servo.h>

#define PIN_LEFTRIGHT_SERVO 5
#define PIN_UPDOWN_SERVO 12

Servo leftright_servo;
Servo updown_servo;

#include "DHT.h"
#define DHTPIN 4
DHT dht(DHTPIN, DHT11);

void setup()
{
  RemoteXY_Init ();
  pinMode(CW, OUTPUT); // настраиваем CW в качестве выхода//
  pinMode(CCW, OUTPUT); // настраиваем CCW в качестве выхода//
  pinMode(CCCW, OUTPUT); // настраиваем CCCW в качестве выхода//
  pinMode(CCCCW, OUTPUT); // настраиваем CCCCW в качестве выхода//

  leftright_servo.attach(PIN_LEFTRIGHT_SERVO);
  updown_servo.attach(PIN_UPDOWN_SERVO);

  // TODO you setup code

}

void loop()
{
  RemoteXY_Handler ();

  if (RemoteXY.switch_1 == 1) {
    digitalWrite(CW, LOW);
  }
  if (RemoteXY.switch_1 == 0) {
    digitalWrite(CW, HIGH);
  }
  if (RemoteXY.switch_2 == 1) {
    digitalWrite(CCW, LOW);
  }
  if (RemoteXY.switch_2 == 0) {
    digitalWrite(CCW, HIGH);
  }
  if (RemoteXY.switch_3 == 1) {
    digitalWrite(CCCW, LOW);
  }
  if (RemoteXY.switch_3 == 0) {
    digitalWrite(CCCW, HIGH);
  }
  if (RemoteXY.switch_4 == 1) {
    digitalWrite(CCCCW, LOW);
  }
  if (RemoteXY.switch_4 == 0) {
    digitalWrite(CCCCW, HIGH);
  }

  leftright_servo.writeMicroseconds(RemoteXY.slider_leftright * 20 + 500);
  updown_servo.writeMicroseconds(2500 - RemoteXY.slider_updown * 20);

 

  float temp = dht.readTemperature(); 
  float hum = dht.readHumidity();
  dtostrf(temp, 0, 1, RemoteXY.text_temp);
  dtostrf(hum, 0, 1, RemoteXY.text_hum);
 
  if (temp<0) {
    RemoteXY.level_temp_up = 0;
    RemoteXY.level_temp_down = min (-temp*2,100);
  }
  else if (temp>0) {
    RemoteXY.level_temp_up = min(temp*2,100);
    RemoteXY.level_temp_down = 0;
  }
  else {
    RemoteXY.level_temp_up = 0;
    RemoteXY.level_temp_down = 0;
  }
  RemoteXY.level_hum = hum;
}

  // TODO you loop code
  // используйте структуру RemoteXY для передачи данных




Вот сам проект:
http://remotexy.com/ru/editor/5d3ee809a … 4c7488815/

Питание от ардуино было только для блютуз.
Остальное запитал отдельно.

Что может быть не так? Что то в коде? И чего серво так дергаются?

Nefreemen
2017-10-06 09:26:02

Можно так  lol https://youtu.be/MejbOFk7H6c

Nefreemen
2017-10-06 09:08:26

Мне попадались реле с инверсией и без, все зависит от того в какую цепь поставят оптопару эмиттер-база или коллектор-база. И так получилось что первых два 4-х релейных модуля были с инверсией, тоже был в "замешательстве" почему программка работает с точностью на оборот smile .

Green
2017-10-06 06:55:25

Ну да, судя по темпам их развития, мы дураки! Только не конкретно инженеры, а так, в целом.((

Вячеслав Азаров
2017-10-06 06:35:39
Green пишет:

Все пользуются китайской продукцией, только я с возможностью инверсии не встречал просто.  Правда и релейных модулей как то не приобретал ещё.) Пикантные - потому что углубились до переходов (а там и до дырок недалеко)).
А развязка там действительно не лишняя. Так значит, не такие уж и дураки китайские инженеры!))) Скорее, наоборот, за них можно порадоваться)). Только я бы сделал включение высоким уровнем, ибо низким многих вводит в ступор.(

Вы абсолютно правы. Китайские инженеры не дураки. Это мы дураки.

Green
2017-10-06 06:31:55
Nefreemen пишет:

Как то покупаю почему то однотипные, китайские smile, свои делать не рентабельно smile с точки зрения затрат времени smile, а Вам не по душе "пикантности" smile? У ТС возникли "непонятки" и я попытался объяснить. Я что, что то не правильно написал? Не возражаю, подправьте smile. По моему я написал что бывают в продаже разные, но судя по ситуации у ТС с опторазвязкой smile. А почему  "МодулЯ", а не модули smile?

Все пользуются китайской продукцией, только я с возможностью инверсии не встречал просто.  Правда и релейных модулей как то не приобретал ещё.) Пикантные - потому что углубились до переходов (а там и до дырок недалеко)).
А развязка там действительно не лишняя. Так значит, не такие уж и дураки китайские инженеры!))) Скорее, наоборот, за них можно порадоваться)). Только я бы сделал включение высоким уровнем, ибо низким многих вводит в ступор.(

Вячеслав Азаров
2017-10-06 06:05:38

Вот, алегория современной техники. Вас вынуждают платить черт знает за что. Задумайтесь.

Nefreemen пишет:

Как то покупаю почему то однотипные, китайские smile, свои делать не рентабельно smile с точки зрения затрат времени smile, а Вам не по душе "пикантности" smile?

Nefreemen пишет:

Цена оптопары копейки smile. А вот логический вопрос, во что может обойтись общая земля, если разные источники питания модуля и "управлялки"? Почему бы и не творчество smile?

Nefreemen пишет:

Пока писал, вопрос "агрономии" уже решился smile. Когда то слышал юмор, вопрос кто такие КИПовцы? Да это агрономы smile всегда землю ищут smile.

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

xakerrf
2017-10-06 02:35:49

хм... хотя вот нашел http://arduino.ua/ru/hardware/Uno

Входы и выходы

С использованием функций pinMode(), digitalWrite() и digitalRead() каждый из 14 цифровых выводов может работать в качестве входа или выхода.

я так понимаю что могу повесить релюхи на от 2 до 13?
Хотя на 13 вроде бы нет.?

xakerrf
2017-10-06 02:29:20

Чет не могу инфу нормально найти, на ардуино уно реле на какие пины можно подключать? (от 4 до 12 могу на эти?)

Nefreemen
2017-10-05 23:55:08

Пока писал, вопрос "агрономии" уже решился smile. Когда то слышал юмор, вопрос кто такие КИПовцы? Да это агрономы smile всегда землю ищут smile.

Nefreemen
2017-10-05 23:43:36
Вячеслав Азаров пишет:
Nefreemen пишет:

По поводу реле то тут все понятно, модули реле для ардуино как правило можно подключать в двух режимах с гальванической развязкой и без, при подключении через оптопару происходит инверсия, когда светодиод светится (1)  то фототранзистор открывается сопротивление перехода эмиттер - коллектор маленькое поэтому напряжение на коллекторе тоже маленькое (равно падению на переходе) тем самым запирает ключ (транзистор) реле. При подключении без оптопары (переключается джампером на модуле) все работает "правильно" smile.

Позволю себе сказать. С этой гальванической развязкой ключей реле, просто, какой-то нонсенс. Зачем она там нужна? У реле, и так, отличная изоляция катушки от коммутируемых цепей! Творчество, наверно.

Цена оптопары копейки smile. А вот логический вопрос, во что может обойтись общая земля, если разные источники питания модуля и "управлялки"? Почему бы и не творчество smile?

Nefreemen
2017-10-05 23:34:52
Green пишет:
Nefreemen пишет:

По поводу реле то тут все понятно, модули реле для ардуино как правило можно подключать в двух режимах с гальванической развязкой и без, при подключении через оптопару происходит инверсия, когда светодиод светится (1)  то фототранзистор открывается сопротивление перехода эмиттер - коллектор маленькое поэтому напряжение на коллекторе тоже маленькое (равно падению на переходе) тем самым запирает ключ (транзистор) реле. При подключении без оптопары (переключается джампером на модуле) все работает "правильно" smile.

Такие пикантные подробности.)) МодулЯ бывают разные. Может у Вас какой то свой?

Как то покупаю почему то однотипные, китайские smile, свои делать не рентабельно smile с точки зрения затрат времени smile, а Вам не по душе "пикантности" smile? У ТС возникли "непонятки" и я попытался объяснить. Я что, что то не правильно написал? Не возражаю, подправьте smile. По моему я написал что бывают в продаже разные, но судя по ситуации у ТС с опторазвязкой smile. А почему  "МодулЯ", а не модули smile?

Green
2017-10-05 19:09:44

ДО 2,5 кВ.) Не иметь гальванической связи с другим источником всегда приятно.)

Вячеслав Азаров
2017-10-05 17:22:38
Green пишет:
Вячеслав Азаров пишет:

С этой гальванической развязкой ключей реле, просто, какой-то нонсенс. Зачем она там нужна? У реле, и так, отличная изоляция катушки от коммутируемых цепей! Творчество, наверно.

Просто джампер между землёй и минусом релейной цепи забыли поставить.(
Всё нормально.) Там развязка от цепи питания реле. Нарисовано немного по дурному.

smile Наверно, что бы цепи питания реле можно было "поднять" на 2.5 кВ, относительно земли контроллера. Умно.

Подвал раздела