SuGO Bot Matlab Code: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „clear all close all clc b = Brick('ioType','usb'); motorPower = 40; while (true) disp('main') b.outputPower(0,Device.MotorA,motorPower) pause(0.…“)
 
Keine Bearbeitungszusammenfassung
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
<pre>
clear all
clear all
close all
close all
clc
clc


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


motorPower = 40;
while (true)   %Hauptschleife
 
while (true)
     disp('main')
     disp('main')
     b.outputPower(0,Device.MotorA,motorPower)
     b.outputPower(0,Device.MotorA,motorPower)
Zeile 17: Zeile 17:
     b.outputStart(0,Device.MotorD)
     b.outputStart(0,Device.MotorD)
     pause(0.0001);
     pause(0.0001);
 
     layer = 0;   %definition des Layers für die Sensoren
     layer = 0;
     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);   %auslesen des Ultraschallsensors
     ultrasonic = b.inputReadSI(layer,no1,mode);
     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 53: Zeile 51:
         pause(0.0001);
         pause(0.0001);
         b.outputStart(0,Device.MotorD)
         b.outputStart(0,Device.MotorD)
         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 67: Zeile 64:
         pause(0.1);
         pause(0.1);
          
          
     end
     end  
   
     if coloursensor >= 11 && ultrasonic >= 31   % kein Event eingetroffen
     if coloursensor >= 11 && ultrasonic >= 31
         disp('kein gegner oder schwarze linie')     
         disp('kein gegner oder schwarze linie')     
     end
     end  
   
end
end


b.outputStop(0,Device.MotorA,0)
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);
</pre>

Aktuelle Version vom 28. Januar 2014, 15:21 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<br/>
b.outputStop(0,Device.MotorD,0)

delete(b);