top of page
Writer's picturechiperaris

Crearea unei functii cu parametru care returneaza o valoare

Updated: Jul 23, 2020


Cele mai complexe functii care pot fi create in Arduino IDE sunt functiile care returneaza o valoare si depind de un parametru,fiind definite la finalul programului in felul urmator:


tip variabila numefunctie(parametru)

{

functii executabile;

valoare stocata in variabila x;

}

return x;

}


Acest tip de functii combina caracteristicile celor 2 tipuri de functii explicate in ultimele 2 tutoriale,prin urmare si exemplul este o combinatie intre exemplele date in tutorialele anterioare:


void setup()

{

pinMode(13, OUTPUT); //initializare pin 13 pwntru emisie

Serial.begin(9600); //initializare comunicare seriala la viteza de 9600 baud

Serial.println(AprindeLED(10)); /*afiseaza pe monitorul serial valoarea returnata de functia AprindeLED */

AprindeLED(10); //invocare functie AprindeLED cu parametrul "limita" egal cu 10

}

void loop()

{

}

int AprindeLED(int limita) /*creare functie care returneaza variabila intreaga cu parametrul intreg "limita" */

{

randomSeed(analogRead(0)); /*"samanta" generatorului de numere aleatorii este egala cu o citire a pinului A0 */

int x = random(limita); /*creare variabila intreaga care contine o valoare generata aleatoriu cuprinsa intre 1 si valoarea "limita" */

for (int i=1; i<= x; i++) //pentru i=1,i mai mic sau egal ca x,i creste

{

digitalWrite(13, HIGH); //trimite semnal HIGH prin pinul 13

delay(500); //asteapta 500 ms

digitalWrite(13, LOW); //trimite semnal LOW prin pinul 13

delay(500); //asteapte 500 ms

}

return x; //returnare variabila x

}


Functia AprindeLED este similara cu cea din exemplul din tutorialul anterior,cu exceptia faptului ca putem schimba valoarea maxima a lui x din mximul functiei random (si prin urmare numarul maxim de aprinderi succesive ale LED-ului) modificand parametru "limita".


In urmatoarele tutoriale vom trata un subiect fascinant si interesant:motoarele electrice!


5 views0 comments

Recent Posts

See All

Comments


bottom of page