Робот- футболист. Помогите запустить

БВВ
Offline
Зарегистрирован: 29.03.2021

Добрый день! Собрали с детьми робота- футболиста из набора скарт.  Прошивка прошла нормально, но на джойстик не реагирует, даже не коннектится. Может кто то сталкивался с таким?

программа:

/*
   Created by Vasilakis Michalis // 12-12-2014 ver.2
   Project: Control RC Car via Bluetooth with Android Smartphone
   More information at www.ardumotive.com
*/

//L293 Connection
const int motorA1  = 5;  // Pin  2 of L293
const int motorA2  = 6;  // Pin  7 of L293
const int motorB1  = 10; // Pin 10 of L293
const int motorB2  = 9;  // Pin 14 of L293
//Leds connected to Arduino UNO Pin 12
const int lights  = 12;
//Buzzer / Speaker to Arduino UNO Pin 3
const int buzzer = 3 ;
//Bluetooth (HC-06 JY-MCU) State pin on pin 2 of Arduino
const int BTState = 2;
//Calculate Battery Level
const float maxBattery = 8.0;// Change value to your max battery voltage level!
int perVolt;                 // Percentage variable
float voltage = 0.0;         // Read battery voltage
int level;
// Use it to make a delay... without delay() function!
long previousMillis = -1000 * 10; // -1000*10=-10sec. to read the first value. If you use 0 then you will take the first value after 10sec.
long interval = 1000 * 10;     // interval at which to read battery voltage, change it if you want! (10*1000=10sec)
unsigned long currentMillis;   //unsigned long currentMillis;
//Useful Variables
int i = 0;
int j = 0;
int state;
int vSpeed = 200;   // Default speed, from 0 to 255

void setup() {
  // Set pins as outputs:
  pinMode(motorA1, OUTPUT);
  pinMode(motorA2, OUTPUT);
  pinMode(motorB1, OUTPUT);
  pinMode(motorB2, OUTPUT);
  pinMode(lights, OUTPUT);
  pinMode(BTState, INPUT);
  // Initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
}

