//EX1: Vazio retorno, vazio de parametros
void piscar(){
//Executa o que tiver dentro delda função, EX:
for(int i=0;i<7;i++){
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
}
//EX2: Vazio retorno, com parametro de numPiscadas
void piscar2(int numPiscadas, int pino, int tempo){
//Executa o que tiver dentro delda função, EX:
for(int i=0;i < numPiscadas;i++){
digitalWrite(pino, HIGH);
delay(tempo);
digitalWrite(pino, LOW);
delay(tempo);
}
}
//EX3: Calculo de volume
float CalcVolume(float nivel){
//Variável local
//Diametro = 1, raio = 1
float r = 1;
float volume = PI*r*r*nivel;
//Devolve volume
return volume;
}
void setup() {
pinMode(13, OUTPUT);
pinMode(7, INPUT_PULLUP);
pinMode(8, INPUT_PULLUP);
pinMode(10, OUTPUT);
Serial.begin(9600);//iniciei a Serial com 9600 bps (Baudrate)
}
float nivelsimular = 0;
float volumeprint = 0; //posso usar nome igual que variável que tá dentro da função, pq só usa dentro da função
void loop() {
//ESTRUTURA DE UMA FUNÇÃO: Retorno NOME (parâmetros)
//Retorno pode ser void, int, float, char e parametros também
//EX2: se o botão for pressionado, executa a função piscar, com os parâmetros
if(digitalRead(8)==0) piscar2(5,10,500);
//EX:2
if(digitalRead(7)==0) piscar2(5,13, 1000);
//EX3:
nivelsimular = 10.0*analogRead(A0/1023.0); //potenciometro para simular nivel
//troquei o valor constante do ex2 pelo valor da variável nivelsimular
//ela que vai escrever dentro do meu float nivel, na chamada da função la em cima.
volumeprint = CalcVolume(nivelsimular);
}
//COMUNICAÇÃO SERIAL NO ARDUINO
//RS-232 (VAMOS USAR) RS-422 RS-485
//Serial.begin(9600);//iniciei a Serial com 9600 bps (Baudrate)