Projektas #1: Interaktyvus robotas

Išmokite sukurti ir užprogramuoti interaktyv? robot? panaudodami „Maker Control Kit“ komplektuojam? robotikos rinkini? valdymo plokšt?s ir „Maker Kit 3“ komplektuojamo robotikos rinkinio komponentus.

Roboto sistemos sukonstravimui naudokite vykdom?j? varikl?, atstumo jutikl? ir raudonos bei geltonos spalvos LED. Kai atstumo jutiklis priešais save aptinka objekt? arba jud?jim?, roboto LED lemput?s mirksi pakaitomis ir jis mojuos ranka. Sukurkite savo pirm?j? interaktyv? robot?!

SUD?TINGUMO LYGIS: Pradedantiesiems.

PRATIMO TRUKM?: 60 min.

MEDŽIAGOS:

  • 1x vykdomasis variklis
  • 1x ultragarsinis atstumo jutiklis
  • 1x raudonos spalvos LED
  • 1x geltonos spalvos LED
  • 1x „4in1 Build & Code“ plokšt?
  • 1x USB – Mikro USB kabelis
  • Kompiuteris
  • Medžiagos roboto konstrukcijai
  • Klijai arba lipni juosta

Kas yra ultragarsinis atstumo jutiklis?

Ultragarsinis jutiklis yra atstumo matavimo prietaisas. Jis veikia, si?sdamas aukšto dažnio garso signal?, kuris n?ra girdimas žmogaus ausiai. Šis pulsas atšoka nuo šalia esan?i? objekt? ir atsispindi ? jutikl?, kuris turi š? dažn? galint? fiksuoti mikrofon?.

Išmatuojant laik? tarp signal? ir žinant garso greit?, galima ?vertinti atstum? iki objekto ? kurio pavirši? pataik? ultragarsinis signalas.

KONSTRUKCIJOS SUK?RIMAS:

Roboto korpuso, rankos ir atram? sukonstravimui naudosite vatmano lapus.

Nor?dami sukonstruoti konstrukcij?, parsisi?skite interaktyvaus roboto trafaret? ir greito sukonstravimo vadov?. Atlikite nurodytus veiksmus.

Elektronini? komponent? pritvirtinimui prie konstrukcijos, naudokite lipni? juost? arba klijus. T? atlikite su LED ir dalimis, kurios jungia rank? su vykdomuoju varikliu.

Sumontavus konstrukcij?, prijunkite visus elektroninius komponentus ir USB kabel? kaip nurodyta žemiau pateiktame skyriuje „Jungtys“.

JUNGTYS:

  1. Prijunkite raudonos spalvos LED prie „4in1 Build&Code“ plokšt?s skaitmenin?s jungties Nr. 4.
  2. Prijunkite geltonos spalvos LED prie „4in1 Build&Code“ plokšt?s skaitmenin?s jungties Nr. 5.
  3. Prijunkite vykdom?j? varikl? prie „4in1 Build&Code“ plokšt?s skaitmenin?s jungties Nr. 9.
  4. Prijunkite ultragarsin? atstumo jutikl? prie „4in1 Build&Code“ plokšt?s skaitmenini? jung?i? Nr. 12 ir Nr. 13.

Perži?r?kite kabeli? spalvas ir „4in1 Build & Code“ plokšt?s kontakt? spalvas, kad žinotum?te kaip sujungti. Kiekvienas kabelis tur?t? b?ti prijungtas prie jo spalvos:

PROGRAMOS KODAS:

Programa gauna atstumo vertes iš ultragarsinio atstumo jutiklio. Jei atstumas yra mažesnis nei 30 cm ir didesnis nei 1 cm, ji pakartotinai nukreips vykdom?j? varikl? nuo 140º iki 60º bei ?jungs ir išjungs raudon? ir gelton? LED kas 0,3 sekund?s du kartus.

Jei atstumas yra didesnis nei 30 cm, jis išlaikys vykdomojo variklio pad?t? ties 140°, o LED švies nemirks?dami. Ši seka kartosis kol sistemai yra tiekiamas maitinimas.

Šiuos veiksmus galite atlikti naudodami „Arduino“ ir „Bitbloq“ programin? ?rang?, taip pat kit? suderinam? vaizdin? programavimo programin? ?rang?, naudojan?i? blokus. Žemiau pateikiamas programin?s ?rangos kodas, reikalingas kiekvienai programinei ?rangai.