void loop() {
  //Stop car when connection lost or bluetooth disconnected
  //     if(digitalRead(BTState)==LOW) { state='S'; }

  //Save income data to variable 'state'
  if (Serial.available() > 0) {
    state = Serial.read();
  }

  //Change speed if state is equal from 0 to 4. Values must be from 0 to 255 (PWM)
  if (state == '0') {
    vSpeed = 0;
  }
  else if (state == '1') {
    vSpeed = 100;
  }
  else if (state == '2') {
    vSpeed = 180;
  }
  else if (state == '3') {
    vSpeed = 200;
  }
  else if (state == '4') {
    vSpeed = 255;
  }

  /***********************Forward****************************/
  //If state is equal with letter 'F', car will go forward!
  if (state == 'F') {
    analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
    analogWrite(motorB1, 0);      analogWrite(motorB2, 0);
  }
  /**********************Forward Left************************/
  //If state is equal with letter 'G', car will go forward left
  else if (state == 'G') {
    analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
    analogWrite(motorB1, 200);    analogWrite(motorB2, 0);
  }
  /**********************Forward Right************************/
  //If state is equal with letter 'I', car will go forward right
  else if (state == 'I') {
    analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
    analogWrite(motorB1, 0);      analogWrite(motorB2, 200);
  }
  /***********************Backward****************************/
  //If state is equal with letter 'B', car will go backward
  else if (state == 'B') {
    analogWrite(motorA1, 0);   analogWrite(motorA2, vSpeed);
    analogWrite(motorB1, 0);   analogWrite(motorB2, 0);
  }
  /**********************Backward Left************************/
  //If state is equal with letter 'H', car will go backward left
  else if (state == 'H') {
    analogWrite(motorA1, 0);   analogWrite(motorA2, vSpeed);
    analogWrite(motorB1, 200); analogWrite(motorB2, 0);
  }
  /**********************Backward Right************************/
  //If state is equal with letter 'J', car will go backward right
  else if (state == 'J') {
    analogWrite(motorA1, 0);   analogWrite(motorA2, vSpeed);
    analogWrite(motorB1, 0);   analogWrite(motorB2, 200);
  }
  /***************************Left*****************************/
  //If state is equal with letter 'L', wheels will turn left
  else if (state == 'L') {
    analogWrite(motorA1, 0);   analogWrite(motorA2, 0);
    analogWrite(motorB1, 200); analogWrite(motorB2, 0);
  }
  /***************************Right*****************************/
  //If state is equal with letter 'R', wheels will turn right
  else if (state == 'R') {
    analogWrite(motorA1, 0);   analogWrite(motorA2, 0);
    analogWrite(motorB1, 0);   analogWrite(motorB2, 200);
  }
  /************************Lights*****************************/
  //If state is equal with letter 'W', turn leds on or of off
  else if (state == 'W') {
    if (i == 0) {
      digitalWrite(lights, HIGH);
      i = 1;
    }
    else if (i == 1) {
      digitalWrite(lights, LOW);
      i = 0;
    }
    state = 'n';
  }
  /**********************Horn sound***************************/
  //If state is equal with letter 'V', play (or stop) horn sound
  else if (state == 'V') {
    if (j == 0) {
      tone(buzzer, 1000);//Speaker on
      j = 1;
    }
    else if (j == 1) {
      noTone(buzzer);    //Speaker off
      j = 0;
    }
    state = 'n';
  }
  /************************Stop*****************************/
  //If state is equal with letter 'S', stop the car
  else if (state == 'S') {
    analogWrite(motorA1, 0);  analogWrite(motorA2, 0);
    analogWrite(motorB1, 0);  analogWrite(motorB2, 0);
  }
  /***********************Battery*****************************/
  //Read battery voltage every 10sec.
  currentMillis = millis();
  if (currentMillis - (previousMillis) > (interval)) {
    previousMillis = currentMillis;
    //Read voltage from analog pin A0 and make calibration:
    voltage = (analogRead(A0) * 5.015 / 1024.0) * 11.132;
    //Calculate percentage...
    perVolt = (voltage * 100) / maxBattery;
    if      (perVolt <= 75)               {
      level = 0;
    }
    else if (perVolt > 75 && perVolt <= 80) {
      level = 1;  //        Battery level
    }
    else if (perVolt > 80 && perVolt <= 85) {
      level = 2;  //Min ------------------------   Max
    }
    else if (perVolt > 85 && perVolt <= 90) {
      level = 3;  //    | 0 | 1 | 2 | 3 | 4 | 5 | >
    }
    else if (perVolt > 90 && perVolt <= 95) {
      level = 4;  //    ------------------------
    }
    else if (perVolt > 95)                {
      level = 5;
    }
    Serial.println(level);
  }

}

 

Схема:

 

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

А автор чо говорит?

БВВ
Offline
Зарегистрирован: 29.03.2021

Какой автор?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

БВВ пишет:

Какой автор?

вышеприведенного кода

БВВ
Offline
Зарегистрирован: 29.03.2021

программу нашел в сети, автора не знаю

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

БВВ пишет:

программу нашел в сети, автора не знаю

 

Ну так познакомься!

Ты сам-то программу читал прежде, чем ее сюда выкладывать? Хотя бы первые 4 строки?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

а может схема не та?

-NMi-
Offline
Зарегистрирован: 20.08.2018

Мошт нагамим софтину, ну шоп "наши" хоть в футбол научились играть??? )))

***

Да, и первые строки софтины гласят - управление моделью авто посредством мобилы... нуникаг не футбАлистом)))

Green
Offline
Зарегистрирован: 01.10.2015

С мобилы - если только Дзюбой.)

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

Не, он на ручном управлении

-NMi-
Offline
Зарегистрирован: 20.08.2018

а хоть Пеле...

Green
Offline
Зарегистрирован: 01.10.2015

Rumata пишет:

Не, он на ручном управлении


Именно поэтому. Никакой динамики.)

БВВ
Offline
Зарегистрирован: 29.03.2021

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

 

БВВ
Offline
Зарегистрирован: 29.03.2021

Вообще то там схема, хоть на машинку, хоть на что, робот и представляет собой машинку, только с забралом, чтобы мяч не выскакивал

 

