Arduino: mudanças entre as edições
Linha 78: | Linha 78: | ||
;Comunicação Serial: | ;Comunicação Serial: | ||
*http://www.embarcados.com.br/arduino-comunicacao-serial/ | *http://www.embarcados.com.br/arduino-comunicacao-serial/ | ||
;Comunicação Serial entre 2 arduinos | |||
//emissor | |||
int num = 0; | |||
void setup(){ | |||
Serial.begin(9600); | |||
} | |||
void loop(){ | |||
//num = 0; | |||
Serial.write('0'); | |||
delay(2000); | |||
//num = 1; | |||
Serial.write('1'); | |||
delay(2000); | |||
} | |||
//receptor | |||
int recByte; | |||
int led = 13; | |||
void setup(){ | |||
Serial.begin(9600); | |||
pinMode(led,OUTPUT); | |||
} | |||
void loop(){ | |||
if (Serial.available ()> 0) | |||
{ | |||
recByte = Serial.parseInt(); | |||
} | |||
if(recByte == 0){ | |||
digitalWrite(led,LOW); | |||
}else if(recByte == 1){ | |||
digitalWrite(led,HIGH); | |||
} | |||
} | |||
Edição das 21h12min de 26 de maio de 2014
Arduíno
- Descrição
O Arduino é um microcontrolador montado em uma plataforma de prototipagem eletrônica de hardware livre que pode ser utilizado em múltiplas aplicações. O Arduino é facilmente programável e pode ser utilizado para automação de dispositivos eletrônicos, acionamento de motorExemplo.jpges e leds, monitoramento de sensores, construção de protótipos de soluções tecnológicas e um mundo de possibilidades.
- Links e referências
Wiki com exemplos de aplicação com Arduíno
- Instalação
Para instalação no Ubuntu 12.04:
sudo apt-get install arduino
Ambiente de desenvolvimento do Arduíno
O ambiente de desenvolvimento de software do Arduíno usa uma linguagem de programação própria, baseada na linguagem C.
Os programas fonte são identificados pela extensão .ino.
A própria IDE do Arduíno apresenta vários exemplos de aplicações e programas que ajudam quem está iniciando a programá-lo.
Ambiente de programação S4A (Scratch for Arduíno)
Também é possível programar o Arduíno usando o ambiente de programação S4A (Scratch for Arduino), permite realizar a programação do Arduino utilizando as mesmas estruturas da linguagem Scratch, o que facilita muito o trabalho de quem está iniciando no mundo da programação de computadores.
- Mais informações e ilustrações
Apresentação no Prezi sobre S4A: Arduíno & Scratch
- Instalação do S4A e do firmware no Arduíno
- O ambiente de desenvolvimento S4A e o firmware devem ser baixados no Site do S4A (Scratch for Arduino) e instalados, respectivamente, no computador e no hardware do Arduíno, conforme ilustra a figura:
- Exemplos de programas com S4A e Arduíno
- Sensores virtuais no S4a
É possível criar sensores virtuais para o S4A a partir da Web.
Veja referência em: Sensores Virtuais no S4A
Eletrônica para Arduíno
- Fundamentos e conceitos
- Sensores baseados em resistência variável para Arduíno
- Sensores de luminosidade (LDR) e sensores de temperatura possuem um resistor variável em função da grandeza que estão medindo. Os mesmos podem ser configurados em uma estrutura baseada em um divisor de tensão para fornecer uma tensão variável ao Arduíno.
- Acionamento de leds com Arduíno
- O Arduíno fornece no máximo 40mA de corrente em cada um dos pinos de saída e tensão de 0V a 5V. Portanto, deve ser colocado um resistor em série com o led para limitar a corrente de saída do Arduíno e também a corrente máxima do led.
- Transistor como chave para acionar uma carga elevada com uma única saída do Arduíno
- Exempĺo de uso: Acionamento de vários leds com uma única saída do Arduíno no projeto de Automação de Semáforo com Arduíno.
Informações sobre sensores e drives para uso com o Arduíno
- Sites de lojas virtuais
- Arduíno, shields e acessórios
- Sensor Infravermelho
- http://bildr.org/2011/06/pir_arduino/
- https://www.sparkfun.com/datasheets/Sensors/Proximity/SE-10.pdf
- Sensor Ultrasônico
- http://www.dfrobot.com/wiki/index.php?title=URM37_V3.2_Ultrasonic_Sensor_%28SKU:SEN0001%29
- Manual URM3.2
- Motores e drives
- Arduíno Motor Shield (L298N)
- http://communityofrobots.com/tutorial/kawal/how-drive-dc-motor-using-l293d-arduino
- Comunicação Serial
- Comunicação Serial entre 2 arduinos
//emissor int num = 0; void setup(){ Serial.begin(9600); } void loop(){ //num = 0; Serial.write('0'); delay(2000); //num = 1; Serial.write('1'); delay(2000); }
//receptor int recByte; int led = 13;
void setup(){ Serial.begin(9600); pinMode(led,OUTPUT); } void loop(){ if (Serial.available ()> 0) { recByte = Serial.parseInt(); } if(recByte == 0){ digitalWrite(led,LOW); }else if(recByte == 1){ digitalWrite(led,HIGH); } }