Professional Documents
Culture Documents
slide | 1
pedro bea (pedrobeca@ua.pt) / mrio vairinhos (mariov@ua.pt) depart. de comunicao e arte MAA 2012/2013
Arduino
Arduino
uma plataforma de computao fsica desenhada para artistas e designers; o projecto Arduino foi desenvolvido num enquadramento educacional e est desenhado para permitir uma experimentao acessvel, rpida e barata; uma plataforma open source hardware e software; um ambiente multiplataforma, suportado em Windows, Macintosh e Linux; b baseado d num circuito i it d de entradas/sadas t d / d d de d dados; d
por exemplo, entrada de dados baseada em switches ou sensores com possibilidade de controlar diferentes dispositivos (luzes, motores, etc.)
permite it a comunicao i com outras t aplicaes li de d software ft (e.g. ( Flash, Fl h Processing, P i MaxMSP,).
H d Hardware
Software
Arduino IDE uma aplicao multiplataforma escrita em Java, a qual derivada dos projectos Processing g e Wiring g
slide | 2
http://www.arduino.cc
pedro bea (pedrobeca@ua.pt) / mrio vairinhos (mariov@ua.pt) depart. de comunicao e arte MAA 2012/2013
Arduino microcontrolador
http://www.arduino.cc/en/Main/ArduinoBoardDiecimila
slide | 3
pedro bea (pedrobeca@ua.pt) / mrio vairinhos (mariov@ua.pt) depart. de comunicao e arte MAA 2012/2013
Arduino interface
pedro bea (pedrobeca@ua.pt) / mrio vairinhos (mariov@ua.pt) depart. de comunicao e arte MAA 2012/2013
Arduino atalhos
New: Cria um novo sketch na janela atual. Para criar outra janela, usar File > New Verify: Compila o sketch.
Open: Abre sketch na mesma janela. Para abrir noutra janela usar File > Open Save: Guarda o sketch no diretrio definido por omisso. Para gravar com outro nome e outra localizao usar File > Save As
slide | 5
pedro bea (pedrobeca@ua.pt) / mrio vairinhos (mariov@ua.pt) depart. de comunicao e arte MAA 2012/2013
Exemplo:
digitalWrite(13, di i l i (13 HIGH); ) delay(1000 ); pinMode(LED, OUTPUT);
Comentrios
/* this is an enclosed block comment dont don t forget the closing comment they have to be balanced! */ // this is a single line comment
http://arduino.cc/en/Reference/HomePage
slide | 6
pedro bea (pedrobeca@ua.pt) / mrio vairinhos (mariov@ua.pt) depart. de comunicao e arte MAA 2012/2013
S t Setup
1 funo a ser executada Declarao de variveis Executada uma nica vez Executado aps o setup() Execuo contnua reading inputs, triggering outputs, etc.
slide | 7
Loop
pedro bea (pedrobeca@ua.pt) / mrio vairinhos (mariov@ua.pt) depart. de comunicao e arte MAA 2012/2013
Arduino constantes
Constantes
HIGH / LOW
permitem definir o pin levels (hardware); p podem ser utilizados p para leitura/escrita de digital g p pin; HIGH tem associado o valor lgico 1, ON, ou 5 volts LOW tem associado o valor lgico 0, OFF, ou 0 volts. digitalWrite(13, g HIGH);
INPUT / OUTPUT
constantes utilizadas com o mtodo pinMode () para definir se digital pin funciona como dispositivo de entrada ou sada pinMode(13, OUTPUT);
#define
permite definir constantes antes do programa ser compilado #define ledPin 3 #define ledPin 3; // this is an error #define ledPin = 3 // this is also an error
http://www.arduino.cc/en/Reference/Define
slide | 8
pedro bea (pedrobeca@ua.pt) / mrio vairinhos (mariov@ua.pt) depart. de comunicao e arte MAA 2012/2013
Arduino funes
Funes
delay y(ms) p pra a execuo do p programa g durante um p perodo de tempo, p parmetro de entrada em milissegundos
delay(1000); // waits for one second
millis() retorna o nmero de milissegundos desde o incio do programa (o contador volta a 0 passadas 9h)
value = millis(); // sets value value equal to millis()
slide | 9
pedro bea (pedrobeca@ua.pt) / mrio vairinhos (mariov@ua.pt) depart. de comunicao e arte MAA 2012/2013
Sinal analgico g
Sinal digital
slide | 10
pedro bea (pedrobeca@ua.pt) / mrio vairinhos (mariov@ua.pt) depart. de comunicao e arte MAA 2012/2013
Arduino instalao
a luz PWR deve aceder e o LED amarelo "L" deve comear a piscar
Windows
Mac
Pasta arduino-00xx Duplo p click -> FTDIUSBSerialDriver_x_x_x.dmg _ _ _ g
slide | 11
pedro bea (pedrobeca@ua.pt) / mrio vairinhos (mariov@ua.pt) depart. de comunicao e arte MAA 2012/2013
slide | 12
pedro bea (pedrobeca@ua.pt) / mrio vairinhos (mariov@ua.pt) depart. de comunicao e arte MAA 2012/2013
Arduino modelo
Identificao do modelo
slide | 13
pedro bea (pedrobeca@ua.pt) / mrio vairinhos (mariov@ua.pt) depart. de comunicao e arte MAA 2012/2013
Arduino compilao/execuo
Compilao do cdigo
slide | 14
pedro bea (pedrobeca@ua.pt) / mrio vairinhos (mariov@ua.pt) depart. de comunicao e arte MAA 2012/2013
Arduino exerccio 1a
Digital g output p
pin 13 p
ARDUINO #define LED 13 // LED connected to digital # g void setup() { pinMode(LED, OUTPUT); //sets the digital pin as output } void loop() { digitalWrite(LED, HIGH); // turns the delay(1000); // waits for g ( , LOW); ) // turns the digitalWrite(LED, delay(1000); // waits for }
Nota: o Arduino possui uma resistncia interna de 220 no pin 13, o que permite ligar o LED sem que este queime LED on a second LED off a second
slide | 15
pedro bea (pedrobeca@ua.pt) / mrio vairinhos (mariov@ua.pt) depart. de comunicao e arte MAA 2012/2013
Arduino exerccio 1b
Cuidados:
void setup() { pinMode(LED, OUTPUT); // sets the digital pin as output } void i loop() { digitalWrite(LED, HIGH); delay(1000); y( ); digitalWrite(LED, LOW); delay(1000); }
// // // //
slide | 16
pedro bea (pedrobeca@ua.pt) / mrio vairinhos (mariov@ua.pt) depart. de comunicao e arte MAA 2012/2013
Arduino exerccio 1c
Monte uma estrutura e codifique q no arduino p por forma a q que os 3 LED sejam acessos de forma sequencial
Cuidados:
Montar os componentes sempre com o arduino desligado Proteger os LED de queimar atravs de uma resistncia
slide | 17
pedro bea (pedrobeca@ua.pt) / mrio vairinhos (mariov@ua.pt) depart. de comunicao e arte MAA 2012/2013
Arduino exerccio 2a
Digital g input p
ARDUINO
int ledPin = 13; // LED connected to digital pin 11 int inPin = 7; // pushbutton connected to digital pin 7 int val = 0; // variable to store the read value void setup() { pinMode(ledPin, OUTPUT); // sets the digital pin 13 as output pinMode(inPin, INPUT); // sets the digital pin 7 as input } void loop() { val = digitalRead(inPin); // read the input pin digitalWrite(ledPin, val); // sets the LED to the button's value }
slide | 18
pedro bea (pedrobeca@ua.pt) / mrio vairinhos (mariov@ua.pt) depart. de comunicao e arte MAA 2012/2013
Arduino exerccio 2b
Digital g input p
1. 2. 3.
Desligue o arduino do computador. Monte o circuito representado na imagem abaixo. Volte a ligar g o arduino. Qual a diferena verificada comparativamente p ao exerccio anterior?
slide | 19