svm
Offline
Зарегистрирован: 06.11.2016

БВВ пишет:

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

 

Если модуль рабочий, то при подаче питания, он сразу видится на смартфоне. Сначала нужно зайти в БТ соединения и зарегистрировать его.

БВВ
Offline
Зарегистрирован: 29.03.2021

В том то и дело, что не находит (((

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Схему давайте. Как подключен BT модуль? А то смущает меня переменная BTState.

БВВ
Offline
Зарегистрирован: 29.03.2021

Контакты на модуле bluetooth Контакты на плате Arduino

 RX                                               TX 
TX                                                RX 
5V                                                5v 
GND                                            GND
ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

mykaida пишет:

Схему давайте. Как подключен BT модуль? А то смущает меня переменная BTState.

да и обработчик блютуза закомментирован (стр.47)

PS а модуль надо как-то настраивать

БВВ
Offline
Зарегистрирован: 29.03.2021

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Понятно. Плюём на моторы и проверяем ВТ. Например так.

БВВ
Offline
Зарегистрирован: 29.03.2021

у меня так и подключен, светодиоды на ВТ моргают

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

БВВ пишет:
Добрый день! Собрали с детьми робота- футболиста из набора скарт.

Видимо, это переобутый "tonna", который продолжает учить детей тому, в чём сам нивзупногой. 

БВВ
Offline
Зарегистрирован: 29.03.2021

Не все должны во всем разбираться! В других областях и я лучше некоторых знаю! Просто с ардуино столкнулся впервые. Форумы и нужны для того что бы помогли советом! А такие "умники" как правило, только и умеют зубоскалить, считая себя "Профессионалами". Вместо совета, желчью исходят!

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

БВВ пишет:

Форумы и нужны для того что бы помогли советом!

Блин, как же достали лентяи, пренебрегающие сетевой этикой, не читающие правил форума, да еще и имеющие наглость указывать старожилам, для чего нужен форум!

БВВ
Offline
Зарегистрирован: 29.03.2021

andriano пишет:

БВВ пишет:

Форумы и нужны для того что бы помогли советом!

Блин, как же достали лентяи, пренебрегающие сетевой этикой, не читающие правил форума, да еще и имеющие наглость указывать старожилам, для чего нужен форум!

ну и сторожите сидите пустые страницы! Вас никто не просит заходить в тему!

sadman41
Offline
Зарегистрирован: 19.10.2016

А вас никто не просит поучать для чего этот форум нужен.

БВВ
Offline
Зарегистрирован: 29.03.2021

sadman41 пишет:
А вас никто не просит поучать для чего этот форум нужен.

а вас никто не просит лезть в обсуждение! если не можете помочь советом, то сидите и молчите! а то начинают умничать и строить "крутых спецов"!!!

sadman41
Offline
Зарегистрирован: 19.10.2016

Крутого спеца вы из себя строите перед своими ребятами. Типа папка щас робота за пять сек соберет. Даю совет - признать свой фейл. Заодно это будет им уроком - не лезть нахрапом в дело, в котором ничего не смыслишь.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

нет, я абознался, у tonna стока восклицательных знаков в словарном запасе не было. 

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

БВВ пишет:

у меня так и подключен, светодиоды на ВТ моргают

 

Забавно. Вы оцениваете работу аппаратуры по миганию лампочек? Я, обычно, по выполнению ею функций.

БВВ
Offline
Зарегистрирован: 29.03.2021

sadman41 пишет:

Крутого спеца вы из себя строите перед своими ребятами. Типа папка щас робота за пять сек соберет. Даю совет - признать свой фейл. Заодно это будет им уроком - не лезть нахрапом в дело, в котором ничего не смыслишь.

да нет! это вы строите! я и не говорил, ято быстро разберусь. Хотя, чего с вами спорить?! По делу ни слова не можете сказать, один словесный понос! Отдыхайте злопыхатели, вы не интересны!!!

БВВ
Offline
Зарегистрирован: 29.03.2021

mykaida пишет:

БВВ пишет:

у меня так и подключен, светодиоды на ВТ моргают

 

Забавно. Вы оцениваете работу аппаратуры по миганию лампочек? Я, обычно, по выполнению ею функций.

я не оцениваю работу. Мигание как минимум говорит о том, что питание идет на плату, да тестер показывает это, а остальные сигналы я не знаю какие должны быть

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

БВВ пишет:

ну и сторожите сидите пустые страницы! Вас никто не просит заходить в тему!

Я что-то не припомню обращенной к Вам просьбы что-то писать на этом форуме. Ежели такая имеется, поделитесь ссылкой.

lilik
Offline
Зарегистрирован: 19.10.2017

ТС у вас питания по схеме маловато для модуля, добавить до 4,5 В. Дальше просто дайте питание на модуль и попробуйте соединиться с ним через ноутбук со встроенным блютуз. Дальше прочитайте тут: https : // kolotushkin com article php id = 30

и "допросите" свой модуль. Ежели ничего не поможет, значит джойстик виноват)

 

 

svm
Offline
Зарегистрирован: 06.11.2016

БВВ пишет:

я не оцениваю работу. Мигание как минимум говорит о том, что питание идет на плату, да тестер показывает это, а остальные сигналы я не знаю какие должны быть

Если мигает, значит ждет соединения. Посмотри тему http://arduino.ru/forum/obshchii/multimetr-arduinoandroid  там много ссылок про БТ.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

БВВ пишет:

я не оцениваю работу. Мигание как минимум говорит о том, что питание идет на плату, да тестер показывает это, а остальные сигналы я не знаю какие должны быть

Я Вам в 20 посте посоветовал проверить работу ВТ - Вы похерили. Так что смотрите на лампочки.

БВВ
Offline
Зарегистрирован: 29.03.2021

Робота запустил! Всем, кто помогал - спасибо !!! Злопыхателям - удачно потренироваться в юморе! Тема закрыта!

incdpr
Offline
Зарегистрирован: 28.11.2020

andriano пишет:

Блин, как же достали лентяи, пренебрегающие сетевой этикой, не читающие правил форума, да еще и имеющие наглость указывать старожилам, для чего нужен форум!

 

А для чего нужен форум?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

incdpr пишет:

А для чего нужен форум?

Еще один не читатель, а писатель.

Правила форума читать не пробовали?

lilik
Offline
Зарегистрирован: 19.10.2017

lilik пишет:

ТС у вас питания по схеме маловато для модуля, добавить до 4,5 В. Дальше просто дайте питание на модуль и попробуйте соединиться с ним через ноутбук со встроенным блютуз. Дальше прочитайте тут: https : // kolotushkin com article php id = 30

и "допросите" свой модуль. Ежели ничего не поможет, значит джойстик виноват)

 

 

Как в воду глядел, взял модуль для пульта робота, установил режимы, подключаю к 3,7 В - не горит светодиод на платке. Думаю, спалил опять модуль перетыркивая...

...оказалось производитель поставил другой стабилизатор с минимальным напряжением входным 4,5 В вместо 3,6. 

incdpr
Offline
Зарегистрирован: 28.11.2020

andriano пишет:

Еще один не читатель, а писатель.

Правила форума читать не пробовали?

Ну по порядку.

1) Зачем пробовать. Надо просто читать и всё. Или с русским проблемы? Пробуем по буквам что-ли?

2) А Вы как "старожил" форума сможете быстро найти правила форума?

2.1 Для всего форума правила

2.2 Для подразделов если они там есть.

Где зашифрованы правила? Под каким пунктом, в какой ветке?

3) Очень даже интересно как правила форума описывают ситуацию "развитую" в этом диспуте?

Вы их сами то читали эти правила?

 

nik182
Offline
Зарегистрирован: 04.05.2015
andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Странно, что Вы более 4 месяцев на форуме и до сих пор не знаете, где находятся правила: http://arduino.ru/forum/pesochnitsa-razdel-dlya-novichkov/pesochnitsa-dlya-vsekh-novichkov

incdpr
Offline
Зарегистрирован: 28.11.2020

Разве я написал, что не знаю?

Хотя нашёл я их случайно. В пятом посте 25 абзаца третьей ветки форума