Датчик
- Войдите на сайт для отправки комментариев
Пт, 22/07/2016 - 21:01
Всем привет помощь нужна я новичек в ардуино хочу сделать два ик датчика барьера в дальнейшем будет передоваться по смс какой датчик сработал. Проблема в том что я не могу программы объединить
Я тоже новичок, поэтому по существу не могу ответить. Но зная здешние нравы, могу дать совет. Выкладывайте код, который у Вас есть и уже задавайте конкретные вопросы, что именно не работает и не получается. В противном случае есть очень большая вероятность, что Вас отправят в платные услуги.
Выкладывайте код, который у Вас есть и уже задавайте конкретные вопросы, что именно не работает и не получается.
Совершенноо верно!
В противном случае есть очень большая вероятность, что Вас отправят в платные услуги.
И правильно сделают! :)
вот этот код нужно дублировать в несколько что бы можно было подключить несколько датчиков ик-барьер
http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukomment...
Это не придирка. В таком виде а) легче читать и б) можно ссылаться на номера строк в обсуждении. Сделайте, пожалуйста.
Хммм... повторю, что я всего лишь новичок, но мне этот код кажется странным. Насколько я знаю библиотека Bounce используется чтобы подавить дребезг кнопок. И как это связано с ИК-датчиками не очень понятно.
Ну и в будущем приводите код в правильный вид, как советуют старшие товарищи.
вот код и мне его нужно сделать в несколько одинаковых сам пробовал совмещать появляются ошибки
Так покажите, что пробовали, какие ошибки. Покажите свой рабочий код и скопипсатите сообщения об ошибках.
сейчас я скинул рабочую программу для кнопки она одна мне нужно сделать несколько дублей этой програмиы
А не проще ли вместо всей лабуды в строках 17-29 написать одну единственную строчку
и заодно выбросить нафиг строки 6 и 7?
я просто не могу понять как делать дубли программ что бы к примеру стоит у меня один ик датчик мне нужно их 3-4 штуки подключить как вот как мне создать программы для этих 3-4 датчиков
в первые вижу что можно такой маленькой строчкой обойтись
сейчас я скинул рабочую программу для кнопки она одна мне нужно сделать несколько дублей этой програмиы
Влад, если нужно - делай.
Ты пришёл за помощью потому, что
сам пробовал совмещать появляются ошибки
я делал вот так и загарается ошибка
Прочитай зачем нужны фигурные скобки. Зачем нужна точка с запятой. Любой учебник по СИ. Конкретно здесь ошибка означает отсутствие перед фигурной скобкой какого либо названия либо оператора. Подсказка -подводи курсор к скобке - парная подсветится.
я делал вот так и загарается ошибка
Это точно то скетч и точно то сообщение об ошибке? Я вижу ошибку в строке 14, но никак не в 42. Вы там на кой-то чёрт закрыли фигурную скобку (закончили функцию) и тут же открыли новую. Вот он и не понял Вашего манёвра - что это новая скобка означает. Только это не 42-ая строка. Давайте Вы будете точно выкладывать.
как программа пишет ошибки я так и выкладываю
как программа пишет ошибки я так и выкладываю
Тогда копипастите их полностью, а не кусочно.
Ну, эту то исправили? Есть что-то новенькое?
Дык, у Вас было две скобки. В строка 13 и 14. А удалили Вы только одну. Какое-то половинчатое решение. Удаляйте и вторую.
Вы совсем не понимаете что там написано?
я понял что одна программа закончилась началась новая и скобка открылась но почему вылазит ошибка
Так вторую скобку убал?
В скетче из поста 15 убери нахрен ОБЕ строки 13 и 14!
да убрал проверил программу все хорошо только образовалась другая проблема собрал схему получается что программа 2 и 13 не работает строка 1и2 а 3и4 работает
на 1и2 строке светодиод постоянно горит
да убрал проверил программу все хорошо только образовалась другая проблема собрал схему получается что программа 2 и 13 не работает строка 1и2 а 3и4 работает
Я этого не понял. Что такое программа 2 и 13? ЧТо за строка 1 и 2. Приведите текущую версию скетча и объясните толком что именно не работает, а что работает.
ЭТА ПРОГРАММА РАБОТАЕТ ТОЛЬКО КОГДА Я ПОДКЛЮЧАЮ КНОПКУ НА КОНТАКТ 3 А ДИОД НА 12 ПРОГРАММА РАБОТАЕТ ТАК КАК МНЕ НУЖНО А КОГДА Я ПОДКЛЮЧАЮ КНОПКУ НА 2 И ДИОД НА 13 ТО ОН ГОРИТ ПОСТОЯННО НА КНОПКУ НЕ ОТКЛИКАЕТСЯ
ВСЕ Я РАЗОБРАЛСЯ ПОЧЕМУ ОН ГОРЕЛ В 31 СТРОКЕ ОШИБКА БЫЛА СПАСИБО БОЛЬШОЕ ЗА ПОМОЩЬ ЕСЛИ ЧТО ЕЩЕ МОГУ ОБРАТИТЬСЯ
сейчас столкнулся с новой проблемой с блютусом
почему то не работает
Строки 33-34 не выполняются никогда, т.к. там стоят два условия, противоречащих друг другу (в строках 30 и 31)
строка 30 31 там идет обозначение двух команд тоесть буква "s" выключает одну программу буква "а" выключает другую программу
струки 33 34 их что можно вообще удалить
Ради Бога простите. В 30 val, а в 31 val1 - а мне что-то показалось, что там одна и та же переменная. Простите.
Влад, а Вы логику своей программы сами понимаете. Я вот расставил её "лесенкой", посмотрите
Вы понимаете что она делает. Вот просто ведите пальцем по строкам.
И, кстати, зачем дважды проверять available?
я просто пытаюсь объединить две программы вот и написал available а что оно проверяет
Ну, вот знаете, я ребёнку всегда советую, "сядь и напиши логику программы словами". Вы можете логику своей программы написать словами? Сделайте это.
01
int
val;
02
int
LED = 13;
03
int
val1;
04
int
LED1 = 12;
с 1-4 строки подключение портов
05
06
void
setup
()
07
{
08
Serial
.begin(9600);
09
pinMode(LED, OUTPUT);
10
Serial
.begin(9600);
11
pinMode(LED1, OUTPUT);
12
}
13
с 8-11 выходи на диоды
14
void
loop
()
15
{
16
if
(
Serial
.available())
17
if
(
Serial
.available())
18
{
19
val =
Serial
.read();
20
// При символе "W" включаем светодиод
21
if
(val ==
'W'
)
с19-21 при нажатии клавиши включается диод
22
val1 =
Serial
.read();
23
// При символе "W" включаем светодиод
24
if
(val1 ==
'q'
)
25
{
с22-25 при нажатии клавиши включается диод
26
digitalWrite(LED, HIGH);
27
digitalWrite(LED1, HIGH);
26 27 сигнал высокий включается
28
}
29
// При символе "S" выключаем светодиод
30
if
( val ==
'S'
)
30 выключение диода
31
if
( val1 ==
'a'
)
31 выключение диода
32
{
33
digitalWrite(LED, LOW);
34
digitalWrite(LED1, LOW);
33 34 сигнал низкий
35
}
36
}
37
}
конечно не знаю правильно расписал или нет но я вот так вижу программу
Нет, мне (вернее Вам) не это надо.
Надо написать словами: Типа такого
1. Читаем состяние пина 4
если HIGH то устанавливаем пин 5 в LOW
иначе устанавливает пин 6 в LOW
....
Только писать не по данной программе, а забыв про неё. просто написать что Вам нужно! А потом уже о программе думать.
что то не понял
сейчас я подключаю блютуз
мне нужно так же размножить код я вроде все сделал ошибок не выдает но не работает как только я убираю строки 22-25 программма работает востанавливаю строки 22-25 перестает работать
что то не понял
А чего тут не понимать? Прежде, чем писать программу, просто словами распишите, что именно Вы хотите сделать. Словами, но строго и точно. Тогда и программа легко напишется.
я дуб в этом только только начинаю чуть чуть понимать программы и то лажу за помощью в библиотеку
и то лажу за помощью в библиотеку
А кто не лазит в различные справочники и собственные шпаргалки?
Так вот именно потому, что Вы с программами не особо "на ты" - Вам очень важно, сначала написать на бумаге что именно Вы хотите сделать - чётко и тчоно. Потом с программой будет намного легче. Сделайте это.
я просто не могу понять что и как нужно написать
Значит, Вы не понимаете, что Вы хотите сделать. написать нужно по пунктам чётко и строго что именно Вы собираетесь делать.