You are on page 1of 19

pedro bea (pedrobeca@ua.pt) / mrio vairinhos (mariov@ua.pt) depart.

de comunicao e arte MAA 2012/2013

Multimdia em Ambientes Artsticos

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

microcontrolador Atmel; Shields (Ethernet, XBee, Motor Control KIT,...)

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

Menu Barra de ferramentas Separadores

rea para edio de cdigo

rea de mensagens S d de Sada d t texto t Barra de estado


slide | 4

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.

Upload: Copia o cdigo para o arduino.

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

Arduino programao [1]

Case sensitivity y Expresses terminadas com ;

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

Arduino programao [2]

Estrutura blocos obrigatrios g


void setup() //preparao { statements; } void loop() //execuo { statements; }

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

pinMode(pin, mode) define se um digital pin se comporta como entrada(INPUT) ou sada(OUTPUT)


pinMode(pin, OUTPUT); // sets pin pin to output

digitalRead(pin) l o valor de um digital pin, retornando HIGH ou LOW


value l = di digitalRead(Pin); it lR d(Pi ) // sets t ' 'value' l ' equal l t to th the i input t pin i

digitalWrite(pin, value) escreve o valor HIGH ou LOW num digital pin


digitalWrite(pin, HIGH); // sets 'pin' to high

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

um tipo de sinal contnuo que varia em funo do tempo

Sinal digital

valores discretos (descontnuos)

slide | 10

pedro bea (pedrobeca@ua.pt) / mrio vairinhos (mariov@ua.pt) depart. de comunicao e arte MAA 2012/2013

Arduino instalao

descarregar g a aplicao p www.arduino.cc/en/Main/Software

Ligar arduino <-> pc

a luz PWR deve aceder e o LED amarelo "L" deve comear a piscar

se instalao no ocorrer automaticamente

se as drives di no f forem i instaladas t l d automaticamente: t ti t


Windows

Pasta arduino-00xx\drivers\FTDI USB Drivers

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

Arduino porta srie

Identificao da porta p de comunicao

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

Upload do cdigo para o Arduino

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:

Montar os componentes sempre com o arduino desligado

ARDUINO #define LED 11

// LED connected to digital pin 11

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); }

// // // //

turns waits turns waits

the for the for

LED on a second LED off a second

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

interruptor (switch) com resistncia pulldown

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

interruptor (switch) com resistncia pull-up

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

You might also like