#2 Re: Програмування Arduino » Как вывести день недели на библиотеке DS1307RTC.h » 2020-07-08 16:22:40

Я понимаю, что неделя начинается с воскресенья. Сегодня среда, а показывает 0 - воскресенье.

#5 Re: Програмування Arduino » Передача сигналов по Bluetooth » 2020-06-13 15:00:04

Я вот так получаю данные от компа:

char control;   

void setup() {
   ...
  Serial.begin (9600);
}

void loop()
{
if (Serial.available() > 0) {
    control = Serial.read();
    switch (control) {
     {
      case "A1": functionA();  break; 
      case "B2": functionB();  break;  
      ...
    }
    }
  }

#7 Програмування Arduino » Передача сигналов по Bluetooth » 2020-06-12 14:29:54

Рамиль
відповідей: 7

Привет!

Сделал одну модель с дистанционным управлением по bluetooth с помощью hc-06. Управляется с помощью специального приложения с компьютера. Например, приложение отправляет сигнал A или B, и скеч обрабатывает его так:

    switch (control) {
      case 'A': functionA();  break; 
      case 'B': functionB();  break; 
    }

Подскажите, как сделать, чтобы скеч корректно обрабатывал отправку двух или более символов. Например, "A1" и "B2". И скеч обрабатывает:

    switch (control) {
      case "A1": functionA();  break; 
      case "B2": functionB();  break; 
    }

Последний код, конечно же, не работает как нужно. Как сделать правильно?

#8 Re: Програмування Arduino » Остановить машинку, если Bluetooth пропадает » 2020-04-05 23:56:15

vvr пише:

во первых там должно быть 3.3в.

Второе понял, а это поясните, пожалуйста.

#9 Re: Програмування Arduino » Остановить машинку, если Bluetooth пропадает » 2020-04-04 21:08:06

vvr пише:

на hc-05 и hc-06 (про другие не знаю) есть выход STATE.
он показывает что соединение установлено.
поиграйтесь с ним.

Беру светодиод, его плюсом соединяю в STATE, его минусом в GND. Как я понимаю, при подключенном Bluetooth светодиод должен стабильно гореть. Но он не горит. Единица на STATE Как будто не приходит.

#10 Програмування Arduino » Остановить машинку, если Bluetooth пропадает » 2020-04-03 00:29:27

Рамиль
відповідей: 6

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

Сделал машинку с управлением по Bluetooth со смартфона, с помощью приложения из App inventor. Простая машинка, таких в интернете очень много описывают - Arduino, драйвер моторов, Bluetooth модуль и моторы.

Вопрос такой: как сделать так, чтобы машинка останавливалась. если соединение с Bluetooth пропадает?  Сейчас, если, например, нажать на кнопку, чтобы ехать вперёд, и если вдруг в этот момент соединение с Bluetooth  упадёт, машина продолжает ехать, пока не врежется в первое препятствие.

Вот скетч. Если понадобятся дополнительные данные, то предоставляю. Объясните, пожалуйста, подробнее, как это сделать. У меня пока весьма базовые знания.

int motorRight1 = 2;       // Правый мотор.
int motorRight2 = 4;
int enableRight = 3;

int motorLeft1 = 6;        // Левый мотор.
int motorLeft2 = 7;
int enableLeft = 5;

int control;               // Управление двигателями.
int motorSpeed;            // Управление скоростью.

void setup() {
  pinMode (motorRight1, OUTPUT);
  pinMode (motorRight2, OUTPUT);
  pinMode (enableRight, OUTPUT);

  pinMode (motorLeft1, OUTPUT);
  pinMode (motorLeft2, OUTPUT);
  pinMode (enableLeft, OUTPUT);

  Serial.begin (9600);
}

void loop()
{
  if (Serial.available()) {
    control = Serial.read();

    /*********************** Скорость ***********************/
    switch (control) {
      case '1': motorSpeed = 120; break;
      case '2': motorSpeed = 180; break;
      case '3': motorSpeed = 250; break;

      /*********************** Направление ***********************/
      case 'W': rightWheelForward (); leftWheelForward ();  break;   // Вперёд.
      case 'S': rightWheelBack ();    leftWheelBack ();     break;   // Назад.
      case 'E': rightWheelStop ();    leftWheelForward ();  break;   // Направо вперёд.
      case 'Q': leftWheelStop ();     rightWheelForward (); break;   // Налево вперёд.
      case 'D': rightWheelStop ();    leftWheelBack ();     break;   // Направо назад.
      case 'A': leftWheelStop ();     rightWheelBack ();    break;   // Налево назад.
      case 'P': rightWheelStop ();    leftWheelStop ();     break;   // Стоп.
    }
  }
}

/*********************** Функции колёс ***********************/

void rightWheelForward () {               // Правое колесо вперёд.
  digitalWrite (motorRight1, LOW);
  digitalWrite (motorRight2, HIGH);
  analogWrite(enableRight, motorSpeed);
}

void leftWheelForward () {                // Левое колесо вперёд.
  digitalWrite (motorLeft1, LOW);
  digitalWrite (motorLeft2, HIGH);
  analogWrite(enableLeft, motorSpeed);
}

void rightWheelBack () {                  // Правое колесо назад.
  digitalWrite (motorRight1, HIGH);
  digitalWrite (motorRight2, LOW);
  analogWrite(enableRight, motorSpeed);
}

void leftWheelBack () {                   // Левое колесо назад.
  digitalWrite (motorLeft1, HIGH);
  digitalWrite (motorLeft2, LOW);
  analogWrite(enableLeft, motorSpeed);
}

void rightWheelStop () {                  // Правое колесо остановить.
  digitalWrite (motorRight1, LOW);
  digitalWrite (motorRight2, LOW);
  analogWrite(enableRight, 0);
}

void leftWheelStop () {                   // Левое колесо остановить.
  digitalWrite (motorLeft1, LOW);
  digitalWrite (motorLeft2, LOW);
  analogWrite(enableLeft, 0);
}

Підвал форуму