3. Programação
TTRACK TREINAMENTOS
CONHECIMENTO-HABILIDADE-ATITUDE
Programação pode ser definida como o processo de projetar,
escrever, verificar e manter um código ou programa que comande as
ações de uma máquina, como computador, celular, microcontrolador,
entre outras.
Um código, programa ou sketch – como são denominados os códigos
em Arduino, são compostos por um conjunto de instruções
sequenciais definido pelo programador que descrevem as tarefas que
a máquina deve realizar. Em outras palavras, para que a máquina
execute comandos específicos é necessário elaborar um programa
escrito contendo todas as instruções, ordenadas sequencialmente,
em uma linguagem de programação.
4. TTRACK TREINAMENTOS
CONHECIMENTO-HABILIDADE-ATITUDE
Uma linguagem de programação é um idioma artificial desenvolvido
para prover a comunicação entre uma pessoa (programador) e uma
máquina (computador, microcontrolador, etc.). Atualmente, existem
centenas de linguagens de programação e em todas elas o
programador pode definir como a máquina deve atuar, como
armazenar ou transmitir os dados, quais ações tomar em diferentes
situações, quando finalizar a sua operação, entre outras. Dentre as
linguagens de programação mais populares pode-se citar o C, C++, C#,
Java, JavaScript, Python, PHP.
5. Estruturas Básica de um Sketch
TTRACK TREINAMENTOS
CONHECIMENTO-HABILIDADE-ATITUDE
Todos os Sketch Arduino devem ter a estrutura composta pelas funções setup() e
loop(), conforme ilustra o exemplo a seguir.
6. Estruturas Básica de um Sketch
TTRACK TREINAMENTOS
CONHECIMENTO-HABILIDADE-ATITUDE
A função setup() é executada apenas uma vez na inicialização do programa, e é nela que você
deverá descrever as configurações e instruções gerais para preparar o programa antes que o
loop principal seja executado. Em outras palavras, a função setup() é responsável pelas
configurações iniciais da placa microcontroladora, tais como definições de pinos de entrada e
saída, inicialização da comunicação serial, entre outras.
A função loop() é a função principal do programa e é executada continuamente enquanto a placa
microcontroladora estiver ligada. É nesta função que todos os comandos e operações deverão
ser escritos.
• As instruções dadas em um Sketch são realizadas de forma sequencial;
• Ë necessário incluir o sinal ; (ponto e vírgula) para que o programa identifique onde uma
instrução deve ser finalizada.
7. Variáveis
TTRACK TREINAMENTOS
CONHECIMENTO-HABILIDADE-ATITUDE
As variáveis são expressões que podemos utilizar em programas para nomear e armazenar um
dado para uso posterior, como dados de um sensor ou um valor calculado.
Antes de seres utilizadas, todas as variáveis devem ser declaradas, definindo seu tipo e,
opcionalmente, definindo seu valor inicial. Alguns tipos de variáveis encontram-se listadas na
Tabela 1:
9. Declaração de uma Variável
TTRACK TREINAMENTOS
CONHECIMENTO-HABILIDADE-ATITUDE
A declaração de uma variável pode ser melhor entendida com o exemplo a seguir. Neste
caso, declaramos uma variável com nome a do tipo int, uma variável com nome b do tipo
float e uma variável de nome C do tipo char. Quando as variáveis são declaradas antes da
função setup(), significa que elas são variáveis globais, que podem ser usada em todas ao
longo de todo o programa. Por sua vez, as variáveis declaradas em funções específicas,
como no loop(), são variáveis locais e só podem ser usadas dentro da sua função de
origem.
10. Definição de uma V?ariável
TTRACK TREINAMENTOS
CONHECIMENTO-HABILIDADE-ATITUDE
Para definir um valor inicial a variável utilizamos o comando de atribuição,
representado pelo símbolo =. Desta forma, quando escrevemos int a = 10; estamos
atribuindo o valor 10 a variável de nome a do tipo int.
11. PROJETO BLINK – PISCA LED INTERNO DA
PLACA UNO
TTRACK TREINAMENTOS
CONHECIMENTO-HABILIDADE-ATITUDE
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH);// turn the LED on (HIGH is the
voltage level)
delay(1000);// wait for a second
digitalWrite(LED_BUILTIN, LOW);// turn the LED off by making the
voltage LOW
delay(1000);// wait for a second
}
12. TTRACK TREINAMENTOS
CONHECIMENTO-HABILIDADE-ATITUDE
/* Programação desenvolvida pela equipe do canal Bruno Cerqueira
Com explicação adaptada para pessoas que estão iniciando.
*/
int led = 8;
// Declaração de variável, estou dizendo que led está no pino digital 8
void setup() {
pinMode (led, OUTPUT);
// Declaração de função, estou dizendo que o pino digital 8 será uma saída
}
void loop() {
digitalWrite (led, HIGH); // Significa que o LED será ligado.
delay (100); // Espera 100 milisegundos
digitalWrite (led, LOW); // Significa que o LED será desligado
delay (100); // Espera 500 milisegundos
}
Piscar led fora da Placa- Simular PWM
14. Ligar e Desligar Led Utilizando
Sensor LDR
TTRACK TREINAMENTOS
CONHECIMENTO-HABILIDADE-ATITUDE
int led = 10; //Atribui a porta digital 10 a variável led
int ldr = A0; //Atribui A0 a variável ldr
int valorldr = 0;//Declara a variável valorldr como inteiro
void setup() {
pinMode(led, OUTPUT); //Define led (pino digital 10) como saída
pinMode(ldr, INPUT); //Define ldr (pino analógico A0) como saída
Serial.begin(9600); //Inicialização da comunicação serial, com velocidade de comunicação de 9600
}
void loop() {
valorldr = analogRead(ldr);//Lê o valor do sensor ldr e armazena na variável valorldr
Serial.println(valorldr);//Imprime na serial os dados de valorldr
if((valorldr) < 500){ //Se o valor de valorldr for menor que 500:
digitalWrite(led, HIGH);//Coloca led em alto para acioná-lo
}
else{ //Senão:
digitalWrite(led, LOW);//Coloca led em baixo para que o mesmo desligue ou permaneça desligado
}
}
16. Projeto buzzer
TTRACK TREINAMENTOS
CONHECIMENTO-HABILIDADE-ATITUDE
int buzzer = 8;//Atribui o valor 8 a variável buzzer, que
representa o pino digital 8, onde o buzzer está conectado
int i = 0;//Variável para contar o número de vezes que o buzzer
tocou
void setup() {
pinMode(buzzer, OUTPUT);//Definindo o pino buzzer como de saída.
}
void loop() {
for (i; i < 5; i++) {//Para i, enquanto i for menor que 5,
realize o código e incremente 1 em i
tone(buzzer, 1500);//Ligando o buzzer com uma frequência de 1500
Hz.
delay(500);//Intervalo de 500 milissegundos
noTone(buzzer);//Desligando o buzzer.
delay(500);//Intervalo de 500 milissegundos
}
}
18. Projeto Piscar Led com Intervalo
Definido pelo Potenciômetro
TTRACK TREINAMENTOS
CONHECIMENTO-HABILIDADE-ATITUDE
int ledPin = 9; //Atribui o pino 9 a variável ledPin
int potPin = A5;//Atribui o pino analógico A5 a variável potPin
int tempo = 0; //Variável responsável pelo armazenamento da leitura
bruta do potenciômetro
void setup () {
pinMode(ledPin, OUTPUT); //Configura ledPin como saída
pinMode(potPin, INPUT);//Configura potPin como entrada
Serial.begin(9600); // Inicializa a comunicação serial
}
void loop () {
tempo = analogRead(potPin); //Efetua a leitura do potenciômetro
Serial.println(tempo);//Imprime tempo na serial
digitalWrite(ledPin, HIGH);//Coloca ledPin em nível alto, ligando o
led
delay(tempo);//tempo é utilizado como intervalo