Vumetrul clasei — măsurăm zgomotul cu M5GO
Lecția-suport: Fabric piesa: imprimarea 3D — evaluare practică
Câtă gălăgie e acum în clasă? „Multă" nu e un răspuns de inginer. Azi construiești instrumentul care răspunde cu date: M5GO-ul școlii ascultă prin microfon, iar bara lui de LED-uri devine vumetru — verde când se lucrează, galben când se discută, roșu când nu se mai aude omul cu omul. La finalul laboratorului vei avea programul tău de vumetru compus în UIFlow și testat pe dispozitivul real, plus măsurătorile echipei tale notate: cât „scoate" clasa la liniște totală, la discuție normală și la aplauze.
Ce îți trebuie
- UIFlow, mediul de programare pe blocuri pentru M5GO: flow.m5stack.com — merge în browser și nu are nevoie de dispozitiv pentru a compune și inspecta programul. Documentația: docs.m5stack.com.
- M5GO-ul școlii — unul singur, deci laboratorul e organizat ca stație demonstrativă (mai jos e tot protocolul).
- Cont: nu e necesar pentru a lucra la program.
- Timp: 15 minute organizare + program, apoi rotații de câte 5-8 minute la stație pe toată durata rămasă.
Ce ai în mână: turul dispozitivului
M5GO e un calculator cât o cutie de chibrituri: ecran color, trei butoane, microfon, difuzor, o bară de 10 LED-uri RGB pe laterale și mufe colorate pentru senzori externi. Rulează MicroPython — un Python mic, croit pentru dispozitive — iar UIFlow generează acest cod din blocurile tale (există un tab în care îl poți citi: aceleași structuri pe care le știi din laboratoarele 1-3).
Lanțul pe care îl construiești azi, în termenii schemelor-bloc din modulul 3: microfonul (senzorul) achiziționează o mărime analogică — presiunea sunetului; dispozitivul o digitizează într-un număr; programul tău decide pe praguri; LED-urile execută afișarea. Achiziție → prelucrare → acțiune: triada oricărui sistem cu senzori.
Programul, construit în UIFlow (fără dispozitiv)
-
Deschide flow.m5stack.com. La alegerea dispozitivului, selectează M5GO / Core. Lucrezi deocamdată deconectat — perfect pentru compunere.
-
Citirea microfonului. În paleta de blocuri, deschide categoria hardware/unități și caută blocul de citire a microfonului (după versiune:
micsaumicrophone, ceva de forma „read analog" / „get value"). Pune-l într-o buclă infinită (categoria Event/Loop) și atribuie valoarea unei variabilezgomot. -
Afișarea brută. Adaugă în buclă un bloc Label pe ecran care arată
zgomot, plus o pauză de 100 ms (blocul wait). Fără pauză, dispozitivul aleargă bucla cât poate de repede și ecranul pâlpâie. -
Pragurile. Cu blocurile if / else if / else din Logic, împarte valorile în trei zone, deocamdată cu praguri provizorii (le calibrezi la stație — de-asta există echipa de măsurare):
zgomotsub pragul 1 → LED-urile pe verde;- între praguri → galben;
- peste pragul 2 → roșu și, opțional, un „beep" din difuzor.
Blocul pentru bară e în categoria RGB/LED — setezi toate LED-urile pe o culoare.
-
Vumetru adevărat (nivelul următor): în loc de „toată bara o culoare", aprinde un număr de LED-uri proporțional cu zgomotul — împarți
zgomotla o constantă ca să obții 0-10 și folosești blocul care setează LED-ul cu index dat. E o buclăforpe blocuri: primul tăuforcare mișcă lumini fizice.
Schema logică, pe scurt:
La stație: încarcă, calibrează, notează
Când vă vine rândul (5-8 minute — cronometrate de echipa următoare):
- Conectarea. Dispozitivul e deja legat la calculatorul stației și pus pe modul USB de către profesor; voi doar încărcați programul din UIFlow cu butonul de Run/Download. Run rulează instant (se pierde la restart), Download îl scrie permanent — pentru test, Run e de ajuns.
- Calibrarea. Măsurați și notați valoarea afișată pe ecran în trei situații: liniște maximă (toată clasa colaborează — 10 secunde de tăcere sunt și ele un experiment), conversație normală, aplauze scurte. Acestea sunt datele voastre reale.
- Ajustarea pragurilor. Puneți pragul verde/galben între „liniște" și „conversație", pragul galben/roșu între „conversație" și „aplauze". Reîncărcați și verificați culorile pe cazuri reale.
- Predarea ștafetei. Opriți-vă la timp — echipa care lasă stația blocată în eroare o predă cu explicație, nu cu ridicat din umeri.
Între rotații, la locurile voastre: treceți măsurătorile în tabelul echipei (situație → valoare → prag ales) și pregătiți extinderile din misiune, tot în UIFlow.
Dacă nu merge
- UIFlow nu vede dispozitivul: aproape întotdeauna modul greșit (trebuie modul USB, se setează din meniul de pornire al M5GO) sau cablul — multe cabluri USB sunt doar de încărcare, fără fir de date. Stația se pregătește o dată, de profesor, exact ca să nu se piardă rotațiile pe asta.
- Valoarea microfonului stă aproape constantă orice ai face: blocul de citire e în afara buclei — citește o dată și afișează la nesfârșit aceeași valoare. Mută citirea înăuntru.
- LED-urile clipocesc haotic între culori: valoarea microfonului oscilează natural în jurul pragurilor. Remediu de inginer: mediază — adună 5 citiri consecutive și împarte la 5, apoi decide pe medie. (E și prima extindere din misiune.)
- Ecranul pâlpâie enervant: actualizezi label-ul prea des; pauza de 100-200 ms în buclă rezolvă.
- Roșu permanent, deși e liniște: pragurile provizorii sunt sub valoarea de „liniște" a clasei voastre. De-asta se calibrează pe date reale, nu pe numere din cap.
Misiunea ta
Nivel de bază (obligatoriu): programul complet în UIFlow (echipa întreagă îl poate explica bloc cu bloc) + testul la stație cu tabelul de calibrare completat pe măsurători reale.
Extindere: media pe 5 citiri contra clipocelii + vumetrul proporțional (numărul de LED-uri aprinse crește cu zgomotul, nu doar culoarea).
Provocare: „inspectorul de liniște" — dispozitivul cronometrează cât timp clasa rămâne sub pragul verde și afișează recordul pe ecran; la doborârea recordului, un sunet scurt de victorie. Aveți nevoie de o variabilă-cronometru resetată la orice depășire de prag: gândiți-o întâi în pseudocod, pe hârtie, cât așteptați rotația.
Ai terminat când:
- programul echipei decide corect pe cele trei zone, cu praguri justificate de tabelul de calibrare;
- fiecare membru al echipei poate arăta în UIFlow blocul de citire, decizia și acțiunea pe LED-uri;
- ați respectat fereastra de stație — ați intrat, testat, notat și predat în cel mult 8 minute;
- tabelul cu măsurători e predat profesorului — el e dovada, dispozitivul rămâne la școală.