Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

ΜΑΘΗΤΙΚΟ ΦΕΣΤΙΒΑΛ ΡΟΜΠΟΤΙΚΗΣ 19 Ο ΓΥΜΝΑΣΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΕΚΘΕΣΙΑΚΟ ΜΕΡΟΣ.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΜΑΘΗΤΙΚΟ ΦΕΣΤΙΒΑΛ ΡΟΜΠΟΤΙΚΗΣ 19 Ο ΓΥΜΝΑΣΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΕΚΘΕΣΙΑΚΟ ΜΕΡΟΣ."— Μεταγράφημα παρουσίασης:

1 ΜΑΘΗΤΙΚΟ ΦΕΣΤΙΒΑΛ ΡΟΜΠΟΤΙΚΗΣ 19 Ο ΓΥΜΝΑΣΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΕΚΘΕΣΙΑΚΟ ΜΕΡΟΣ

2 To project “FIREEXPLORER” Ένα ρομποτικό όχημα «Πυρο-Εξερευνητής» το οποίο αποφεύγει τα υψηλά εμπόδια με τη βοήθεια του αισθητήρα υπερήχων και τα χαμηλά εμπόδια με τη βοήθεια του αισθητήρα αφής. Ο συναγερμός του “fire alarm” κινητοποιείται όταν ο αισθητήρας θερμοκρασίας ανιχνεύει θερμοκρασία > 28 ο C.

3 Το LEGO RCX ρομπότ “FireExplorer”

4 Το πρόγραμμα “FireExplorer” σε LEGO RCX

5 Το LEGO NXT ρομπότ “Bumperbot”

6 Το πρόγραμμα “Bumperbot3”σε NXT-G

7 Το LEGO NXT ρομπότ “Explorer”

8 Το πρόγραμμα “Explorer” σε NXT-G

9 Το NXT ρομπότ “FireExplorer”

10

11 Το πρόγραμμα “FireExplorer”σε ΝΧΤ-G

12 Το LEGO EV3 ρομπότ “Explorer”

13

14

15 Το LEGO EV3 ρομπότ “FireExplorer”

16

17

18

19 Το πρόγραμμα “FireExplorer” σε LEGO EV3

20 Το ρομπότ “FireExplorer” σε Arduino

21

22

23

24 Το πρόγραμμα “FireExplorer” σε Wiring C (Arduino) /* RC looking around with ultrasound on a servo and turning to the direction of longest distance from an obstacle. In addition to that, RC has moustache type two switches -->right touch or closing circuit lights the blue LED on and makes a left turn -->left touch or closing circuit lights the red LED on and makes a right turn */ #include #include "AFMotor.h" AF_DCMotor motor1(1, MOTOR12_64KHZ); AF_DCMotor motor2(2, MOTOR12_64KHZ); Servo servoHEAD; #define echoPin 14 // Echo Pin #define trigPin 15 // Trigger Pin const int ledfire = 20; // choose the pin for the LEDs const int inputLEFT = 16; // choose the input pin (for a pushbutton) const int inputRIGHT = 17; int minimumRange = 40; // Minimum range needed long duration, distance; // Duration used to calculate distance int maxDistance[30]; int maxD=1; int i,vector,pos,time; //####################################################################################/ void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(ledfire, OUTPUT); // declare LED as output pinMode(inputLEFT, INPUT); // declare pushbutton as input pinMode(inputRIGHT, INPUT); motor1.setSpeed(170); motor2.setSpeed(170); servoHEAD.attach(10);

25 Το πρόγραμμα “FireExplorer” σε Wiring C (Arduino) } //####################################################################################/ void loop() { servoHEAD.write(90); moustache(); //@@@@@@@@@@@@@@@@@@@@ find_distance(); control_minimum_distance(); /******************************************/ if (distance 20) { motor1.run(RELEASE); motor2.run(RELEASE); i=0; for(pos = 0; pos < 180; pos= pos + 6) { i=i+1; servoHEAD.write(pos); find_distance(); maxDistance[i]=distance; if(maxDistance[i]> maxD) {maxD = maxDistance[i]; vector = pos; delay(30); } servoHEAD.write(90); } /* for(pos = 180; pos>=1; pos= pos - 6) { i = i+1;

