#1 Re: Программирование Arduino » infrared detector 4 channel » 2018-03-28 18:24:47

Да вполне, спасибо всем большое что помогли разобраться. Сейчас возможности нет проверить, буду дома проверю.

#2 Re: Программирование Arduino » infrared detector 4 channel » 2018-03-28 15:57:26

Датчик обхода препятствий (четырёхканальный)
Infrared-Detector-4-Channel.jpg

#3 Re: Программирование Arduino » infrared detector 4 channel » 2018-03-27 15:53:09

Да, я просто новичек в этом, сам пока еще не разобрался.

#4 Re: Программирование Arduino » infrared detector 4 channel » 2018-03-26 19:17:44

Если честно то нет, выдает ошибку. Когда новый скетч создаешь то в "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 :
}


}

#6 Re: Программирование Arduino » infrared detector 4 channel » 2018-03-24 19:48:11

Извините за глупый вопрос, но куда вписовать IR1=0 && IR2=0 && IR3=0 && IR4=0? вместо "0" и "1".

#7 Re: Программирование Arduino » infrared detector 4 channel » 2018-03-24 11:02:19

Мне нужно перебрать 16 вариантов развития  событий, когда на 4 датчиках будут логические 0 и 1

#8 Программирование Arduino » infrared detector 4 channel » 2018-03-23 20:27:23

Aleksandr15
Ответов: 26

Всем доброго вечера. Помогите  пожайлуста с написания скетча для 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" для дальнейшего приминения его в скетче.

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