roboforum.ru

Технический форум по робототехнике.

пробные шаги в с++

Вопросы не попавшие в другие категории.

Re: пробные шаги в с++

Сообщение holomrn » 06 фев 2015, 02:15

мнда.
Код: Выделить всёРазвернуть
 int ch=PinE;
while(ch!='\r')
...
if(ch>500)


что вы этим хотели сказать?
Код не в стадии экспериментов, а в стадии тупого перебора "а может так заработает?"
Естественно зависает. Где ch изменяется?
holomrn
 
Сообщения: 609
Зарегистрирован: 08 май 2014, 18:32

Re: пробные шаги в с++

Сообщение Павел_Сергеевич » 06 фев 2015, 08:23

смысл в чем. есть редуктор, к нему должен крепится экран с удаленным сигментом. пока есть сигнал с датчика вращаем, допустим в право, сигнал пропал, вращение в лево на 0.1с и запускаем все тоже самое в лево. когда снова пропадает сигнал, вращаем 0.1с в право и цикл занова. ch должен браться с оптического датчикак. судя по мониторингу порта берется кажый раз. а while и нужен что бы зациклить, не стал использовать goto. но в ардкино и так вроде листинг программы зацикливается. блин, на визуального студия работала программа.:-( ладно. не буду никого напрягать. раз это всем так тяжко. буду свои потуги осуществлять в гордом одиночестве. :-)
Всем удачного дня и хорошего настроения!
Аватара пользователя
Павел_Сергеевич
 
Сообщения: 170
Зарегистрирован: 17 окт 2012, 01:19
Откуда: москва - Гусь-Хрустальный
Skype: sadtenei

Re: пробные шаги в с++

Сообщение Angel71 » 06 фев 2015, 14:48

при чем тут напрягать? научиться хотите или и дальше на том же уровне оставаться? постоянно приходят люди, упорно пытаются хотелки свои поделать, а изучением языка почти не занимаются, просят готовые куски кода дать и потом спустя кучу месяцев остаются на уровне, когда максимум способны из готовых кусков коряво с n-го раза что-то лепить. продолжайте в таком духе и сможете пополнить их ряды. повторю ещё раз, учите язык, пока поменьше отвлекайтесь на эти ардуинки и хотелки. а по коду уже намекнули, на что именно обратить внимание в первую очередь - форматирование кода, функции, скобки, переменные и присваивание значений.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: пробные шаги в с++

Сообщение Павел_Сергеевич » 06 фев 2015, 16:00

буду учить. хотя дается очень тяжело.
Всем удачного дня и хорошего настроения!
Аватара пользователя
Павел_Сергеевич
 
Сообщения: 170
Зарегистрирован: 17 окт 2012, 01:19
Откуда: москва - Гусь-Хрустальный
Skype: sadtenei

Re: пробные шаги в с++

Сообщение holomrn » 07 фев 2015, 00:12

Павел_Сергеевич, приведу аналогю.
Место действия: сообщество очередного фанфика.
Персонаж: новоявленный автор.
- Народ, зацените произведение. Оцените проработанность персонажей, сюжетные ходы, и дайте советы по стилю изложения.
- Очередной попаданец, да еще и мери сью. А вообще, для начала грамматические ошибки исправить надо.
- Ну а сюжет как?
- Да говорят тебе, сначала ошибки исправь. И вообще открой словарь и учебник по русскому языку.
- ладно. не буду никого напрягать. раз это всем так тяжко. буду свои потуги осуществлять в гордом одиночестве.
holomrn
 
Сообщения: 609
Зарегистрирован: 08 май 2014, 18:32

Re: пробные шаги в с++

Сообщение Павел_Сергеевич » 15 мар 2015, 20:17

Я продвинулся? Это работает.
Код: Выделить всёРазвернуть
#include<iostream>