26 Το πρόγραμμα “FireExplorer” σε Wiring C (Arduino) servoHEAD.write(pos); find_distance(); maxDistance[i]=distance; if(maxDistance[i]> maxD) {maxD = maxDistance[i]; vector = pos; delay(30); }*/ //} Serial.print("maxD= "); Serial.println(maxD); Serial.print(" At an angle: "); Serial.println(vector); /****************************************/ if(vector<90) { time = vector*(500/90); motor2.run(BACKWARD); motor1.run(FORWARD); moustache(); //@@@@@@@@@@@@@@@@@@@@ delay(time); } if(vector>=90) { time = (vector-90)*(500/90); motor1.run(BACKWARD); motor2.run(FORWARD); moustache(); //@@@@@@@@@@@@@@@@@@@@ delay(time); } Serial.print(" ------------------ time = "); Serial.println(time); } else {

27 Το πρόγραμμα “FireExplorer” σε Wiring C (Arduino) if (distance >= minimumRange) { motor1.run(BACKWARD); motor2.run(BACKWARD); moustache(); //@@@@@@@@@@@@@@@@@@@@ Serial.print("distance>maximum*********** ="); Serial.println(distance); } //getting the voltage reading from the temperature sensor int reading = analogRead(sensorPin); // converting that readbbbbbbbbbbbbbbbbing to voltage, for 3.3v arduino use 3.3 float voltage = reading * 5.0; voltage /= 1024.0; // print out the voltage Serial.print(voltage); Serial.println(" volts"); // now print out the temperature float temperatureC = (voltage - 0.5) * 100 ; //converting from 10 mv per degree wit 500 mV offset //to degrees ((voltage - 500mV) times 100) Serial.print(temperatureC); Serial.println(" degrees C"); if(temperatureC >= 19) { motor1.run(BACKWARD); motor2.run(BACKWARD); delay(1000) motor1.run(RELEASE); motor2.run(RELEASE); digitalWrite(ledfire, HIGH); } else {

28 Το πρόγραμμα “FireExplorer” σε Wiring C (Arduino) digitalWrite(ledfire, LOW); } delay(1000); //waiting a second } //####################################################################################/ void find_distance() { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); //Calculate the distance (in cm) based on the speed of sound. distance = duration/58.2; } //####################################################################################/ void control_minimum_distance() { if(distance<20) { motor1.run(RELEASE); motor2.run(RELEASE); while (distance<20) { motor1.run(FORWARD); motor2.run(FORWARD); delay(50); find_distance(); }

29 Το πρόγραμμα “FireExplorer” σε Wiring C (Arduino) } else { motor1.run(BACKWARD); motor2.run(BACKWARD); moustache(); //@@@@@@@@@@@@@@@@@@@@ } } //####################################################################################/ void moustache() { int val1 = digitalRead(inputLEFT); // read input value int val2 = digitalRead(inputRIGHT); if (val1 == HIGH) // check if the input is HIGH { motor1.run(RELEASE); motor2.run(RELEASE); motor2.run(BACKWARD); // and in that case turns right motor1.run(FORWARD); delay(500); } else { servoHEAD.write(90); } if (val2 == HIGH) // check if the input is HIGH { motor1.run(RELEASE); motor2.run(RELEASE); motor1.run(BACKWARD); motor2.run(FORWARD); delay(500); } else { servoHEAD.write(90); }

30 Αλγόριθμος ή …


Κατέβασμα ppt "ΜΑΘΗΤΙΚΟ ΦΕΣΤΙΒΑΛ ΡΟΜΠΟΤΙΚΗΣ 19 Ο ΓΥΜΝΑΣΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΕΚΘΕΣΙΑΚΟ ΜΕΡΟΣ."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google