introdução a plataforma arduino

Post on 12-Apr-2017

348 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Introdução à plataforma Arduino

Introdução à plataforma Arduino

{ "name": "Rogerio Alencar Filho", "hobby": "Analista de Sistemas (web!!!!)", "social": { "facebook": "https://facebook.com/rogerioalencar", "twitter": "https://twitter.com/rogerin", "github": "https://github.com/rogerin", "youtube": "https://youtube.com/user/rogerim",

"slideshare": "https://slideshare.net/RogerioAlencarFilho" }}

O que é Arduino

O que é Arduino

Arduino, é uma plataforma de prototipagem eletrônica de hardware livre, projetada com um microcontrolador Atmel AVR, com suporte de entrada/saída, uma linguagem de programação padrão. O objetivo do projeto é criar ferramentas que são acessíveis, com baixo custo, flexíveis e fáceis de se usar por artistas e amadores. Principalmente para aqueles que não teriam alcance aos controladores mais sofisticados e de ferramentas mais complicadas.

Inicio desse BUMM!!!

Arduino`s

Serial Arduino Serial DB9 para programação - ATmega8

Arduino Extreme USB para programação - ATmega8

Arduino Mini Versão em miniatura do Arduino utilizando montagem superficial - ATmega168

Arduino Nano Versão menor que o Arduino Mini, energizado por USB e conectado por montagem superficial - ATmega168/328

LilyPad Arduino Projeto minimalista para aplicações portáteis, utilizando montagem superficial - ATmega168

Arduino NG USB para programação - ATmega8

Arduino NG plus USB para programação - ATmega168

Arduino BT interface bluetooth para comunicação - ATmega168

Arduino Diecimila Interface USB -Atmega168 em um pacote DIL28(foto)

ArduinoDuemilanove Duemilanove significa "2009" em italiano. É energizado via USB/DC, com alternação automática - Atmega168

(Atmega328 para a versão mais nova)

ArduinoMega Montagem superficial - ATmega1280 para E/S adicionais e memória

Arduino Uno Utiliza Atmega8U2 para driver conversor Serial-USB, ao invés do FTDI."Uno" significa "Um" em italiano. Esta versão é

considerada a versão 1.0 do projeto, sendo que as placas que sucederem a esta serão referenciadas. - ATmega328

Arduino`s

Arduino UNOEssa é a última versão da placa USB. Usa um conector USB padrão e contem tudo o que você precisa para programar e usar a placa. É semelhante ao modelo Duemilanove.

Arduino UNO

Arduino LilyPadDesenvolvido para aplicações portáteis, dá para "costurar" essa placa em um tecido!Dá para fazer coisas curiosas! (camisetas com equalizador? Ah tá...)

Arduino LilyPad

Arduino LilyPad

Arduino Uno SMDVersão SMD do UNO, utiliza um microcontrolador de montagem de superfície, ATmega328.

Arduino FioProjetado para aplicações sem fio. Possui um soquete para Xbee, um conector para bateria LiPo.

Arduino Mega2560Versão do Mega lançado com o Uno, esta versão apresenta o Atmega2560, que tem o dobro da memória, e usa o 8U2 ATmega para a comunicação serial-USB.

Arduino PROEsta placa é projetada para usuários avançados. É facilmente alimentado por uma bateria, mas requer componentes adicionais e montagem técnica.

BT ArduinoA BT Arduino contém um módulo bluetooth que permite a comunicação sem fio. É compatível com todos os Shields Arduino.

Arduino Mini PROIgual a versão PRO, porem menor. É projetado para usuários avançados que exigem baixos custos, pequenos espaços, mas ainda assim, tem que estar dispostos para fazer algum trabalho extra de montagem.

Arduino MiniParece a mesma da anterior, mas não é! Este é o menor da placa Arduino. Ela funciona bem em uma protoboard ou para aplicações onde o espaço é pequeno (pequeno mesmo!).

Faça o seu!!!

