SuGO Bot Matlab Code: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:
clc
clc


b = Brick('ioType','usb');<br/>
b = Brick('ioType','usb');   %Verbindung zum EV3 Brick erstellen<br/>
motorPower = 40;
motorPower = 40;   %Standardgeschwindigkeit des Motors auf 40 setzen


while (true)
while (true)   %Hauptschleife
     disp('main')
     disp('main')
     b.outputPower(0,Device.MotorA,motorPower)
     b.outputPower(0,Device.MotorA,motorPower)
Zeile 16: Zeile 16:
     b.outputStart(0,Device.MotorD)
     b.outputStart(0,Device.MotorD)
     pause(0.0001);
     pause(0.0001);
     layer = 0;
     layer = 0;   %definition des Layers für die Sensoren
     no1 = 0;
     no1 = 0;
     no2 = 1;
     no2 = 1;
     mode = -1;   
     mode = -1;   %Modus der Sensoren wählen(-1 bedeutet Standardmodus beibehalten)  
     ultrasonic = b.inputReadSI(layer,no1,mode);
     ultrasonic = b.inputReadSI(layer,no1,mode);   %auslesen des Ultraschallsensors
     pause(0.0001);
     pause(0.0001);
     coloursensor = b.inputReadSI(layer,no2,mode);
     coloursensor = b.inputReadSI(layer,no2,mode);   %auslesen des Farbsensors
     pause(0.0001);
     pause(0.0001);


     if coloursensor <= 10
     if coloursensor <= 10   %wenn schwarze Linie erkannt wird
         disp('schwarze linie')
         disp('schwarze linie')
         b.outputPower(0,Device.MotorA,-60)
         b.outputPower(0,Device.MotorA,-60)
Zeile 52: Zeile 52:
         pause(0.0001);     
         pause(0.0001);     
     end
     end
     if ultrasonic <= 30
     if ultrasonic <= 30   %wenn Gegner erkannt wird
         disp('gegner gesichtet')
         disp('gegner gesichtet')
         b.outputPower(0,Device.MotorA,90)
         b.outputPower(0,Device.MotorA,90)
Zeile 64: Zeile 64:
          
          
     end   
     end   
     if coloursensor >= 11 && ultrasonic >= 31
     if coloursensor >= 11 && ultrasonic >= 31   % kein Event eingetroffen
         disp('kein gegner oder schwarze linie')     
         disp('kein gegner oder schwarze linie')     
     end     
     end     
end
end


b.outputStop(0,Device.MotorA,0)<br/>
b.outputStop(0,Device.MotorA,0)   %abschalten der Motoren<br/>
b.outputStop(0,Device.MotorD,0)
b.outputStop(0,Device.MotorD,0)


delete(b);
delete(b);

Version vom 21. Januar 2014, 12:34 Uhr

clear all
close all
clc

b = Brick('ioType','usb'); %Verbindung zum EV3 Brick erstellen
motorPower = 40; %Standardgeschwindigkeit des Motors auf 40 setzen

while (true) %Hauptschleife

   disp('main')
   b.outputPower(0,Device.MotorA,motorPower)
   pause(0.0001);
   b.outputStart(0,Device.MotorA)
   pause(0.0001);
   b.outputPower(0,Device.MotorD,motorPower)
   pause(0.0001);
   b.outputStart(0,Device.MotorD)
   pause(0.0001);
   layer = 0;   %definition des Layers für die Sensoren
   no1 = 0;
   no2 = 1;
   mode = -1;    %Modus der Sensoren wählen(-1 bedeutet Standardmodus beibehalten)  
   ultrasonic = b.inputReadSI(layer,no1,mode);    %auslesen des Ultraschallsensors
   pause(0.0001);
   coloursensor = b.inputReadSI(layer,no2,mode);    %auslesen des Farbsensors
   pause(0.0001);
   if coloursensor <= 10    %wenn schwarze Linie erkannt wird
       disp('schwarze linie')
       b.outputPower(0,Device.MotorA,-60)
       pause(0.0001);
       b.outputStart(0,Device.MotorA)
       pause(0.0001);
       b.outputPower(0,Device.MotorD,-60)
       pause(0.0001);
       b.outputStart(0,Device.MotorD)
       pause(0.6);
       b.outputPower(0,Device.MotorA,60)
       pause(0.0001);
       b.outputStart(0,Device.MotorA)
       pause(0.0001);
       b.outputPower(0,Device.MotorD,-60)
       pause(0.0001);
       b.outputStart(0,Device.MotorD)
       pause(0.7);
       b.outputPower(0,Device.MotorA,motorPower)
       pause(0.0001);
       b.outputStart(0,Device.MotorA)
       pause(0.0001);
       b.outputPower(0,Device.MotorD,motorPower)
       pause(0.0001);
       b.outputStart(0,Device.MotorD)
       pause(0.0001);     
   end
   if ultrasonic <= 30    %wenn Gegner erkannt wird
       disp('gegner gesichtet')
       b.outputPower(0,Device.MotorA,90)
       pause(0.0001);
       b.outputStart(0,Device.MotorA)
       pause(0.0001);
       b.outputPower(0,Device.MotorD,90)
       pause(0.0001);
       b.outputStart(0,Device.MotorD)
       pause(0.1);
       
   end   
   if coloursensor >= 11 && ultrasonic >= 31    % kein Event eingetroffen
       disp('kein gegner oder schwarze linie')     
   end    

end

b.outputStop(0,Device.MotorA,0) %abschalten der Motoren
b.outputStop(0,Device.MotorD,0)

delete(b);