int PinVL =9;  //âïåðåä ëåâûé
int PinNL =10; //íàçàä ëåâûé
int PinVR =11; //âïåðåä ïðàâûé
int PinNR =12; //íàçàä ïðàâûé
int PinSL =0;  //ñåíñîð ëåâûé
int PinSR =1;  //ñåíñîð ïðàâûé
void setup()
{
  analogReference(DEFAULT);
  pinMode(PinVL, OUTPUT);                    //ÓÑÒÀÍÎÂÊÀ ÊÀÊ ÂÛÕÎÄ
  pinMode(PinNL, OUTPUT);
  pinMode(PinVR, OUTPUT);
  pinMode(PinNR, OUTPUT);
  Serial.begin(9600);
}
void motor(int A, int B, int C, int D)
{
digitalWrite(PinVL,A);
digitalWrite(PinNL,B);
digitalWrite(PinVR,C);
digitalWrite(PinNR,D);
}
void motorStop()
{
motor(LOW,LOW,LOW,LOW);
}
void loop()
{
  int signalL=analogRead(PinSL);
  int signalR=analogRead(PinSR);
  signalL = constrain(signalL,0,1023);
  signalR = constrain(signalR,0,1023);
  motorStop();
  if (signalL<470 && signalR<470)     //åñëè íåò ïðåïÿòñòâèé ïîëíûé âïåðåä
   motor(HIGH,LOW,HIGH,LOW);
   delay (200);
   motorStop();
   delay (1);
    if (signalL>800 && signalR>800)      //åñëè ïðåïÿòñòâèå ïðÿìî ïî êóðñó,
    {                                //íàçàä è ðàçâîðîò
    motor (LOW,HIGH,LOW,HIGH);
    delay(500);
    motorStop();
    delay (1);
    motor (HIGH,LOW,LOW,HIGH);
    delay(300);
    }
    else
     if (signalL<600 && signalR>600)  //åñëè ïðåïÿòñòâèå ñëåâà, ëåâûé âïåðåä
     {
     int roatLr = map(signalL, 1023, 450, 255, 0);
     motor (HIGH,LOW,LOW,roatLr);
     delay(100);
     }
      else
       if (signalL>600 && signalR<600)  //åñëè ïðåïÿòñòâèå ñïðàâà, ïðàâûé âïåðåä
       {
        int roatRr = map(signalR, 1023, 450, 255, 0);
        motor (LOW,roatRr,HIGH,LOW);
        delay(100);
   }
}
Всем удачного дня и хорошего настроения!
Аватара пользователя
Павел_Сергеевич
 
Сообщения: 170
Зарегистрирован: 17 окт 2012, 01:19
Откуда: москва - Гусь-Хрустальный
Skype: sadtenei

Re: пробные шаги в с++

Сообщение robovan » 15 мар 2015, 21:14

Чего вы на человека накинулись? Не всем даются языки программирования :wink:
Самое важное в жизни- найти человека , который смотрит на мир, так же как и ты:)
Аватара пользователя
robovan
 
Сообщения: 1536
Зарегистрирован: 04 сен 2012, 00:39
Откуда: Украина
ФИО: Владимир

Re: пробные шаги в с++

Сообщение Angel71 » 15 мар 2015, 21:37

robovan, кому не даётся, то и не программист, всё просто. а у tc уже вон сколько кода получилось.
кстати привета, редко ты в последнее время появляешся.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: пробные шаги в с++

Сообщение Павел_Сергеевич » 16 мар 2015, 07:55

А я собственно на звание программиста и не претиндую.
И вообще не понимаю, если человек не хочет помогать, зачем вообще сотрясать воздух?
Тема разрослась на две страницы, при этом ответов по делу было два,три.
И последний код не получился бы без этого человека. Я переменые функции прописал вне ее тела.
И вообще, если вы не хотите нам смертным помогать, зачем вообще обращать внимание?
Все пишут, учи язык программирования, а как его выучить без практики? Или ктото считает, что практика бывает без ошибок? Покажите мне этого гения. А просто зубрить книги бесполезно.
Всем удачного дня и хорошего настроения!
Аватара пользователя
Павел_Сергеевич
 
