Dwengo/sumobot: verschil tussen versies
Verwijderde inhoud Toegevoegde inhoud
Label: Herhaalde karakters |
|||
Regel 455:
}
}
</source>
Laatste code van 6IB
<source lang='c'>
#include <dwengoConfig.h>
#include <dwengoBoard.h>
#include <dwengoDelay.h>
#include <dwengoLCD.h>
#include <dwengoSensorModule.h>
#include <dwengoMotor.h>
#define LINE 1
#define LIGHT 2
#define WALL 3
#define LIGHT_THRESHOLD 20
#define LINE_THRESHOLD 10
#define PROXIMITY_MIN_THRESHOLD 5
#define PROXIMITY_MAX_THRESHOLD 7
#define DISTANCE_THRESHOLD 70
#define MAX_SPEED_LIGHT 1023
#define LOW_SPEED_LIGHT 700
#define MAX_SPEED_LINE 900
#define LOW_SPEED_LINE 500
#define MAX_SPEED_WALL 1023
#define LOW_SPEED_WALL 550
void main(void) {
int teller,os1, os4, os5, os7, os6, os8, d1, d2; // variables for sensors
initBoard();
initLCD();
initSensorModule();
initMotor();
powerLongRange(TRUE);
teller = 0;
setLedPattern(1,0,0,0,0,0,0,1);
delay_ms(1000);
setLedPattern(1,1,0,0,0,0,1,1);
delay_ms(1000);
setLedPattern(1,1,1,0,0,1,1,1);
delay_ms(1000);
setLedPattern(1,1,1,1,1,1,1,1);
delay_ms(1000);
setLedPattern(0,0,0,0,0,0,0,0);
delay_ms(1000);
while(TRUE) {
os1 = readSensor(OS1, DIFF_MODE);
os4 = readSensor(OS4, DIFF_MODE);
printIntToLCD(os1 , 0, 10);
printIntToLCD(os4 , 0, 0 );
os8 = readSensor(OS8, ACTIVE_MODE);
clearLCD();
printIntToLCD(os8, 1, 0);
if (os8>40 ) {
if(os1 > 40 || os4 > 40){
setSpeedMotor1(-800);
setSpeedMotor2(-800);
delay_ms(1150);
setSpeedMotor1(-1023);
setSpeedMotor2(1023);
//delay_ms(1150);
}
setSpeedMotor1 (1023);
setSpeedMotor2 (1023);
delay_ms(100);
if (os6 < 40){
if (os5 < 40){
setSpeedMotor1 (800);
setSpeedMotor2 (-800);
delay_ms(2000);
if(os1 < 40 ){
teller = 0;
setSpeedMotor1(800);
setSpeedMotor2(-800);}
else if (os4 < 40){
teller = 0;
setSpeedMotor1(800);
setSpeedMotor2-(800);
}
}
else if (os7 < 40){
setSpeedMotor1 (-800);
setSpeedMotor2 (800);
delay_ms(2000);
if(os1 < 40 ){
teller = 0;
setSpeedMotor1(800);
setSpeedMotor2(-800);}
else if (os4 < 40){
teller = 0;
setSpeedMotor1(800);
setSpeedMotor2-(800);}
}
}
}
else
{
if(os1 < 40 ){
teller = 0;
setSpeedMotor1(800);
setSpeedMotor2(-800);}
else if (os4 < 40){
teller = 0;
setSpeedMotor1(800);
setSpeedMotor2-(800);
}
else{
setSpeedMotor1(-800);
setSpeedMotor2(-800);
delay_ms(1500);
setSpeedMotor1(-1023);
setSpeedMotor2(1023);
//delay_ms(1500);
}
}
}
}
</source>
|