Ви не увійшли.
Сторінки 1
Да вполне, спасибо всем большое что помогли разобраться. Сейчас возможности нет проверить, буду дома проверю.
Датчик обхода препятствий (четырёхканальный)
Да, я просто новичек в этом, сам пока еще не разобрался.
Если честно то нет, выдает ошибку. Когда новый скетч создаешь то в "case" ошибку выдает, если вставляешь в свой то в "For". Либо выдает другие ошибки в уже существующем скетче где не было ошибок.
int IR1 = A0;
int IR2 = A1;
int IR3 = A2;
int IR4 = A3;
int arr[] = { A3, A2, A1, A0 }, state = 0;
void setup() {
// put your setup code here, to run once:
}
void loop() {
for( int i = 0; i < 4; i++ ){
state = ( state << 1 ) + arr[ i ];
boolean No_barrier = state = 0xf;
boolean Yes_barrier = !No_barrier;
switch( state ) { // здесь вам 16 вариантов развития событий
case 0
IR1=0 && IR2=0 && IR3=0 && IR4=0:
break;
case 1
IR1=1 && IR2=0 && IR3=0 && IR4=0:
break;
case 2
IR1=0 && IR2=1 && IR3=0 && IR4=0:
break;
case 3
IR1=1 && IR2=1 && IR3=0 && IR4=0:
break;
case 4
IR1=0 && IR2=0 && IR3=1 && IR4=0:
break;
case 5
IR1=1 && IR2=0 && IR3=1 && IR4=0:
break;
case 6
IR1=0 && IR2=1 && IR3=1 && IR4=0:
break;
case 7
IR1=1 && IR2=1 && IR3=1 && IR4=0:
break;
case 8
IR1=0 && IR2=0 && IR3=0 && IR4=1:
break;
default
IR1=1 && IR2=1 && IR3=1 && IR4=1 :
}
}
Спасибо Вам большое за помощь
Извините за глупый вопрос, но куда вписовать IR1=0 && IR2=0 && IR3=0 && IR4=0? вместо "0" и "1".
Мне нужно перебрать 16 вариантов развития событий, когда на 4 датчиках будут логические 0 и 1
Всем доброго вечера. Помогите пожайлуста с написания скетча для 4 канального инфракрасного датчика расстояния. Cуть задачи состоит в том, что бы присвоить значения "No_barrier"-когда не один датчик не срабатывает и "Yes_barrier"-когда хотя бы один из датчиков определил препятствия(16 вариантов событий). Датчики подключены к Аналоговым входам Arduino UNO R3. Расстояния выводим с помощью логической 1 и 0. Вот не правильный пример для наглядности(наброски)
int IR1 = A0;
int IR2 = A1;
int IR3 = A2;
int IR4 = A3;
int No_barrier; // задаем значения когда нет припятствия
int Yes_barrier; // задаем значения когда припятствия
switch (No_barrier)
{
case IR1=1 && IR2=1 && IR3=1 && IR4=1 :
break;
}
switch (Yes_barrier)
{
case IR1=0 && IR2=0 && IR3=0 && IR4=0 : // варианты развития событий
case IR1=0 && IR2=0 && IR3=0 && IR4=1 : // варианты развития событий
case IR1=0 && IR2=0 && IR3=1 && IR4=1 : // варианты развития событий
case IR1=0 && IR2=1 && IR3=1 && IR4=1 : // варианты развития событий
case IR1=1 && IR2=0 && IR3=0 && IR4=0 : // варианты развития событий
case IR1=1 && IR2=1 && IR3=0 && IR4=0 : // варианты развития событий
case IR1=1 && IR2=1 && IR3=1 && IR4=0 : // варианты развития событий
case IR1=1 && IR2=0 && IR3=0 && IR4=1 : // варианты развития событий
case IR1=0 && IR2=1 && IR3=1 && IR4=0 : // варианты развития событий
break;
}
Помогите пожайлуста присвоить значения "Yes_barrier" и "No_barrier" для дальнейшего приминения его в скетче.
Сторінки 1