Сообщения: 170
Зарегистрирован: 17 окт 2012, 01:19
Откуда: москва - Гусь-Хрустальный
Skype: sadtenei

Re: пробные шаги в с++

Сообщение Angel71 » 16 мар 2015, 14:08

вас вообще-то похвалили, хотя как минимум с кодировками вы что-то начудили. кирилица "УСТАНОВКА КАК ВЫХОД", "если нет препятствий полный вперед",... латиницей симпотично смотрится. по книгам легко - читаете хоть кучу раз каждую книгу, решаете предлагаемые задачки. так после нескольких сот задачек в голове много чего полезного появится. а прислушиваться или нет, что совмещать изучение с реализацией хотелок не очень хорошо это уже ваше дело.
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: пробные шаги в с++

Сообщение Павел_Сергеевич » 17 мар 2015, 09:53

holomrn писал(а):мнда.
Код: Выделить всёРазвернуть
 int ch=PinE;
while(ch!='\r')
...
if(ch>500)


что вы этим хотели сказать?
Код не в стадии экспериментов, а в стадии тупого перебора "а может так заработает?"
Естественно зависает. Где ch изменяется?


По задумки должен сыитывать с пина Е.
А цикл не равен энтору для зацикливания всей программы.
Я понимаю что с пина Е сигнал ентор не прийдет.

Добавлено спустя 3 минуты 7 секунд:
holomrn писал(а):мнда.
Код: Выделить всёРазвернуть
 int ch=PinE;
while(ch!='\r')
...
if(ch>500)


что вы этим хотели сказать?
Код не в стадии экспериментов, а в стадии тупого перебора "а может так заработает?"
Естественно зависает. Где ch изменяется?


По задумки должен сыитывать с пина Е.
А цикл не равен энтору для зацикливания всей программы.
Я понимаю что с пина Е сигнал ентор не прийдет.

Добавлено спустя 11 минут 5 секунд:
За двойной ответ извинюсь. Не знаю, то ли телефон глючит, то ли сетьё в личку отправлял...
Там 5-7 раз отправилось. И адресату и даже сасому себе.
С кодировками не знаю что. На ардуино нормально отображается.
Всем удачного дня и хорошего настроения!
Аватара пользователя
Павел_Сергеевич
 
Сообщения: 170
Зарегистрирован: 17 окт 2012, 01:19
Откуда: москва - Гусь-Хрустальный
Skype: sadtenei

Re: пробные шаги в с++

Сообщение Angel71 » 17 мар 2015, 10:21

редактируйте, есть кнопка "правка". http://arduino.cc/en/Reference/digitalRead
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: пробные шаги в с++

Сообщение robovan » 17 мар 2015, 13:19

Angel71 писал(а):robovan, кому не даётся, то и не программист, всё просто. а у tc уже вон сколько кода получилось.
кстати привета, редко ты в последнее время появляешся.

Приветсвую!! да, давненько не был. Я вот сейчас думаю над созданием вменяемого робота для разминирования. И вот тоже хотелось бы уже начать микроконтроллеры использовать, а не все на RC пультах сидеть. :oops:
Самое важное в жизни- найти человека , который смотрит на мир, так же как и ты:)
Аватара пользователя
robovan
 
Сообщения: 1536
Зарегистрирован: 04 сен 2012, 00:39
Откуда: Украина
ФИО: Владимир

Re: пробные шаги в с++

Сообщение Angel71 » 17 мар 2015, 15:55

диплом с друзяками делаете?
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18
Предупреждения: -1

Re: пробные шаги в с++

Сообщение robovan » 17 мар 2015, 17:38

Angel71 писал(а):диплом с друзяками делаете?

та не)) робот сапер весч нужная в хозяйстве пригодится :crazy:
Самое важное в жизни- найти человека , который смотрит на мир, так же как и ты:)
Аватара пользователя
robovan
 
Сообщения: 1536
Зарегистрирован: 04 сен 2012, 00:39
Откуда: Украина
ФИО: Владимир

Пред.След.

Вернуться в Обо всём

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8