Você está na página 1de 10

Curso de Formação Inicial e Continuada

MICROCONTROLADORES
Aula 3

Rua Santo André, 680 – Boa Vista – São Caetano do Sul


Microcontroladores

Funções

Uma função nada mais é do que um bloco de código que realiza uma série de comandos/instruções pré-definidos.
Temos funções já definidas na linguagem do Arduino, como “void setup()” e “void loop()”, e também podemos criar
e definir nossas próprias funções.
Ao utilizarmos as funções, temos um código mais limpo e dinâmico, onde as instruções da função só é utilizada se
ela é chamada. Podendo como dissemos anteriormente ser utilizada uma única função em diversas situações
diferentes.
Sintaxe:
void funcTeste( int x, int y){
Instruções;
}
Microcontroladores
Funções

Os comandos digitalWrite(), analogRead(), etc. que chamamos dentro dos blocos setup() e loop() são chamadas
de FUNÇÕES. Elas foram definidas nas ”bibliotecas” do Arduino. Essas bibliotecas são automaticamente incluídas
em todos os programas.

Uma função, portanto, para que possa ser chamada, precisa ser definida em algum lugar. A chamada poderá ser
feita dentro do bloco loop() ou setup(). A definição de novas funções poderá ser feita no próprio sketch, ao lado dos
blocos loop() e setup() que são definições de funções (chamadas automaticamente pelo Arduino).

senaiSao(){
}
Microcontroladores
Funções
Números Aleatórios
Principais funções internas do ARDUINO: • random() ;
Entradas e Saídas Digitais • randomSeed();
• digitalRead() ;
Funções Matemáticas
• digitalWrite();
• abs();
• pinMode() ; • constrain();
• map();
Entradas e Saídas Analógicas • max();
• analogRead(); • min();
• analogReference(); • pow();
• sq();
• analogWrite()
• sqrt();
Microcontroladores
Funções
Principais funções internas do ARDUINO: Bits e Bytes
Funções Trigonométricas • bit();
• cos(); • bitClear();
• sin(); • bitRead();
• tan(); • bitSet();
• bitWrite();
Funções Temporizadoras • highByte();
• delay(); • lowByte();
• delayMicroseconds();
• micros(); Interrupções Externas
• millis(); • attachInterrupt();
• detachInterrupt();
USB
• Keyboard; Mais referências de funções internas em:
• Mouse; https://www.arduino.cc/reference/pt/
Microcontroladores
Funções

Funções com parâmetros e sem parâmetros:


As funções podem servir apenas para realizar instruções internas, ou receber vcalores externos para retornar uma
ação ou valor especifico.
Algumas das funções apenas realizam instruções (sem parâmetros).
Exemplo:
Void loop(){
digitalWrite(13, HIGH);
delay(1000);
}
Acima temos um exemplo muito comum nas programações do Arduino, instruções dentro da função void, que já é
uma função interna.
Microcontroladores
Funções
Funções com parâmetros e sem parâmetros:
Como seria utilizar uma função criada pelo usuário sem parâmetros?
Exemplo:
Void loop(){
acenderLed();
}
void acenderLEd(){
digitalWrite(13, HIGH);
delay(1000);
}
Neste exemplo, temos a mesma situação, porém agora o LED esta sendo aceso por um método externo a função
“void loop()”.
Microcontroladores
Funções
Funções com parâmetros e sem parâmetros:
Em algumas situações, teremos que PASSAR valores para a função, para que possa ser realizada algumas instruções. Neste caso,
temos os parâmetros, que são inseridos no inteior dos ( ) parênteses da função.
Exemplo:
void acenderLed2(tempo){
digitalWrite(13, HIGH);
delay(tempo);
}
Void loop (){
acenderLed2(1000);
}
Neste problema, estamos fazendo a chamada da função acenderLed2(), e estamos enviando um valor que será utilizado na
declaração da função.
Microcontroladores
Funções
Funções com parâmetros e sem parâmetros:
OBS: a ordem em que são declarados os valores precisa ser a mesma da que são enviados.
Exemplo:
void acenderLed3(int LED, int Tempo){ //o 1º parâmetro é do pino do LED e o 2º do tempo de espera
digitalWrite(LED, HIGH);
delay(Tempo);
}
Void loop (){
acenderLed2(13,500); // o led vai ser o do pino 13 e o tempo de espera vai ser de 500 milisegundos
}
Microcontroladores
Funções
Funções com retorno e sem retorno:
As funções do tipo VOID, são funções sem retorno. Sempre que chamadas em um bloco, elas irão executar apenas
as instruções internas da função. Sendo elas com ou sem parâmetros.
No caso das funções com retorno. Elas sempre irão retornar o resultado de uma operação através do atributo
“return”
Exemplo:
int funcRetorno (int x, int y){
return x+y;
}
Void loop (){
Serial.print(funcRetorno (10,20));
}

Você também pode gostar