Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
-
Upload
potilivre -
Category
Technology
-
view
67 -
download
2
Transcript of Minicurso Arduino com Projetos Praticos - Jotacisio Oliveira
Pra quê serve um arduíno?
Serve para criação de projetos de pequena e grande escala que exijam a integração e a programação de itens eletrônicos, ou seja, é uma ponte entre o seu código e o seu circuito eletrônico, seja ele qual for.
Melhor ainda, Arduino é hardware e software livre
https://code.google.com/archive/p/arduino/downloads
http://playground.a01rduino.cc/
● ATmega32u4
● 7 saídas PWM
● 12 pinos analógicos
● Permite uso de fonte externa simples
● Comunicação por usb mini
● ATmega32u4
● Arduino UNO + controlador de motores(chip L298)
● 2 motores de 2A cada
● Pinos para servomotores com alimentação independente
RoMeo AIO/ Robótica
Resistor● Age como uma resistência à passagem de
corrente elétrica.
● Serve para diminuir a intensidade da corrente ou a tensão num determinado ponto.
● Medido de ohms.
Potenciômetro
● Resistência variável (de 0 a o valor no seu corpo)● Quando 2 terminais são utilizados: resistor comum
Existência de 2 resistores:● R1: Uma extremidade ao centro● R2: Outra extremidade ao centro● Quando um aumenta o outro diminui
const int pot = A0;const int led = 11;const int led2 = 10;int sensorValue = 0; // leitura do potenciômetroint outputValue = 0; // leitura da saida PWM (analógica)
void setup() {// inicializa a comunicacao serialSerial.begin(9600);
pinMode(led,OUTPUT); pinMode(led2,OUTPUT);}
1º parte do código
https://circuits.io/circuits/3269553-variacao-de-luminosidade-com-potenciometro
void loop() { // faz a leitura da entrada analógica sensorValue = analogRead(pot); // converte uma faixa de valores de entrada em uma faixa de valores de saída /*como funciona long map(long x, long in_min, long in_max, long out_min, long out_max){ return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; } */ outputValue = map(sensorValue, 0, 1023, 0, 255); // muda o valor da saída analógica if(outputValue >= 127){ analogWrite(led, outputValue - 127); digitalWrite(led2,LOW); } else{ analogWrite(led2, outputValue); digitalWrite(led,LOW); }
// imprime o resultado no monitor serial: Serial.print("sensor = " ); Serial.print(sensorValue); Serial.print("\t output = "); Serial.println(outputValue); // Aguarda 2 milissegundos antes do próximo loop: delay(2);}
2º parte do código
Segundo Projeto Prático
Componentes
● 1 Sensor LDR● 3 Resistores● 1 Leds● 1 Push Button
● 1 Sensor de Temperatura LM35
Sensor LDR
● Resistor dependente de luz ou fotoresistor
● Sua resistência aumenta à medida que a intensidade da luz aumenta
● É construído a partir de material semicondutor com elevada resistência elétrica.
● Quando a luz que incide sobre o semicondutor tem uma frequência suficiente, os fótons que incidem sobre o semicondutor liberam elétrons para a banda condutora que irão melhorar a sua condutividade e assim diminuir a resistência.
● Traduzindo, quando tem pouca luz ele é mais isolante e quando tem muita luz ele é mais condutor.
Push Button
● Botão acionador ou chaveador eletrônico
● Do inglês: push = empurrar button = botão, fundo
● Circuito com mola que permite a passagem de corrente de acordo com o acionamento do botão
Sensor de Temperatura LM35
● Circuito integrado que mede a temperatura ambiente em ºC (graus Celsius)
● Tensão lida do sensor varia linearmente com a temperatura
● Sua faixa de medição vai de -55ºC até 150 ºC
● Tolerância: +/- 0,5 ºC
● Suporta tensão de até 1,5 V
//Declaração das constantesconst int led = 8; //constante led refere-se ao pino digital 8.const int botao = 7; //constante botão refere-se ao pino digital 7.const int ldr = A0; // Entrada analógica para o Resistor dependente de luz.const int TPM_Sensor = A1; //Variável que conterá os estados do botão (0 LOW, 1 HIGH).int estadoBotao = 0;int chaveador = 0; //Método setup, executado uma vez ao ligar o Arduino.void setup() { Serial.begin(9600); pinMode(led,OUTPUT); //Definindo pino digital 8 como de saída. pinMode(botao,INPUT); //Definindo pino digital 7 como de entrada. //Alterar tensão de referência do pino para 1,1V. É necessário pq o //Sensor de temperatura só consegue atingir 1,5V na temperatura máxima que é de 150ºC //caso esteja usando o Arduino Mega 2560 substituir por INTERNAL1V1 //O Arduino Leonardo não aceita esse comando analogReference(INTERNAL); }
https://circuits.io/circuits/2924501-acionador-eletronico-com-sensor-ldr-e-sensor-de-temperatura-lm35
1º parte do código
//Método loop, executado enquanto o Arduino estiver ligado.void loop() { //Lendo o estado do pino 7, constante botao, e atribuindo //o resultado a variável estadoBotao. estadoBotao = digitalRead(botao); int estadoLDR = analogRead(ldr); int sensorTemp = analogRead(TPM_Sensor); int temperatura = sensorTemp * 0.1075268817; Serial.print("Botao:"); Serial.println(chaveador); Serial.print("LDR:"); Serial.println(estadoLDR); Serial.print("Temperatura = "); Serial.print(temperatura); Serial.println(" *C");
2º parte do código
//Verificando o estado do botão para definir se acenderá ou //apagará o led. if (estadoBotao == HIGH) { digitalWrite(led, LOW); chaveador = !chaveador; delay(500); } else if (chaveador == 1) { if (temperatura > 30) { digitalWrite(led, HIGH); } else { digitalWrite(led, LOW); } } else if (chaveador == 0) { if (estadoLDR > 800) { digitalWrite(led, HIGH); } else { digitalWrite(led, LOW); } } }
3º parte do código