Projektas #5: Automatinis popieriaus tiektuvas

Išmokite sukurti ir užprogramuoti automatin? popieriaus tiektuv? panaudodami „Maker Control Kit“ komplektuojam? robotikos rinkini? valdymo plokšt?s ir „Maker Kit 2“ komplektuojamo robotikos rinkinio komponentus.

Naudodami nuolatin?s srov?s varikl? su propeleriu ir IR linijos sekimo jutikl?, sukurkite sistem?, kuri automatiškai tiekia tam tikr? kiek? popieriaus lap?, nespaudžiant joki? mygtuk?. Tiesiog pad?kite piršt? priešais IR linijos sekimo jutikl? ir nustebinkite žmones savo automatiniu popieriaus tiektuvu.

SUD?TINGUMO LYGIS: Pradedantiesiems.

PRATIMO TRUKM?:75 min.

MEDŽIAGOS:

  • 1x nuolatin?s srov?s variklis su propeleriu
  • 1x IR linijos sekimo jutiklis
  • 1x „4in1 Build&Code“ plokšt?
  • 1x USB - Mikro USB kabelis
  • Kompiuteris
  • Medžiagos konstrukcijai
  • Klijai arba lipni juosta

KONSTRUKCIJOS SUK?RIMAS:

Popieriaus tiektuvo konstravime taip pat naudosite stor? karton?, popieriaus lapus, butelio kamštelius ir lipni? juost?.  Parsisi?skite greito sumontavimo vadov?  ir atlikite nurodytus veiksmus:

  1. Nuimkite variklio propeler? ir išimkite plastikin? pl?vel?, iš kurios propeleris yra pagamintas. V?l surinkite gelton? jungt? ir užd?kite j? ant nuolatin?s srov?s variklio veleno.
  2. Iš kartono lakšto padarykite cilindr?, kurio skersmuo yra toks pat kaip ir geltonosios jungties, kuri yra ant nuolatin?s srov?s variklio su propeleriu. Uždenkite vien? plastikinio lakšto pus? dangteliais, o kit? pus? lipnios juostos sluoksniu.
  3. Lipnios juostos pus?je ?statykite nuolatin?s srov?s variklio su propeleriu gelton?j? jungt? ir pat? varikl?.
  4. Pamatuokite ir atkirpkite tris 5 cm plo?io popieriaus juosteles, tada jas sujunkite ? vien? popieriaus juostel?. Pritvirtinkite popieriaus juostel? prie pagaminto cilindro ir j? susukite.
  5. Nor?dami užbaigti, prijunkite nuolatin?s srov?s varikl? ir IR linijos sekimo jutikl? prie „4in1 Build&Code“ plokšt?s, pagal toliau esan?iame skyriuje „Jungtys“ pateiktus nurodymus.

Pad?kite vis? sistem? ant paaukštinto paviršiaus, pvz. d?ž?s. Popieriaus rulonas tur?t? b?ti pad?tas vienoje d?ž?s pus?je taip, kad jis gal?t? laisvai suktis.

JUNGTYS:

  1. Prijunkite nuolatin?s srov?s varikl? su propeleriu prie „4in1 Build&Code“ plokšt?s skaitmenin?s jungties Nr. 9.
  2. Prijunkite IR linijos sekimo jutikl? prie „4in1 Build&Code“ plokšt?s skaitmenin?s jungties Nr. 5.

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 ?jungia nuolatin?s srov?s varikl? su propeleriu 0,5 sekund?s, kai IR linijos sekimo jutiklis gauna signal?, tada sistema išduoda tam tikr? popieriaus kiek?. Tam, kad taip b?t?, ? m?s? naudojam? kod? ?trauk?me b?senos skaitikl?.

IR linijos sekimo jutiklis gaus signal?, kai j? uždengsite pirštu, o užfiksuota vert? pasikeis nuo 0 iki 1. Priklausomai nuo kodo, nuolatin?s srov?s variklis su propeleriu bus ?jungtas 0,5 sekund?s ir išduos tam tikr? kiek? popieriaus, kai IR linijos sekimo jutiklio ir b?senos skaitiklio vert?s bus 1.

Jei IR linijos sekimo jutiklio pirštu neuždengsite, signalo jis negaus. Tai reiškia, kad nuolatin?s srov?s variklis liks išjungtas ir popieriaus netieks.

Ta?iau b?senos skaitiklio vert? išliks 1, tod?l jam v?l gavus vert? 1 iš IR linijos sekimo jutiklio (t.y., kai jutikl? v?l uždengsite pirštu), nuolatin?s srov?s variklis su propeleriu ims suktis ir išleis kelis popieriaus lapus.

Š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. Paleiskite program? ir nukopijuokite toliau pateikt? kod?:
    /* MOTOR*/
    int PMotor = 9; // DC motor connected to digital port 9
    /* SENSOR IR*/
    int PSIR = 5; // Line follower IR sensor connected to digital port 5
    int StatusIR = 0; // Variable of the state of the line follower IR sensor
    /* Variables*/
    int Status; // Status variable.
    
    void setup() {
      // Put your setup code here, to run once:
      pinMode(PSIR, INPUT); // IR sensor is configured as input
      pinMode(PMotor, OUTPUT); // DC motor is configured as output
    }
    
    void loop() {
      // Put your main code here, to run repeatedly:
      StatusIR = digitalRead (PSIR); // Value reading of the line follower IR sensor
      if ((StatusIR == 1)&&(Status == 1)) // If the IR sensor and the status variable are equal to 1
      {
        analogWrite (PMotor, 100); // DC Motor = ON at a speed of 100
        delay(500); // 0.5 seconds
        analogWrite (PMotor, 0); // DC Motor = OFF
        Status = 0; // Status variable = 0
      }
      if (StatusIR == 0) // If the IR sensor is equal to 0
      {
        analogWrite (PMotor, 0); // DC Motor = OFF
        Status = 1; // Status variable = 1
      }
    }
    
  3. Sukonfig?ruokite ir ?kelkite kod? pagal instrukcijas, kurios yra pateiktos pateiktos dokumente „4in1 Build&Code“ plokšt?s pirmieji žingsniai.

Kodas skirtas suderinamai vaizdinei programavimo programinei ?rangai, naudojan?i? 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 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 pateiktos dokumente „4in1 Build&Code“ plokšt?s pirmieji žingsniai.

PRATIMO REZULTATAS:

Jei uždengsite IR linijos sekimo jutikl? pirštu, nuolatin?s srov?s variklis su propeleriu ?sijungs ir sistema ims tiekti popieri?. J?s suk?r?te savo automatin? popieriaus tiektuv?!