Sunteți pe pagina 1din 28

C3.

Crearea blocurilor
(subprogramelor)
personalizate (MY BLOCK)

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 1


2. Blocuri personalizate My Block
Obiective:

o Cum creăm blocuri personalizate (My Blocks) în software-ul EV3


o La ce servește un bloc My Block
o Blocuri personalizate My Block cu
(parametrii) pentru intrări și ieșiri

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 2


Ce este un My Block?
• My Block reprezintă o
combinație a unuia sau mai
multor blocuri pe care le creați
care pot fi grupate într-un
singur bloc
• My Blocks sunt de fapt
blocurile personalizate
• Odată ce un bloc My Block
este creat, îl puteți folosi în
mai multe programe
• La fel ca orice alt bloc din EV3,
My Blocks pot avea atât intrări,
cât și ieșiri (parametrii)

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 3


Când folosim un My Block?
• Ori de câte ori robotul va repeta o acțiune în interiorul
programului dvs.
• Când o parte din cod se repetă într-un alt program
• Organizați și simplificați codul

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 4


De ce să te deranjezi?
Cu ajutorul My Block, misiunile devin mai clare și arată cam așa ...

În loc de astfel ….

Acest lucru face codul dvs. mai ușor de citit și mai ușor de modificat!

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 5


Ceea ce face un bloc util My Block
Notă: La crearea blocurilor My Block cu intrări și ieșiri, la nivel de cod al
programului ne oferă o multitudine de facilități. Cu toate acestea, trebuie să avem
grijă să nu construim un bloc personalizat prea complicat.
Întrebare: Uitați-vă la lista celor trei blocuri ale mele de mai jos. Care dintre ele
credeți că sunt utile pentru a fi utilizate?
◦ Move5CM (Deplasează robotul cu 5 centimetre)
◦ MoveCM (Deplasează robotul determinată în centimetri și puterea definită la intrare)
◦ MoveCM (….cu intrări pentru: centimetri, putere, unghiul, limită/frână, etc.
Răspuns:
◦ Move5CM - pot fi folosite frecvent, dar veți fi obligați să faceți și alte Blocuri
personalizate în cazurile altor distanțe. Acest lucru nu va fi confortabil mai târziu.
◦ MoveCM – cu intrări pentru centimetri și putere probabil va fi cea mai bună alegere.
◦ MoveCM – cu intrări pentru centimetre, putere, unghi, limită/frână, etc. ar putea fi cel
mai personalizat, dar unele dintre intrări ar putea să nu fie folosite niciodată.

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 6


Crearea unui nou My Block

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 7


Pasul 1: Selectăm blocurile
✓ Pentru următorul exemplu
ne propunem deplasarea
robotului la o distanță • Întrebare: Care ar fi intrările și ieșirile
definită (prestabilită) în pentru My Block-ul ce urmează a fi creat?
rotații cu mărimea puterii
motoarelor fixată (dorită), • Răspuns: Intrările sunt puterea și rotațile.
iar la ieșire să returneze Ca mărime de ieșire este distanța măsurată
valoarea în centimetre a de senzorul Ultrasonic.
distanței parcurse
identificate cu ultrasonic
senzorul

• Pasul 1: Selectăm cele două


blocuri din codul pe care
dorim să-l transferăm în
blocul personalizat My Block

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 8


Pasul 2: Inițiem construcția My Block-ului
• A: Accesăm Tools → My Block
Builder - Dacă întâmpinăm A
dificultăți sau o eroare de
avertizare, vizualizăm mesajele
din Slide-ul în pagina următoare

• B: Scriem un nume în câmpul


My Block Name

• C. Adăugăm o descriere a B C
D Deplasare în Rotații și valoarea de

blocului creat în câmpul ieșire determinată cu ultrasonic

Description

• D. Selectăm o iconiță care îl


reprezintă pe blocul creat
My Block

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 9


Mesaje de avertizare frecvente
Eroarea 1:

Soluția: Trebuia de selectat mai întâi blocurile după care de accesat My Block Builder
Eroarea 2:

Soluția: Excludeți din blocurile selectate pe cel de Start, după care repetați procedura
de creare a blocului personalizat cu My Block Builder
Dacă întâlnim în continuare probleme la acest pas, trebuie doar să selectăm un singur
bloc din programul dvs. și de creat un My Block din acesta. După care se poate de
editat și/sau de adăugat mai multe blocuri în acesta, oricând. Este posibil chiar de
modificat intrările și ieșirile * dintr-un bloc deja creat.

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 10


Pasul 3: Adăugarea de Intrări/Ieșiri
A
A. Trebuie să adăugăm două intrări
și o ieșire, astfel încât să executăm
clic pe butonul + de trei ori Move Rotations and output
Ultrasonic

B. Revenim la primul parametru


C. Accesăm Parameter Setup
B

C Move Rotations and


output Ultrasonic

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 11


Pasul 4: Setăm parametrii pentru Putere

A. Atribuim un Nume A E
B. Setăm ca Intrare B
C
C. Valoarea Puterii Numerică
D
D. Stabilim valoarea implicită
E. Selectăm stilul butonului
Set min & max values (only available with slider)

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 12


Pasul 5: Setăm parametrii pentru Rotații

În continuare
facem click pe al
doilea parametru

A E
A. Atribuim un Nume
B
B. Setăm ca Intrare
C
C. Valoarea Puterii Numerică
D
D. Stabilim valoarea implicită
E. Selectăm stilul butonului

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 13


Pasul 6: Setăm parametrii pentru Ultrasonic

În continuare
facem click pe al
treilea parametru

A
A. Atribuim un Nume B
B. Setăm ca Ieșire C
C. Valoarea de ieșire de la
senzorul Ultrasonic este
Numerică

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 14


Pasul 7: Setăm Iconițe pentru Intrări/Ieșiri
La acest pas, vom schimba
pictogramele pentru parametrii
din "a" în o imagine la alegerea
Dvs.
A. Alegem prin selectare cu un
Click parametrul la care vom A
schimba Iconița
B. Facem Click pe fila
Parameter Icons dacă nu se
află deja în aceasta și alegem B
o pictogramă
Repetăm aceste etape A…B
pentru toți parametrii de intrare
și ieșire
C. Apăsăm Finish când reușim
executarea tuturor acțiunilor. C

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 15


Pasul 8: Adăugăm conexiunea de date
A. După ce faceți click pe Finish (din Aceste blocuri de culoare gri, sunt intrările / ieșirile (parametrii)
slide-ul anterior), observăm care au fost configurate automat de My Block Builder
aparența acestor 2 blocuri gri.

B. Conectăm parametrii de
intrare/ieșire al My Block-ului
prin trasarea firelor de date
pentru fiecare parametru către
intrarea corespunzătoare a
blocului de direcție și respectiv
de la blocul senzorului la cel de
ieșire.

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 16


Unde îl găsim pe My Block-ul creat?
A. Blocul personalizat, creat recent, va
apărea în fila My Blocks. Acum
puteți folosi acest bloc în orice
program.
B. În exemplul de mai jos, același My
Block este folosit de două ori. Odată
Notă: același My Block poate fi
impune o deplasare înainte cu 2
utilizat cu valori de intrare
rotații și apoi 5 rotații înapoi.
diferite.

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 17


Editarea My Block-lui nou creat
Dacă dorim să modificăm careva
componente din My Block-ul recent
creat, pur și simplu apăsăm pe butonul
"Edit" din colțul din stânga sus al
ferestrei My Block *

Puteți schimba numele, adăuga sau


șterge parametrii etc.

* Nou începând cu 2017

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 18


Urmărirea liniei de culoare utilizând
MY BLOCK cu intrări,
mișcare pe o distanță determinată

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 19


Oiective
1. Descoperim cum să creăm un follower line care să conțină mai multe intrări
2. Crearea unui follower line care se oprește după un anumit număr de grade
3. Exersăm acestă practică prin intermediul unui My Blocks

Instrumente: My Blocks cu Intrări & Ieșiri, Conexiuni de date (wires), Loop-ri,


Switche-uri.

Codul programului include blocurile comentariilor Albastre.


Asigurați-vă că executați cea mai recentă versiune a software-ului EV3.

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 20


Blocuri Noi
La această etapă vom utiliza blocul din fila galbenă senzori.

Blocul Motor Rotation reprezintă


senzorul de rotație a motorului.

Blocul are multiple regimuri.

În acest exemplu, învățăm să îl


folosim în Regimul Reset, astfel
încât valoarea senzorului să fie
setată la 0.

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 21


Urmărirea liniei pe o distanță
Pasul 1: Creăm un simplu program al unui line Provocarea: Creăm un line follower cu
follower ajutorul My Block care urmărește o linie
colorată și se oprește după deplasare
Pasul 2: specificată pentru motare la un anumit
A. Includem un bloc "resetare număr de grade. Codul ar trebui să posede
trei intrări (variabile ) ca exemplu (grade,
rotație" pentru a exclude (șterge) citirile putere și culoarea liniei ce trebuie urmată).
anterioare a acestui senzor.
B. Întrerupem bucla de urmărire a Scopul:
liniei de către robot doar după un anumit Opriți după 720
număr în grade de deplasare a robotului de grade de
mișcare pe linia
Pasul 3: coloră

A. Construim un My Block similar cu


codul din Slide-rile de mai sus cu intrări
pentru (grade, putere și culoare).
B. Asigurăm conectarea intrărilor din
blocul My Block recent creat

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 22


Pasul 1: Un simplu color Line Follower

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 23


Pasul 2: S-au adăugat Reset-ul și
întreruperea Loop-lui

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 24


Pasul 3: Crearea My Block-lui
A. Evidențiem blocurile
pentru a crea blocul
personalizat în My Block
Builder
A
B. Adăugăm 3 intrări: una
pentru Putere, alta
pentru culoarea liniei și
a treia pentru a atribui B
mișcarea în grade

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 25


Pasul 3B: Structura My Block-lui

Color
Degrees
Power

C • Intrarea1 - care determină starea de ieșire din loop (buclă)


• Intrarea2 - de atribuire a puterii pentru deplasare în blocului Move Steering
• Intrarea3 - de selectare a culorii liniei care determină condiția din Switch

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 26


Pasul 3C: Utilizarea My Block
• Acum, My Block-ul creat apare de
mai multe ori în program și poate fi
folosit din nou de câte ori dorim
• Primul bloc asigură urmărirea liniei
de culoare (5) – Roșu pe o distanță
determinată în grade de 720 grade
cu o putere de 15.
• Al doilea bloc asigură urmărirea
liniei de culoare (1) – negru pe o
distanță determinată în grade de
530 grade cu o putere de 25.
• Dacă se dorește urmărirea liniei
colore de către robot după o formă
mai liniară, trebuie de utilizat
controlul proporțional din
Avansat.

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 27


Sarcina 3.5
Deplasare pe linie neagră cu obstacole

4/4/2019 COMUNITATEA PROFESORILOR DE ROBOTICĂ "ROBOCLUB" 28

S-ar putea să vă placă și