Проекти за роботи > Робо-сумо
Моят сумо робот
mivr:
Здравеите на всички днес реших да кача малко от работата ми във форума(който чета редовно)
Ето го и роботът:
Първо малко снимки:
отзад:
отстрани:
отпред:
изправен:
силовата елоктраника(7-9V):
връзките на силовата електроника:
ардуиното:
батерията:
ключетата:
инфрачервените датчици:
тук следи линия:
http://www.youtube.com/watch?v=4zjp6kS0Trw
тук е с програмата за сумо:
http://www.youtube.com/watch?v=s4pO-d7Y5kY
и самата програма:
--- Код: ---
int b = 5;
int pwmA = 9;
int A1 = 7;
int A2 = 8;
int pwmB =10;
int b_1 = 12;
int b2 = 13;
int val =0,val2 =0,val3 =0,sen =0,sen2 =5,sen3 = 2;
int chooser = 0,c = 1,cl = 3,cl2 = 4;
void setup()
{
Serial.begin(9600);
pinMode(cl,INPUT);
pinMode(cl2,INPUT);
pinMode(chooser,INPUT);
pinMode(pwmA,OUTPUT);
pinMode(A1,OUTPUT);
pinMode(A2,OUTPUT);
pinMode(pwmB,OUTPUT);
pinMode(b_1,OUTPUT);
pinMode(b2,OUTPUT);
pinMode(sen,INPUT);
pinMode(sen2,INPUT);
pinMode(c,OUTPUT);
analogWrite(pwmA,0);
digitalWrite(A1,HIGH);
digitalWrite(A2,LOW);
analogWrite(pwmA,255);
analogWrite(pwmB,0);
digitalWrite(b_1,HIGH);
digitalWrite(b2,LOW);
analogWrite(pwmB,255);
}
void loop()
{
val = analogRead(sen);
val2 = analogRead(sen2);
val3 = analogRead(sen3);
Serial.print("x = ");
Serial.print(val);
Serial.print("y = ");
Serial.print(val2);
Serial.print("z = ");
Serial.println(val3);
if(digitalRead(chooser) == HIGH)
{
Serial.println("1");
analogWrite(pwmA,0);
digitalWrite(A1,HIGH);
digitalWrite(A2,LOW);
analogWrite(pwmA,255);
analogWrite(pwmB,0);
digitalWrite(b_1,HIGH);
digitalWrite(b2,LOW);
analogWrite(pwmB,255);
if((digitalRead(cl) == LOW) && (digitalRead(cl2)==LOW) && (val<800))
{
val = analogRead(sen);
}
else
{
if(digitalRead(cl) == HIGH)
{
analogWrite(pwmA,0);
}
else
{
analogWrite(pwmA,255);
}
if(digitalRead(cl2) == HIGH)
{
analogWrite(pwmB,0);
}
else
{
analogWrite(pwmB,255);
}
val = analogRead(sen);
if(val>800)
{
analogWrite(pwmA,0);
digitalWrite(A1,LOW);
digitalWrite(A2,HIGH);
analogWrite(pwmA,255);
analogWrite(pwmB,0);
digitalWrite(b_1,LOW);
digitalWrite(b2,HIGH);
analogWrite(pwmB,255);
delay(500);
analogWrite(pwmA,0);
digitalWrite(A1,HIGH);
digitalWrite(A2,LOW);
analogWrite(pwmA,255);
delay(450);
}
}
}
else
{
Serial.println("2");
if(val<800)
{
while(val<800)
{
val = analogRead(sen);
analogWrite(pwmA,0);
}
analogWrite(pwmA,255);
}
else
{
analogWrite(pwmA,255);
}
if(val2<800)
{
while(val2<800)
{
val2 = analogRead(sen2);
analogWrite(pwmB,0);
}
analogWrite(pwmB,255);
}
else
{
analogWrite(pwmB,255);
}
}
}
--- Край на кода ---
sv_shady:
Браво! Доста добре работи машинката, надявам се да се видим началото на Юли на сбирката при Роботев и да го пробваме срещу опонент сумиста. :) Много се радвам, че има толкова млади ентусиасти като теб, които успяват да сглобят такива машинки. Сам ли се справи с всичките препядствия по пътя или някой ти помагаше, защото за твоята възраст да направиш нещо такова си е доста сериозно постижение. Гледам в подписа ти пише, че си в СМГ. Аз завърших СМГ миналата година и за съжаление, въпреки всичките демнострации, плакати и т.н. не на намерих много сериозни желаещи да се занимават с роботика. Кажи как е сред твоите връстници, има ли хора, които да се интересуват и да правят нещо? Иначе, за да не отклоняваме много темата, ако идваш Юли месец, да знаеш, че по правилник ринга е черен, а очертанията бели. След като вече робота работи добре, може да пробваш да му поприбереш малко жиците, че като нищо в истинска схватка, някоя може да се скъса. Още веднъж браво!
mitko29:
Найстина едно голямо БРАВО! :clap:
mivr:
Робота съм го правил сам без никаква помощ (с едно изключение за резистора на фототранзистора че бях сложил 2k ома а не 10k)
На сбирките при Роботев ще ходя всеки месец до састезанието че и след това с идеята всеки път да показвам нещо ново.
По въпроса за връстниците ми:В СМГ имам много връстници които се заинтересуваха от робота(понеже ми се налагаше да го нося на училище понеже срещата на клуба беше 1 час след края на школата ми по мат.)но много малко от тях(двама-трима) искат сериозно да се занимават с роботика.За жалост никои още не е почнал сериозно с роботиката. :(
За ринга знам че е черен(бях на първото състезание по роботика),но за да демонстрирам робота ми трябва бяла или черна повърхност(бяла е по-лесно да се намери) и затова си ходя с една лента изолирбанд и демонстрирам :)
А за жиците работя по въпроса но бавно за сега.
И за накрая днес успях да подкарам системата за стабилизиране и падане от квадрат 10см на 10см.
Ето две снимки:
и от друг ъгъл:
и накрая едно видео как пада:
http://www.youtube.com/watch?v=NEj7eIvITX0
sv_shady:
Това с падането много ми хареса! :) Какъв механизъм ползваш, защото на видеото не се вижда много? Значи идваш и на сбирките на клуба и сигурно сме се виждали, а може и дори в СМГ на някоя демнострация да сме се виждали ? :) Сега като видях колко е квадрат 10х10 и колко е голям роботът ти, мисля, че е доста сериозен конкурент. Юли месец при Роботев, ако ни натръшкаш, мисля, че ще трябва да правя и аз ново сумо през лятото :)
Още веднъж БРАВО! :)
Навигация
[0] Списък на темите
Премини на пълна версия