sms pötyögő

+ kis-, és nagybetű, írásjelek, stb.
készítők : bogdányi tamás bogdanyi@inf.elte.hu, földesi tamás bearny@inf.elte.hu, kardos istván kardi_@inf.elte.hu, katzer péter konzerv@freemail.hu


a robot a pc-s programba beírt sms-t bepötyögi a mobiltelefonba, ügyelve a kis- és nagybetűkre, írásjelekre. ha az egymást követő betűk ugyanazon a billentyűn vannak, akkor a két betű között megfelelő szünetet tart.

a legtöbb probléma a gombok megnyomásával volt, néha túl erősen nyomta meg, és szétesett az egész, vagy lecsúszott a gombról a készség. ezt úgy oldottuk meg, hogy súlyokat helyeztünk a lenyomó mechanizmusra, így az nem tud felemelkedni, valamint egy nyomásérzékelő nyomja meg a gombot, így érzékelni lehet, hogy mikor nyomta meg a gombot, és akkor kell visszahúzni a kart. + a kar végére egy csúszásgátló gumi került. (fő a biztonság :-) )

a kar pozícionálását két motor végzi, a két irány szerint. a gombok helyzetét egy felragasztott fekete sáv jelzi, amit fényérzékelővel észlel a robot. indításkor ezen sávok alapján kalibrálást végez a gépezet.

 

a robotról készült videók:

video.avi
video.avi
video.avi

a programok forrásai:

sms.zip - a pc-n futó delphi program forrása

#define sensorv SENSOR_1
#define sensorf SENSOR_2
#define nyomi SENSOR_3
#define motorv OUT_A
#define motorf OUT_B
#define motorn OUT_C

int temp;

task main(){
}


task kalib(){
temp=1;
SetSensor(sensorv, SENSOR_LIGHT);
SetSensor(sensorf, SENSOR_LIGHT);
SetSensor(nyomi,SENSOR_TOUCH);
SetSensorMode(sensorv, SENSOR_MODE_PERCENT);
SetSensorMode(sensorf, SENSOR_MODE_PERCENT);
SetSensorMode(nyomi,SENSOR_MODE_BOOL);


//kalibralas
SetPower(motorv,100);
OnRev(motorv);
while (nyomi==0);
Fwd(motorv);
while (sensorv>=37);
Off(motorv);

SetPower(motorf,100);
OnRev(motorf);
while (nyomi==0);
Fwd(motorf);
while (sensorf>=45);
Off(motorf);
//kalibralas vege
temp=0;
}

task jobbra(){
temp=1;
OnFwd(motorv);
while (sensorv<=37);
while (sensorv>=37);
Off(motorv);
temp=0;
}

task balra(){
temp=1;
OnRev(motorv);
while (sensorv<=37);
while (sensorv>=37);
Off(motorv);
temp=0;
}

task le(){
temp=1;
OnFwd(motorf);
while (sensorf<=45);
while (sensorf>=45);
Off(motorf);
temp=0;
}

task fel(){
temp=1;
OnRev(motorf);
while (sensorf<=45);
while (sensorf>=45);
Off(motorf);
temp=0;
}

task lenyom(){
temp=1;
SetPower(motorn,10);
OnRev(motorn);
while (nyomi==0);
Wait(1);
Fwd(motorn);
Wait(15);
Off(motorn);
temp=0;
}

© 2002, design by pucka lánctalpas járgány