Ви не увійшли.
Сторінки 1
Ах да) В офисе у себя я витую пару пропустил по всем розеткам, у меня их там больше 100)) и подвел ко всем выключателям. Ну к примеру сейчас у нас там работет один умный дом, по освещению, управлению жалюзи и т.д. Вот то что не пожалел денег и вывел провода везде где только предположительно мог бы находится умный дом и спасает.
А насчет шины... Ну это смотря как алгоритмика работы дома и какова структура. Тот что у меня, он не ардуино, но в качестве исполнительных устройств использует контроллеры с обвесом, а шина CAN. Дороговато, но в ней свои прелести)))
Многие делают типа "умный дом" - подключают к ардуино Ethernet шилд, а на саму ардуинку навешивают датчики, релле и тд и управляют через веб сайт. Как по мне в качестве единичного локального применения - супер. Вариантов море - все ограничивается фатазией и умением))) А насчет учить язык программирования и разбиратся в ардуино - лично я уверен, стоит. Как минимум познакомитесь с массой интересной инфы по сенсорам, протоколам обмена, программирования контроллеров, прошивками, программными вспомогательными компонентами.
Занимаюсь системами автоматизации с 2004 года. Да, сейчас дороговато.
Если советовать, то полностью согласен с NoName.
1. Про беспроводную связь забудьте - это в крайнем случае
2. Управлять чем либо - это значит, что рядом должно быть устройство управления (к примеру Arduino), поэтому чем больше точек, тем больше устройств
3. Шины только проводные. Но замечательный вариант - витая пара, качественная и по всему дому. Не будет умного дома - так всегда будет возможность проводного доступа.
4. Витая пара + питание в те точки где подается вода, в щитовые. Это даст возможность установки клапанов, счетчиков расхода и т.д.
Ну а начните просто с релле освещения, далее датчик затопления+клапаны.
Здесь очень важная штука - безопасность.
Ну а было б желание и время)
В интернете столько интересных решений локальных есть, так что приспособите.
Переполнение буфера?
Что то в этом роде. Получается постоянно отправляет но никто не принимает.
Вот статейка о соединении, есть и примеры программ. Я бы так решал вопрос.
Лучше сразу подключать такие модули http://arduino-ua.com/prod206-4_kanalni … ele_5V_10A
Они уже идут с опторазвязкой, очень удобно. У меня такой в розетке стоит, работает идеально.
работают на раз. Отличные релле, лучше и дешевле не найдете.
ну оно тут пишет вам что не знает что такое sleep(100);
задержки в Arduino пишите как delay(100)
Всем доброго времени суток. Нужна помощь в написании скетча. Алгоритм таков: считываем значение напряжения на аналоговом входе, запоминаем и следим за его состоянием. При уменьшении значения на 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);
}
}
Ребят, а чего соеденятся, если на форуме и соеденимся. Пока на форуме.
Вот здесь!
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 для того что б контроллировать имеено нажатие и отжатие. Тогда разговор другой)
Спасибо конечно? но Вы не внемательно читали распиновка на enc28j60 другая немного но я методом тика разобрался вместо SI подключить ST (так как SI нет)
)) ну обычно SI/SO это сокращения от MOSI/MISO для взаимодействия по SPI.Так что скорее всего там все таки SI, а просто Луандзянь ин Пинь так написал, что I похоже на T.
Обычно это так:
Конкретные имена портов интерфейса 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.
Добрый день ув. Гуру!
На днях столкнулся с одним уроком как сделать управление 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.
Также неплохое видео есть, какой то друг Ванзо рассказывает:
Ну и тут есть способ подключение. Что получится, напиши.
Мне кажется так сравнивать не корректно. Нужно в условии while поставить проверку на выход за пределы массива, типа:
if(i==sizeof(n_tel)) break;
Как вариант, спасибо. Но вродебы такого произойти не может, сравниваются два одинаковых по размеру массива. Если такое написать допустим просто на С, думаю будет работать.
Часто появляется задача сравнения двух массивов 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
Вопрос, где я туплю?
Если такого типа дисплей,
могу помочь. (Если исходники найду! )
Спасибо, но не этот. Эти мы уже курили-перекурили с закрытыми глазами.
Я про вот этот http://arduino-ua.com/prod844-lcd-displ … podsvetkoi
Взял чисто для попробывать, но запустить так и не удалось. Гуглил перегуглил. Есть там коза китайская, но весьма непонятная. Ребята с arduino.ua пообещали помочь, но что то молчат.
Там еще такая штука, я с ней парился. Только я брал готовый шилд 9000. 2 и 3 пины цифровые заняты softwareserial, и по мануалу 7,8,9 тоже используются шилдом. Вот на них у меня и висел экран. Может у вас что то подобное.
Купил такой дисплей. Но вот никак не могу сделать хоть мало-мальски робочий скетч. Может кто-то поможет? Сканирование инета дало ссылку только на одно пояснение, но его недостаточно.
Ребят, здравствуйте, пока только начинаю разбираться в arduino, поэтому подскажите, допустим у меня есть какой-нибудь датчик, и мне требуется подключать его на движущуюся поверхность, можно ли передавать сигнал от него через bluetooth или ик-порт на ардуино? Заранее спасибо!
По конкретнее напишите. Что за датчик и тд. Отсюда решение подскажем.
Сторінки 1