Shield`s

Estrutura// antes do setup você pode incluir bibliotecas

void setup() {// toda configuração vem aqui}void loop(){ /// Codigo em loop infinito}

Controleswitch casewhiledo... whilebreakcontinuereturngoto

Syntax

; {} (chave)// (comentario simples)/* */ (comentario multilinha)#define#includeOperadores= (assignment operator)+ (addition)- (subtraction)* (multiplication)/ (division)% (modulo)

Comparações

== (equal to)!= (not equal to)< (less than)> (greater than)<= (less than or equal to)>= (greater than or equal to)Boolean&& (and)|| (or)! (not)

http://arduino.cc/en/Reference/HomePage

e muito mais...

Hello World da eletrônica digital.digitalWrite();int ledPin = 13; // LED no pin 13void setup() { pinMode(ledPin, OUTPUT); // setar pino digital como SAIDA, para acionamentos}void loop() { digitalWrite(ledPin, HIGH); // LED on delay(1000); // aguarda 1 segundo digitalWrite(ledPin, LOW); // LED off delay(1000); // aguarda 1 segundo}

digitalRead();int ledPin = 13; // LED digital pin 13int inPin = 7; // pushbutton digital pin 7int val = 0; // variavel guarda valor do digitalRead()void setup(){ pinMode(ledPin, OUTPUT); // seta digital pin 13 como SAIDA pinMode(inPin, INPUT); // seta digital pin 7 como ENTRADA}void loop(){ val = digitalRead(inPin); // ler pino de entrada digitalWrite(ledPin, val); // seta LED com o valor da leitura do botao}

analogRead();int analogPin = 3; // potenciomentro no analogico pin 3

int val = 0; // variavel guarda valor da leitura do analogico

void setup() { Serial.begin(9600); // setup serial!!!!!!!!!!}

void loop() { val = analogRead(analogPin); // faz leitura do pino analogico Serial.println(val); // debug valor !!!}

analogRead() + Serial.println()int analogPin = 3; // potenciomentro no analogico pin 3

int val = 0; // variavel guarda valor da leitura do analogico

void setup() { Serial.begin(9600); // setup serial!!!!!!!!!!}

void loop() { val = analogRead(analogPin); // faz leitura do pino analogico Serial.println(val); // debug valor !!! Serial.println(val, DEC); // ASCII-encode decimal Serial.println(val, HEX); // ASCII-encode hexadecimall Serial.println(val, OCT); // ASCII-encode octadecimal Serial.println(val, BIN); // ASCII-encode binario dealy(10); // delay 10 miles segundos

}

Serial.println() Vs. Serial.print()int ledPin = 13; // LED digital pin 13int inPin = 7; // pushbutton digital pin 7int val = 0; // variavel guarda valor do digitalRead()void setup(){ Serial.begin(9600); pinMode(ledPin, OUTPUT); // seta digital pin 13 como SAIDA pinMode(inPin, INPUT); // seta digital pin 7 como ENTRADA}void loop(){ val = digitalRead(inPin); // ler pino de entrada digitalWrite(ledPin, val); // seta LED com o valor da leitura do botao if(val) { Serial.prinln(“Botao pressionado..”); } else { Serial.print(“Botao nao pressionado”); }}

PWMint ledPin = 9; // LED conectado no pin digital 9int analogPin = 3; // potenciometro conectado no pin analogico 3int val = 0; // variavel que recebe valor da leitura do potenciometro

void setup() { pinMode(ledPin, OUTPUT); // sets the pin as output}void loop() { val = analogRead(analogPin); // read the input pin analogWrite(ledPin, val / 4); // analogRead values go from 0 to 1023, analogWrite values from 0 to 255}

Sensores

LDR - Sensor de Luz

Criando Funçõesint ledPin = 13; // LED conectado no pin digital 9

void setup() { pinMode(ledPin, OUTPUT); // seta pin como saida}void loop() { mudaStatusLed(ledPin); delay(1000);}void mudaStatusLed(int Pin) { digitalWrite(Pin, !digitalRead(Pin));}

Criando projeto real (uma roleta)Projeto: Ele vai ter que sortear aleatoriamente qual led vai acender, igual a sistema de roleta mesmo padrão. Ao ligar o Arduino ele vai iniciar o sorteio, acendendo os leds em forma sequencial, ate o fim do sorteio e apenas o sorteado ficara ligado.Tentem um pouco depois programamos ao mesmo tempo.

Criando projeto real (uma roleta)Dica 1:

int numeroAleatorio;

void setup(){ numeroAleatorio = random(100, 300); // variavel numeroAleatorio recebe valor aleatorio entre 100 e 300.…..……

Dica 2:

Codigoint led[7] = {13,12,11,10,9,8,7};int delayInicial = 50; //delay inicialint ledAtual = 0;int numeroAleatorio;void setup(){ for(int i = 0;i <= 6;i++){ pinMode(led[i], OUTPUT); } numeroAleatorio= random(100, 300);}

void loop(){ for(int i = 0;i <= 6;i++){ if (delayInicial <= delayInicial) { ligaLed(i); } else { digitalWrite(led[ledAtual], HIGH); } }}

void ligaLed(int i){ digitalWrite(led[i], HIGH); delay(delayInicial); digitalWrite(led[i], LOW); delayInicial+=2; ledAtual = i;}

Comunicação I2C - Inter-Integrated Circuit

Comunicação I2C - Inter-Integrated Circuit

Comunicação I2C - Inter-Integrated Circuit

Comunicação SPI - Serial Peripheral Interface

Comunicação SPI - Serial Peripheral Interface

Codigoint led[7] = {13,12,11,10,9,8,7};int delayInicial = 50; //delay inicialint ledAtual = 0;int numeroAleatorio;void setup(){ for(int i = 0;i <= 6;i++){ pinMode(led[i], OUTPUT); } numeroAleatorio= random(100, 300);}

void loop(){ for(int i = 0;i <= 6;i++){ if (delayInicial <= delayInicial) { ligaLed(i); } else { digitalWrite(led[ledAtual], HIGH); } }}

void ligaLed(int i){ digitalWrite(led[i], HIGH); delay(delayInicial); digitalWrite(led[i], LOW); delayInicial+=2; ledAtual = i;}

https://www.youtube.com/user/rogerim

Ethernet

Alguns projetos...

Obrigado!

{ "name": "Rogerio Alencar Filho", "hobby": "Analista de Sistemas (web!!!!)", "social": { "facebook": "https://facebook.com/rogerioalencar", "twitter": "https://twitter.com/rogerin", "github": "https://github.com/rogerin", "youtube": "https://youtube.com/user/rogerim",

"slideshare": "https://slideshare.net/RogerioAlencarFilho" }}

top related