Прекрасный плэйн лаунчер!

Обсуждаем Arduino, Raspberry Pi и другие электронные компоненты и проекты DIY
Ответить
Кир
Сообщения: 5
Зарегистрирован: 08 май 2013, 14:25

Прекрасный плэйн лаунчер!

Сообщение Кир »

Здравствуйте!

Есть проект по машинке для запуска бумажных самолетов. Подскажите как подключить уз сенсор urm37 к Леонардо для активации двух dc моторов и подскажите пожалуйста простой код, чтобы обойтись без библиотек.
Аватара пользователя
Mr.Kubikus
Сотрудник ПАКПАК
Сообщения: 1020
Зарегистрирован: 22 окт 2010, 23:57

Re: Прекрасный плэйн лаунчер!

Сообщение Mr.Kubikus »

Привет!

Я бы взял пример с сайта dfrobot и добавил управление моторами через motor shiled:

Код: Выделить всё

// # Editor    :Jiang from DFRobot
// # Data      :18.09.2012
 
// # Product name:ultrasonic scanner
// # Product SKU:SEN0001
// # Version :  0.2
 
// # Description:
// # The Sketch for scanning 180 degree area 4-500cm detecting range
 
// # Connection:
// #       Pin 1 VCC (URM V3.2) -> VCC (Arduino)
// #       Pin 2 GND (URM V3.2) -> GND (Arduino)
// #       Pin 4 PWM (URM V3.2) -> Pin 3 (Arduino)
// #       Pin 6 COMP/TRIG (URM V3.2) -> Pin 5 (Arduino)
// #
// #       Pin 6 -> для управления мотором
// #

int URPWM = 3; // PWM Output 0-25000US,Every 50US represent 1cm
int URTRIG=5; // PWM trigger pin
 
unsigned int Distance=0;
uint8_t EnPwmCmd[4]={0x44,0x02,0xbb,0x01};    // distance measure command
 
void setup(){                                 // Serial initialization
  pinMode(13, OUTPUT);
  Serial.begin(9600);                         // Sets the baud rate to 9600
  PWM_Mode_Setup();
}
 
void loop()
{
 PWM_Mode();

 if (Distance < 50) {
   digitalWrite(13, HIGH);
   analogWrite(6, 255);
 } else {
   digitalWrite(13, LOW);
   analogWrite(6, 0);
 }

 delay(20);
}                      //PWM mode setup function
 
void PWM_Mode_Setup(){
  pinMode(URTRIG,OUTPUT);                     // A low pull on pin COMP/TRIG
  digitalWrite(URTRIG,HIGH);                  // Set to HIGH
  
  pinMode(URPWM, INPUT);                      // Sending Enable PWM mode command
  
  for(int i=0;i<4;i++){
      Serial.write(EnPwmCmd[i]);
   }
}
 
void PWM_Mode(){                              // a low pull on pin COMP/TRIG  triggering a sensor reading
    digitalWrite(URTRIG, LOW);
    digitalWrite(URTRIG, HIGH);               // reading Pin PWM will output pulses
     
    unsigned long DistanceMeasured=pulseIn(URPWM,LOW);
     
    if(DistanceMeasured==50000){              // the reading is invalid.
      Serial.print("Invalid");   
   }
    else{
      Distance=DistanceMeasured/50;           // every 50us low level stands for 1cm
   }
  Serial.print("Distance=");
  Serial.print(Distance);
  Serial.println("cm");
}
Было бы интересно увидеть фотки или видео с результатом разработки.
С уважением, Григорий
GitHub FB ВК
Кир
Сообщения: 5
Зарегистрирован: 08 май 2013, 14:25

Re: Прекрасный плэйн лаунчер!

Сообщение Кир »

Спасибо большое!

Как только доделаю, выложу видео)
Ответить