#1 Re: Проекты » Подойдет ли Ардуино для автоматизации умным домом? » 2015-03-14 18:40:44

Ах да) В офисе у себя я витую пару пропустил по всем розеткам, у меня их там больше 100)) и подвел ко всем выключателям. Ну к примеру сейчас у нас там работет один умный дом, по освещению, управлению жалюзи и т.д. Вот то что не пожалел денег и вывел провода везде где только предположительно мог бы находится умный дом и спасает.
А насчет шины... Ну это смотря как алгоритмика работы дома и какова структура. Тот что у меня, он не ардуино, но в качестве исполнительных устройств использует контроллеры с обвесом, а шина CAN. Дороговато, но в ней свои прелести)))
Многие делают типа "умный дом" - подключают к ардуино Ethernet шилд, а на саму ардуинку навешивают датчики, релле и тд и управляют через веб сайт. Как по мне в качестве единичного локального применения - супер. Вариантов море - все ограничивается фатазией и умением))) А насчет учить язык программирования и разбиратся в ардуино - лично я уверен, стоит. Как минимум познакомитесь с массой интересной инфы по сенсорам, протоколам обмена, программирования контроллеров, прошивками, программными вспомогательными компонентами.

#2 Re: Проекты » Подойдет ли Ардуино для автоматизации умным домом? » 2015-03-14 16:49:29

Занимаюсь системами автоматизации с 2004 года. Да, сейчас дороговато.
Если советовать, то полностью согласен с NoName.
1. Про беспроводную связь забудьте - это в крайнем случае
2. Управлять чем либо - это значит, что рядом должно быть устройство управления (к примеру Arduino), поэтому чем больше точек, тем больше устройств
3. Шины только проводные. Но замечательный вариант - витая пара, качественная и по всему дому. Не будет умного дома - так всегда будет возможность проводного доступа.
4. Витая пара + питание в те точки где подается вода, в щитовые. Это даст возможность установки клапанов, счетчиков расхода и т.д.
Ну а начните просто с релле освещения, далее датчик затопления+клапаны.
Здесь очень важная штука - безопасность.
Ну а было б желание и время)
В интернете столько интересных решений локальных есть, так что приспособите.

#3 Re: Програмування Arduino » Arduino Uno подключение к Arduino Uno через UART? » 2015-02-28 13:52:17

Дмитрий пише:

Переполнение буфера?

Что то в этом роде. Получается постоянно отправляет но никто не принимает.

#4 Re: Програмування Arduino » Arduino Uno подключение к Arduino Uno через UART? » 2015-01-13 18:40:10

Вот статейка о соединении, есть и примеры программ. Я бы так решал вопрос.

#5 Re: Апаратні питання » Включение выключение розетки » 2014-12-01 19:31:24

Dench пише:

Лучше сразу подключать такие модули http://arduino-ua.com/prod206-4_kanalni … ele_5V_10A

Они уже идут с опторазвязкой, очень удобно. У меня такой в розетке стоит, работает идеально.

работают на раз. Отличные релле, лучше и дешевле не найдете.

#6 Re: Апаратні питання » Ардуино Уно + модуль часов DS1307 » 2014-11-26 20:44:33

ну оно тут пишет вам что не знает что такое sleep(100);
задержки в Arduino пишите как delay(100)

#7 Re: Апаратні питання » Передача данных от датчика к Arduino » 2014-11-26 20:36:22

Pasko пише:

Всем доброго времени суток. Нужна помощь в написании скетча. Алгоритм таков: считываем значение напряжения на аналоговом входе, запоминаем  и следим за его состоянием. При уменьшении значения на 10 зажигается 1-й светодиод, при увеличении значения на 10 зажигается 2-й.   
  Я новичок, просьба не пинать. Заранее Всем спасибо!

ну как то так

int sensorPin = A0;    // пин с которого будеш считывать напряжение
int sensorValue;       // переменная для сохранения базового напряжения
int dt=10;             // порог срабатывания
int ledPin1 = 4;      // пин для первого светодиода
int ledPin2 = 5;      // пин для второго светодиода

void setup() 
{
  // пины для светодиодов на вывод
  pinMode(ledPin1, OUTPUT);
  pinMode(ledPin2, OUTPUT);
  // пин для считываня напряжения на ввод
  pinMode(sensorPin, OUTPUT);
  // низкое напряжение на пины светодиодов, выключены
  digitalWrite(ledPin1, LOW);
  digitalWrite(ledPin2, LOW);
  // считываем напряжение с пина
  sensorValue = analogRead(sensorPin); 
}