„Arduino“ kodas

  1. Parsisi?skite „Arduino“ programin? ?rang?  ir atlikite ?diegimo proces?.
  2. aleiskite program? ir nukopijuokite toliau pateikt? kod?:
    #include <Servo.h>
    Servo motor1; // Declare servomotor
    int TrigPin = 13;  // ULTRASONIC SENSOR PORTS
    int EchoPin = 12;  
    float SSound = 0.0343;  // SPEED OF SOUND IN cm/us
    long Lengh, Distance ;  // VARIABLES TO CALCULATE THE DISTANCE IN cm
    int RedLED = 4, YellowLED = 5;
    
    void setup() {
      // Put your setup code here, to run once:
      motor1.attach (9); // DIGITAL PORT PWM 9 WHERE SERVO 1 IS CONNECTED
      pinMode(TrigPin, OUTPUT); // DIGITAL PORTS 12 Y 13 WHERE THE ULTRASONIC SENSOR IS CONNECTED  
      pinMode(EchoPin, INPUT);
      pinMode(RedLED, OUTPUT);
      pinMode(YellowLED, OUTPUT);
    }
    
    void loop() {
      // Put your main code here, to run repeatedly:
      DistanceCM(); // CALL THE FUNCTION TO CALCULATE THE DISTANCE
      if (( Distance < 30) && ( Distance > 1)) // IF THE DISTANCE IS BETWEEN 1 AND 30 cm
        {
          // WAVE TWO TIMES and BLINK THE LEDS
          for (int x=0; x<2 ; x++)
          {
            motor1.write (140); 
            digitalWrite(RedLED, HIGH);
            digitalWrite(YellowLED, LOW);
            delay (300);
            motor1.write (60); 
            digitalWrite(RedLED, LOW);
            digitalWrite(YellowLED, HIGH);
            delay (300);
          }
          
        }
        else
        {
          // INITIAL POSITION AND LEDS ON, SET
          motor1.write(140);  
          digitalWrite(RedLED, HIGH);
          digitalWrite(YellowLED, HIGH);
        }
    }
    
    void DistanceCM()// FUNCTION TO CALCULATE DISTANCE
    {
      // DISTANCE CALCULATION IN cm 
      digitalWrite(TrigPin, LOW);        // We check that the trigger is deactivated
      delayMicroseconds(4);              // To make sure that the trigger is LOW
      digitalWrite(TrigPin, HIGH);       // We activate the output pulse
      delayMicroseconds(14);             // We wait 10µs. The pulse is still active this time
      digitalWrite(TrigPin, LOW);        // We cut the pulse and wait for ECHO
      Lengh = pulseIn(EchoPin, HIGH) ; //pulseIn measures the time that elapses from when the declared pin (echoPin) changes from low status to high (from 0 to 1)
      Distance = SSound* Lengh / 2;  // CALCULATION OF THE DISTANCE
    }
    
  3. Sukonfig?ruokite ir ?kelkite kod? pagal instrukcijas, kurios yra pateiktos dokumente „4in1 Build&Code“ plokšt?s pirmieji žingsniai.

Kodas skirtas suderinamai vaizdinei programavimo programinei ?rangai, naudojan?iai blokus

  1. Parsisi?skite programin? ?rang? ir atlikite ?diegimo proces?.
  2. Paleiskite program? ir paleid? nukopijuokite ? j? toliau pateikt? kod?:
  3. Sukonfig?ruokite ir ?kelkite kod? pagal instrukcijas, kurios yra pateiktos  dokumente „4in1 Build&Code“ plokšt?s pirmieji žingsniai.

„BitBloq“ kodas

  1. Parsisi?skite „BitBloq“ programin? ?rang?.
  2. Paleiskite „BitBloq“ program? ir paleid? nukopijuokite ? j? toliau pateikt? kod?:
    • Aparatin? ?ranga

    • Programin? ?ranga

  3. Sukonfig?ruokite ir ?kelkite kod? pagal instrukcijas, kurios yra pateiktos  dokumente „4in1 Build&Code“ plokšt?s pirmieji žingsniai.

PRATIMO REZULTATAS:

Robotui aptikus jud?jim? ar objekt? esant? už ar?iau nei 30 cm, jis mojuoja ir pakaitomis mirksi jo LED. Robotui neaptikus objekto ar jud?jimo, mažesniame nei 30 cm atstume, jis išlieka pastovioje pad?tyje. Suk?r?te savo pirm?j? interaktyv? robot?!