Ви не увійшли.
Сторінки 1
Я разобрался. Спасибо.
Я понимаю, что неделя начинается с воскресенья. Сегодня среда, а показывает 0 - воскресенье.
А как настроить день недели? Вместо среды показывает воскресенье.
Здравствуйте!
Собственно, вопрос в заголовке темы.
Я вот так получаю данные от компа:
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;
...
}
}
}
Так вот я и спрашиваю - как правильно?
Привет!
Сделал одну модель с дистанционным управлением по 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;
}
Последний код, конечно же, не работает как нужно. Как сделать правильно?
во первых там должно быть 3.3в.
Второе понял, а это поясните, пожалуйста.
на hc-05 и hc-06 (про другие не знаю) есть выход STATE.
он показывает что соединение установлено.
поиграйтесь с ним.
Беру светодиод, его плюсом соединяю в STATE, его минусом в GND. Как я понимаю, при подключенном Bluetooth светодиод должен стабильно гореть. Но он не горит. Единица на STATE Как будто не приходит.
Здравсвуйте!
Сделал машинку с управлением по 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);
}
Сторінки 1