void loop() {

  int current=analogRead(sensorPin); // записывем в current текущее значение напряжения
  // если текущее значение больше указанного на dt (и больше) то включаем перый светодиод, выключаем второй
  if ((current+dt)>sensorValue)
  {
    digitalWrite(ledPin1, HIGH);
    digitalWrite(ledPin2, LOW);  
  }
  // если текущее значение меньше указанного на dt (и меньше) то включаем перый светодиод, выключаем второй
   if ((current+dt)<sensorValue)
  {
    digitalWrite(ledPin2, HIGH);
    digitalWrite(ledPin1, LOW);  
  }
  
  
}

#8 Re: Різне » Собираю команду робототехников » 2014-11-14 13:41:20

Ребят, а чего соеденятся, если на форуме и соеденимся. Пока на форуме.

#9 Re: Програмування Arduino » Нужна помощь , как очистить значение переменой после выполнения цыкла! » 2014-10-26 14:45:08

dantist1983 пише:

Вот здесь!
if (key == 0 )
{
m = 1;
lcd.setCursor (0, 2);
lcd.write("  MOTOR       ");// мотор включен
delay(20);
if (key == 0 && m == 1)
                                   {
                                    m = 0;
                                    lcd.setCursor (0, 2);
                                    lcd.write("  MOTOR OF ");// мотор должен быть выключить
                                    }
}
не срабатывает отключение мотора после повторного нажатия клавиши поскольку переменая "key"  имеет значение 0, не почему то

Немного непонятно где здесь собтвенно цикл) Кинь полную прогу, и какая у нее стоит задача.
Может по делу.
Судя по написаному второй if не имеет значения.

1. В первый if заходим, когда key=0 > присваем m=1 >[теперь у нас key=0, m=1]
2. Во второй if заходим, когда [key=0, m=1] - тоесть всегда, приваем m=0>
3. Выходим из воторого if
4. Выходим из первого if.
5. Идем в пункт 1 где опять же при выполнении условия мы присваеваем m=1;

Надо больше когда. Я так понимаю есть некий второй кусок кода, где при повторном нажатий включается мотор, а переменная m для того что б контроллировать имеено нажатие и отжатие. Тогда разговор другой)

#10 Re: Апаратні питання » Подключение ENC28J60 к Arduino Uno » 2014-10-14 19:59:01

mcwolf пише:

Спасибо конечно? но Вы не внемательно читали распиновка на enc28j60 другая немного но я методом тика разобрался вместо SI подключить ST (так как SI нет)

)) ну обычно SI/SO это сокращения от MOSI/MISO для взаимодействия по SPI.Так что скорее всего там все таки SI, а просто Луандзянь ин Пинь так написал, что I похоже на T.
Обычно это так:

WIKI пише:

Конкретные имена портов интерфейса SPI могут различаться в зависимости от производителя аппаратных средств, при этом возможны следующие варианты:
##MOSI: SIMO, SDO, DO, DOUT, SI, MTSR;
##MISO: SOMI, SDI, DI, DIN, SO, MRST;
##SCLK: SCK, CLK;
##SS: nCS, CS, CSB, CSN, nSS, STE, SYNC.

#11 Re: Апаратні питання » Подключение ENC28J60 к Arduino Uno » 2014-10-10 10:40:01

mcwolf пише:

Добрый день ув. Гуру!
На днях столкнулся с одним уроком как сделать управление Arduino Uno через WebServer очень понравилось захотелось сделать заказал ENC28J60 приехало вот такое чудо http://s014.radikal.ru/i326/1410/a5/3455a5ac7fef.jpg (12 контактов) когда заказывал на радостях не посмотрел а он отличается от того что нужно,(http://nathanhein.com/wp-content/uploads/2013/02/IMG_3756.jpg) (10 контактов) как его можно подключить?
(не судите строго только начал изучать)

Привет! ну в первую очередь качни библиотеку например вот отсюда
Подключение и распиновка есть в описании библиотеки. Например к UNO:

VCC -   3.3V
GND -    GND
SCK - Pin 13
SO  - Pin 12
SI  - Pin 11
CS  - Pin  8 # Selectable with the ether.begin() function

Делал модуль для умного дома который пошел у нас в немаленькую серию, вот цепляясь за  это описание к Nano.
Также неплохое видео есть, какой то друг Ванзо рассказывает:

Ну и тут есть способ подключение. Что получится, напиши.

#12 Re: Програмування Arduino » Сравнение двух массивов char » 2014-10-02 16:01:52

admin пише:

Мне  кажется так сравнивать не корректно. Нужно в условии while поставить проверку на выход за пределы массива, типа:

if(i==sizeof(n_tel))
    break;

Как вариант, спасибо. Но вродебы такого произойти не может, сравниваются два одинаковых по размеру массива. Если такое написать допустим просто на С, думаю будет работать.

#13 Програмування Arduino » Сравнение двух массивов char » 2014-10-02 11:12:33

motin.maxim
відповідей: 3

Часто появляется задача сравнения двух массивов char. В моем слуаче было необходимо создать функцию которая выдавала 1 если хоть один из двух массивов эквивалентен на заданному. Ок. Пишем скетч. Для начала будем проверять сам алгоритм, поэтому сверка со вторым масивом закоменчена.

char n_tel[]="12345";
char root_tel_one[]="12345";
char root_tel_two[]="12346";
void setup() {
  Serial.begin(9600);
}
boolean check_num()
{
  boolean check1=0;
  boolean check2=0;
  
  int i=0;
  while (n_tel[i]==root_tel_one[i]) i=i+1;
  if (i==sizeof(n_tel)) check1=1;
  /*
  int k=0;
  while (n_tel[k]==root_tel_two[k]) k=k+1;
  if (k==sizeof(n_tel)) check2=1;
  */
  Serial.println(check1);
  Serial.println(check2);
  return check1||check2;
}

void loop() {
  
  Serial.println(check_num());
  delay(2000);
 
}

Ны выхлопе получаем:
1
0
1
Это хорошо и правильно. Раскоментим второй масив.
Получится это:

char n_tel[]="12345";
char root_tel_one[]="12345";
char root_tel_two[]="12346";
void setup() {
  Serial.begin(9600);
}
boolean check_num()
{
  boolean check1=0;
  boolean check2=0;
  
  int i=0;
  while (n_tel[i]==root_tel_one[i]) i=i+1;
  if (i==sizeof(n_tel)) check1=1;

  int k=0;
  while (n_tel[k]==root_tel_two[k]) k=k+1;
  if (k==sizeof(n_tel)) check2=1;

  Serial.println(check1);
  Serial.println(check2);
  return check1||check2;
}

void loop() {
  
  Serial.println(check_num());
  delay(2000);
 
}

Ок, запускаем. На выхлопе:
0
0
0
Вопрос, где я туплю?

#14 Re: Програмування Arduino » LCD дисплей модуль 2x8 с подсветкой » 2014-10-01 19:34:18

Tigran пише:

Если такого типа дисплей,
могу помочь. (Если исходники найду! )

Спасибо, но не этот. Эти мы уже курили-перекурили с закрытыми глазами.

Я про вот этот http://arduino-ua.com/prod844-lcd-displ … podsvetkoi
Взял чисто для попробывать, но запустить так и не удалось. Гуглил перегуглил. Есть там коза китайская, но весьма непонятная. Ребята с arduino.ua пообещали помочь, но что то молчат.

#15 Re: Програмування Arduino » В плате Arduino Gboard одновременно не работает SD и SIM900 » 2014-09-26 19:04:02

Там еще такая штука, я с ней парился. Только я брал готовый шилд 9000. 2 и 3 пины цифровые заняты softwareserial,  и по мануалу 7,8,9 тоже используются шилдом. Вот на них у меня и висел экран. Может у вас что то подобное.

#16 Програмування Arduino » LCD дисплей модуль 2x8 с подсветкой » 2014-09-26 19:01:05

motin.maxim
відповідей: 4

Купил такой дисплей. Но вот никак не могу сделать хоть мало-мальски робочий скетч. Может кто-то поможет? Сканирование инета дало ссылку только на одно пояснение, но его недостаточно.

#17 Re: Апаратні питання » Передача данных от датчика к Arduino » 2014-08-01 09:31:45

igoraksenov пише:

Ребят, здравствуйте, пока только начинаю разбираться в arduino, поэтому подскажите, допустим у меня есть какой-нибудь датчик, и мне требуется подключать его на движущуюся поверхность, можно ли передавать сигнал от него через bluetooth или ик-порт на ардуино? Заранее спасибо!

По конкретнее напишите. Что за датчик и тд. Отсюда решение подскажем.

Підвал форуму