Технический форум по робототехнике.
holomrn » 06 фев 2015, 02:15
мнда.
- Код: Выделить всё • Развернуть
int ch=PinE;
while(ch!='\r')
...
if(ch>500)
что вы этим хотели сказать?
Код не в стадии экспериментов, а в стадии тупого перебора "а может так заработает?"
Естественно зависает. Где ch изменяется?
Павел_Сергеевич » 06 фев 2015, 08:23
смысл в чем. есть редуктор, к нему должен крепится экран с удаленным сигментом. пока есть сигнал с датчика вращаем, допустим в право, сигнал пропал, вращение в лево на 0.1с и запускаем все тоже самое в лево. когда снова пропадает сигнал, вращаем 0.1с в право и цикл занова. ch должен браться с оптического датчикак. судя по мониторингу порта берется кажый раз. а while и нужен что бы зациклить, не стал использовать goto. но в ардкино и так вроде листинг программы зацикливается. блин, на визуального студия работала программа.
![Sad :-(](http://roboforum.ru/images/smilies/sad.gif)
ладно. не буду никого напрягать. раз это всем так тяжко. буду свои потуги осуществлять в гордом одиночестве.
![Smile :-)](http://roboforum.ru/images/smilies/smile.gif)
Angel71 » 06 фев 2015, 14:48
при чем тут напрягать? научиться хотите или и дальше на том же уровне оставаться? постоянно приходят люди, упорно пытаются хотелки свои поделать, а изучением языка почти не занимаются, просят готовые куски кода дать и потом спустя кучу месяцев остаются на уровне, когда максимум способны из готовых кусков коряво с n-го раза что-то лепить. продолжайте в таком духе и сможете пополнить их ряды. повторю ещё раз, учите язык, пока поменьше отвлекайтесь на эти ардуинки и хотелки. а по коду уже намекнули, на что именно обратить внимание в первую очередь - форматирование кода, функции, скобки, переменные и присваивание значений.
Павел_Сергеевич » 06 фев 2015, 16:00
буду учить. хотя дается очень тяжело.
holomrn » 07 фев 2015, 00:12
Павел_Сергеевич, приведу аналогю.
Место действия: сообщество очередного фанфика.
Персонаж: новоявленный автор.
- Народ, зацените произведение. Оцените проработанность персонажей, сюжетные ходы, и дайте советы по стилю изложения.
- Очередной попаданец, да еще и мери сью. А вообще, для начала грамматические ошибки исправить надо.
- Ну а сюжет как?
- Да говорят тебе, сначала ошибки исправь. И вообще открой словарь и учебник по русскому языку.
- ладно. не буду никого напрягать. раз это всем так тяжко. буду свои потуги осуществлять в гордом одиночестве.
Павел_Сергеевич » 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);
}
}
robovan » 15 мар 2015, 21:14
Чего вы на человека накинулись? Не всем даются языки программирования
![Wink :wink:](http://roboforum.ru/images/smilies/wink.gif)
Angel71 » 15 мар 2015, 21:37
robovan, кому не даётся, то и не программист, всё просто. а у tc уже вон сколько кода получилось.
кстати привета, редко ты в последнее время появляешся.
Павел_Сергеевич » 16 мар 2015, 07:55
А я собственно на звание программиста и не претиндую.
И вообще не понимаю, если человек не хочет помогать, зачем вообще сотрясать воздух?
Тема разрослась на две страницы, при этом ответов по делу было два,три.
И последний код не получился бы без этого человека. Я переменые функции прописал вне ее тела.
И вообще, если вы не хотите нам смертным помогать, зачем вообще обращать внимание?
Все пишут, учи язык программирования, а как его выучить без практики? Или ктото считает, что практика бывает без ошибок? Покажите мне этого гения. А просто зубрить книги бесполезно.
Angel71 » 16 мар 2015, 14:08
вас вообще-то похвалили, хотя как минимум с кодировками вы что-то начудили. кирилица "УСТАНОВКА КАК ВЫХОД", "если нет препятствий полный вперед",... латиницей симпотично смотрится. по книгам легко - читаете хоть кучу раз каждую книгу, решаете предлагаемые задачки. так после нескольких сот задачек в голове много чего полезного появится. а прислушиваться или нет, что совмещать изучение с реализацией хотелок не очень хорошо это уже ваше дело.
Павел_Сергеевич » 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 раз отправилось. И адресату и даже сасому себе.
С кодировками не знаю что. На ардуино нормально отображается.
Angel71 » 17 мар 2015, 10:21
robovan » 17 мар 2015, 13:19
Angel71 писал(а):robovan, кому не даётся, то и не программист, всё просто. а у tc уже вон сколько кода получилось.
кстати привета, редко ты в последнее время появляешся.
Приветсвую!! да, давненько не был. Я вот сейчас думаю над созданием вменяемого робота для разминирования. И вот тоже хотелось бы уже начать микроконтроллеры использовать, а не все на RC пультах сидеть.
![Embarassed :oops:](http://roboforum.ru/images/smilies/blush.gif)
Angel71 » 17 мар 2015, 15:55
диплом с друзяками делаете?
robovan » 17 мар 2015, 17:38
Angel71 писал(а):диплом с друзяками делаете?
та не)) робот сапер весч нужная в хозяйстве пригодится
![Crazy :crazy:](http://roboforum.ru/images/smilies/crazy.gif)