Escolar Documentos
Profissional Documentos
Cultura Documentos
1 Edio
Esta traduo valiosa pouco oferece uma introduo completa para open-source da
plataforma eletrnica de prototipagem que est levando como uma tempestade o projeto de
amadores de todo do mundo. Introduo ao Arduno d muitas idias para projetos com
Arduno e o ajuda a ir a trabalhar com eles de forma rpida. Se organizando dar para ajustar
os retoques finais em seu esboo de programa, todas as informaes que voc precisa est
nele, onde voc vai aprender sobre:
1. Interao design de computao e fsica
2. O hardware Arduno e ambiente de desenvolvimento de software
3. Noes bsicas de eletricidade e eletrnica
4. Prototipagem em um breadboard solderless
5. Desenho de um esquema
Com um hardware barato e componente de software open-source que voc pode
baixar gratuitamente, comeando com Arduno um aprender num piscar de olhos. Para
usar os exemplos de introduo deste livro, tudo que voc precisa de um Arduno USB,
com cabo USB AB, e de um LED. Junte-se a dezenas de milhares de aficcionados que
descobriram esta incrvel plataforma. Escrito pelo co-fundador do projeto Arduno, com
ilustraes de Elisa Canducci, Introduo ao Arduno voc ficar na diverso!
ndice
Captulo 1. Introduo
Seo 1.1. Pblico Alvo
Seo 1.2. O que a computao fsica?
Captulo 2. A Via Arduno
Seo 2.1. Prototipagem
Seco 2.2. Consertar
Seo 2.3. Patching
Seo 2.4. Circuit Bending
Seo 2.5. Teclado Hacks
Seo 2.6. We Love sucata!
Seo 2.7. Hacking Brinquedos
Seo 2.8. Colaborao
Captulo 3. A plataforma Arduno
Seo 3.1. O hardware Arduno
Seco 3.2. O software (IDE)
Seo 3.3. Instalando o Arduno em seu computador
Seco 3.4. Instalao de drivers: Macintosh
Seo 3.5. Instalando Drivers: Windows
Seco 3.6. Porto: Identificao Macintosh
Seo 3.7. Porto Identificao: Windows
Captulo 4. Realmente Introduo ao Arduno
Seo 4.1. Anatomia de um dispositivo interactivo
Seo 4.2. Sensores e atuadores
Seco 4.3. Piscando um LED
Seo 4.4. Passe-me o queijo parmeso
Seco 4.5. Arduno no para Quitters
Seco 4.6. Tinkerers Real escrever comentrios
Seo 4.7. O Cdigo, Passo a Passo
Seo 4.8. O que estaremos construindo
Seo 4.9. O que eletricidade?
Seco 4.10. Usando um boto para controlar o LED
Seco 4.11. Como isso funciona?
Palavras do Autor
Alguns anos atrs tive um desafio muito interessante: ensinar o mnimo a designers em
eletrnica para que possam construir prottipos interativos dos objetos que estavam
projetando.
Comecei a seguir um instinto subconsciente para ensinar eletrnica da mesma maneira que
foi ensinado na escola. Mais tarde, percebi que ele simplesmente no estava funcionando
to bem quanto eu gostaria, e comecei a lembrar sentado em uma classe, entediado como o
inferno, ouvindo tudo o que a teoria que est sendo jogada para mim, sem qualquer
aplicao prtica para ele.
Na realidade, quando eu estava na escola eu j sabia eletrnica de uma maneira muito
emprica: teoria muito pouco, mas muita experincia hands-on.
Comecei a pensar sobre o processo pelo qual eu realmente aprendi com eletrnicos:
Eu levei para alm de qualquer dispositivo eletrnico que eu poderia colocar minhas mos
sobre. Eu aprendi que lentamente todos os componentes me trouxeram.
Comecei a mexer com eles, mudando algumas das conexes dentro deles e ver o que
aconteceu com o dispositivo: geralmente algo entre uma exploso e uma nuvem de fumo.
Comecei
construo
de
alguns
kits
vendidos
por
revistas
de
eletrnica.
Nos dispositivos eletrnicos que eu tinha tirado componentes, e kits montveis e outros
circuitos que eu encontrei em revistas para montar coisas novas. Como uma criana,
sempre fui fascinado por descobrir como as coisas funcionam, por isso, eu costumava levlos separados. Essa paixo cresceu como alvo a qualquer objeto no utilizado em casa e
depois o desmontou em pedaos pequenos. Eventualmente, as pessoas trouxeram todos os
tipos de dispositivos para eu estudar. Minha maior experincia na poca foi uma mquina de
lavar loua e um dos primeiros computadores que vieram de um escritrio de seguros, que
tinha uma impressora grande, cartes eletrnicos, leitores de cartes magnticos, e muitas
outras peas que se mostrou muito interessante e desafiador para desmontar
completamente.
Depois de fazer essa dissecao do aparelho, eu sabia que eram componentes eletrnicos
e aproximadamente o que eles faziam. Em cima disso, minha casa estava cheia de revistas
de eletrnica antiga que meu pai deve ter comprado no incio da dcada de 1970. Passei
horas lendo os artigos e olhando para os diagramas de circuito sem entender muito.
Este processo de leitura dos artigos mais e mais, com a vantagem do conhecimento
adquirido, tendo para alm dos circuitos, criou um crculo virtuoso lento.
Um grande avano veio no Natal, quando meu pai me deu um kit que permitiu que os
adolescentes a aprender sobre eletrnica. Cada componente foi abrigado em um cubo de
plstico que se encaixam magneticamente com cubos de outro, estabelecendo uma
conexo, o smbolo eletrnico foi escrito em cima. Mal sabia eu que o brinquedo tambm foi
um marco do design alemo, Dieter Rams, porque o projetou na dcada de 1960.
Com esta nova ferramenta, eu poderia colocar rapidamente em conjunto de circuitos e testlos para ver o que aconteceu. O ciclo de prototipagem foi ficando mais curtos.
Depois disso, eu constru rdios, amplificadores, circuitos que produzem rudos horrveis e
sons agradveis, sensores de chuva, e os robs minsculos.
Eu passei muito tempo procurando uma palavra em Ingls que resumir essa maneira de
trabalhar sem um plano especfico, comeando com uma idia e acabar com um resultado
completamente inesperado. Finalmente, "consertar" veio junto. Eu reconheci como esta
palavra tem sido usada em muitos outros campos para descrever uma forma de operar e de
retratar as pessoas que partiram em um caminho de explorao. Por exemplo, a gerao de
diretores franceses que deram origem "Nouvelle Vague" eram chamados de amadores .
A melhor definio de ajustes que eu j encontrei vem de uma exposio realizada no
Exploratorium em San Francisco:
Trabalhar o que acontece quando voc tenta algo que no sei bem como fazer, guiado por
capricho, imaginao e curiosidade. Quando voc mexer, no existem instrues, mas
tambm no h falhas, no h certo ou errado maneiras de fazer as coisas. Trata-se de
descobrir como as coisas funcionam e reformulao deles.
Engenhocas, mquinas, objetos incompatveis descontroladamente trabalhando em
Esta adaptao dedicada aos nossos pais que lutaram pelo nosso sucesso, tambm
a todas as crianas pobres e humildes, que no tem condies de estudar e vivem na mais
lastimvel pobreza, resultado de um pssimo trabalho poltico que deixa de construir escolas
tcnicas para as nossas crianas e jovens por todo esse Brasil a fora, um pas que se
encontra hoje carente de uma mo de obra especializada mergulhado em uma das maiores
desigualdades sociais existentes no mundo.
Andando pelo meu Maranho a fora pude observar a grande falta que faz uma escola
profissionalizante, l as crianas que conheo at hoje vivem no trabalho da lavoura,
extraem a castanha presente no babau, onde so aproveitados inmeros produtos
principalmente o leo vegetal. Infelizmente em pleno ano de 2010, o meu estado ainda vive
a merc de uma famlia que o domina e o mantm como um dos estados mais pobres do
Brasil. Assim a fora que nos resta uma esperana de que as coisas mudem por l e
reverta a atual situao do meu estado.
Ingressei no SENAI no ano de 1995, fazendo o curso de Eletricista de Manuteno
Industrial, experincia que mudou a minha vida, e que me tirou de uma realidade cruel das
ruas, das drogas e da pobreza, obstculos esses que acompanham a criana e o jovem
carente no Brasil que ainda peca em no fazer investimentos em educao.
Captulo 1. Introduo
Arduno uma plataforma open source de computao fsica baseada em uma entrada
simples / sada (I / O) a bordo e um ambiente de desenvolvimento que implementa a
linguagem Processing (www.processing.org). Arduno pode ser usado para desenvolver
objetos interativos autnomo ou pode ser conectado ao software no seu computador (como
o Flash, Processing, VVVV, ou o Max / MSP). As placas podem ser montadas mo ou
compradas pr-montados, o cdigo-fonte aberto IDE (Integrated Development Environment)
pode ser baixado gratuitamente a partir www.Arduno.cc
Arduno diferente de outras plataformas no mercado devido a estas caractersticas:
um ambiente multiplataforma, que pode ser executado em Windows, Macintosh e Linux.
Baseia-se na programao de Processamento do IDE, um ambiente ao desenvolvimento
fcil de usar utilizada pelos artistas e designers. Program-lo atravs de um cabo USB, e
no uma porta serial. Esse recurso til, porque muitos computadores modernos no tm
portas
seriais.
Trata-se de hardware e software de fonte aberta, se desejar, voc pode baixar o esquema
do circuito, comprar todos os componentes, e fazer o seu prprio, sem pagar nada para os
fabricantes de Arduno. O hardware barato. As despesas de alimentao USB cerca de
20 (atualmente, cerca de E.U. $ 35) e substituindo um chip queimada na placa fcil e no
custa mais de 5 ou E.U. $ 4. Ento voc pode dar ao luxo de cometer erros.
Existe uma comunidade ativa de usurios, ento h muitas pessoas que podem ajud-lo.
O projeto Arduno foi desenvolvido em um ambiente educacional e, portanto, ideal para os
recm-chegados para fazer as coisas de trabalho rapidamente.
Este livro foi concebido para ajudar os iniciantes a entender os benefcios que podem obter a
partir de aprender a usar a plataforma Arduno e adoptar a sua filosofia.
Ela envolve o design de objetos interativos que podem se comunicar com humanos por meio
de sensores e atuadores controlados por um comportamento implementado como um
software rodando dentro de um microcontrolador (um pequeno computador em um nico
chip).
No passado, os eletrnicos usando significava ter que lidar com engenheiros de todo o
tempo, e circuitos de construir um pequeno componente no momento, estas questes
manteve as pessoas criativas de brincar com o meio diretamente. A maioria das ferramentas
foram criadas para os engenheiros e exigiu um vasto conhecimento. Nos ltimos anos, os
microcontroladores tm se tornado mais baratos e fceis de usar, permitindo a criao de
melhores ferramentas.
O progresso que temos feito com Arduno trazer estas ferramentas um passo para o
principiante, permitindo que as pessoas comecem a construir dia aps apenas dois ou trs
de um workshop.
Com Arduno, um designer ou artista pode facilmente conhecer as noes bsicas de
eletrnica e sensores de forma muito rpida e pode comear a construir prottipos com
muito pouco investimento.
de
manipulao
constante
do
software
suporte
de
hardware.
2.2. Consertando
Ns acreditamos que essencial para lidar com a tecnologia, explorando diferentes
possibilidades diretamente no hardware e s vezes software sem um objetivo muito definido.
Reutilizando a tecnologia existente uma das melhores maneiras de consertar. Primeiros
brinquedos baratos ou antigos equipamentos descartados e adaptando-lhes para que faam
algo de novo uma das melhores maneiras de chegar a grandes resultados.
2.3. Patching
Esta tcnica tem sido traduzido para o mundo do software por "programao visual"
ambientes como Max, Pure Data, ou VVVV. Essas ferramentas podem ser visualizados
como "caixas" para as diferentes funcionalidades que proporcionam, deixando o usurio
construir "patches", ligando essas caixas juntos. Esses ambientes permitem a experincia do
usurio com a programao, sem a interrupo constante tpico do ciclo normal: tipo de
programa ", compilao, caramba, h um erro, erro de correo, compilar, executar". Se
voc visualmente mais ocupado, eu recomendo que voc experiment-los.
Circuit bending uma das formas mais interessantes de consertar. o criativo curto-circuito
de baixa tenso, alimentados por bateria dispositivos eletrnicos de udio, como pedais de
efeitos de guitarra, brinquedos para crianas, pequenas e sintetizadores para criar novos
instrumentos musicais e geradores de som. O cerne deste processo a "arte do acaso".
Tudo comeou em 1966 quando Reed Ghazala, por acaso, em curto-out do amplificador um
brinquedo contra um objeto de metal na sua gaveta, resultando em um fluxo de sons
incomuns. O que eu gosto benders sobre circuito a sua capacidade para criar as mais
loucas dispositivos de ajustes de distncia com a tecnologia, sem necessariamente
compreender o que eles esto fazendo no lado terico.
Arduno. A cidade costumava ser a sede da empresa Olivetti. Eles haviam se tornado os
computadores desde a dcada de 1960, em meados de 1990, jogaram tudo em ferrosvelhos na regio. Estes esto cheios de peas de computador, componentes eletrnicos e
dispositivos estranhos de todos os tipos. Ns passamos inmeras horas l, comprando todo
tipo de engenhocas por muito pouco dinheiro e pirataria em nossos prottipos. Quando voc
pode comprar um mil alto-falantes para muito pouco dinheiro, voc obrigado a chegar a
alguma idia no final. Acumular lixo e atravess-la antes de comear a construir algo a partir
do zero.
2.7. Hacking Brinquedos
Os brinquedos so uma fantstica fonte de tecnologia barata de reutilizao, como
evidenciado pela prtica de circuit bending mencionado anteriormente. Com a atual afluncia
de milhares de muito baratos brinquedos de alta tecnologia da China, voc pode criar idias
rpidas com alguns gatos barulhentos e um par de espadas de luz. Eu tenho feito isso h
alguns anos para chegar aos meus alunos a compreender que a tecnologia no
assustador ou de difcil abordagem. Um dos meus recursos favoritos o livreto "Low Tech
Sensores
atuadores"
por
Usman
Haque
Somlai-Adam
Fischer
Arduno composto de duas partes principais: a placa Arduno, que a pea de hardware
que voc trabalha, quando voc construir seus objetos, bem como a IDE Arduno, o pedao
de software que voc executa em seu computador. Voc usa o IDE para criar um desenho
(um pequeno programa de computador) que voc enviar para a placa Arduno. O desenho
conta a bordo o que fazer.
No muito tempo atrs, trabalhando em hardware significava construir circuitos a partir do
zero, usando centenas de componentes diferentes, com nomes estranhos como resistor,
capacitor, indutor, transistor, e assim por diante.
Cada circuito foi "wired" para fazer uma aplicao especfica, e fazer mudanas necessrias
para voc cortar fios, conexes de solda, e muito mais. Com o surgimento das tecnologias
digitais e microprocessadores, estas funes, uma vez que foram realizadas com fios, foram
substitudos por programas de software.
Com o software fcil modificar a hardware. Com poucas teclas pressionadas, voc pode
mudar radicalmente a lgica de um dispositivo e tente duas ou trs verses na mesma
quantidade de tempo que voc levaria para soldar um par de resistores.
poder vir da placa USB, mas assim que voc conecte uma fonte de alimentao, o
conselho vai us-la automaticamente.
Observao:
de
instalar
driver
com
"Intel"
em
seu
nome
como
em
Windows Vista ou Windows Seven vai primeiro tentar encontrar o driver no Windows Update,
se isso falhar, voc pode instru-lo a olhar no FTDI \ Drivers USB pasta Drivers.
Voc vai passar por esse procedimento duas vezes, porque o primeiro computador instala o
driver de baixo nvel, em seguida, instala um cdigo que faz o olhar como uma placa de
porta serial para o computador.
Uma vez que os drivers so instalados, voc pode iniciar o IDE Arduno Arduno e comear
a usar. Em seguida, voc deve descobrir qual porta serial atribudo sua necessidade
Arduno bordo you'll essa informao para o programa mais tarde. As instrues para obter
esta informao so as seguintes sees.
3.7. Port de Identificao: Windows
No Windows, o processo um pouco mais complicado, pelo menos no incio. Abra o
Gerenciador de Dispositivos clicando no menu Iniciar, boto direito do mouse em
Computador (Vista) ou o meu computador (XP) e escolha Propriedades. No Windows XP,
clique em Hardware e escolha Gerenciador de dispositivos. No Vista, clique em Device
Manager
(ele
aparece
na
lista
de
tarefas
no
lado
esquerdo
da
janela).
Procure o dispositivo Arduno na lista do "Portas (COM & LPT)". O Arduno vai aparecer
como uma porta serial USB e ter um nome como COM3, como mostrado na Figura 3-4.
Figura 3-4. O Gerenciador de Dispositivos do Windows mostrando todas as portas seriais
disponveis
Nota: Nota: Em algumas mquinas Windows, a porta COM tem um nmero maior que 9;
essa numerao cria alguns problemas ao Arduno est tentando se comunicar com ele.
Consulte o Captulo 7, soluo de problemas para obter ajuda sobre este problema.
Uma vez que voc descobriu a atribuio de porta COM, voc pode selecionar a porta a
partir do menu Ferramentas> Port Serial no IDE Arduno. Agora, o ambiente de
desenvolvimento do Arduno pode falar com a placa Arduno e program-lo.
Todos os objetos que ir construir com Arduno seguem um padro muito simples, que ns
chamamos de Dispositivo Interativo. O dispositivo interativo um circuito eletrnico que
capaz de perceber o ambiente atravs de sensores (componentes eletrnicos que
convertem as medies do mundo real em sinais eltricos). O dispositivo que processa as
informaes que recebe dos sensores com o comportamento que implementado como
software. O aparelho ser ento capaz de interagir com o mundo usando atuadores,
componentes eletrnicos que podem converter um sinal eltrico em uma ao fsica.
Figura 4-1. O dispositivo interactivo
que o atinge e relat-lo como um sinal de que pode ser entendido pelo microcontrolador.
Uma vez que os sensores foram lidos, o dispositivo tem a informao necessria para
decidir como reagir. O processo de tomada de deciso feita pelo microcontrolador, ea
reao realizada por atuadores. Em nossos corpos, por exemplo, os msculos recebem
sinais eltricos do crebro e convert-los em um movimento. No mundo eletrnico, essas
funes
poderiam
ser
desempenhadas
por
uma
luz
ou
um
motor
eltrico.
Nas sees seguintes, voc vai aprender a ler diferentes tipos de sensores e controle de
diferentes tipos de actuadores.
4.3. Piscando um LED
O LED piscando esboo o primeiro programa que voc deve executar para testar se sua
placa Arduno est funcionando e est configurado corretamente. Tambm geralmente o
primeiro exerccio de programao que algum faz quando aprender a programar um
microcontrolador. Um diodo emissor de luz (LED) um pequeno componente eletrnico que
um pouco como uma lmpada, mas mais eficiente e requer menor voltagem para operar.
Sua placa Arduno vem com um LED pr-instalado. marcado como "L". Voc tambm
pode
adicionar
seu
prprio
LED
de
conexo
como
mostrado
na
Figura
4-2.
K indica o catodo (negativo) ou mais curtos, indica um anodo (positivo), ou mais de chumbo.
Depois que o LED est ligado, voc precisa dizer o que fazer Arduno. Isto feito atravs de
cdigo, ou seja, uma lista de instrues que damos o microcontrolador para ele fazer o que
queremos.
Figura 4-2. Ligar um LED para Arduno
Em seu computador, v abrir a pasta onde voc copiou o IDE Arduno. D um duplo clique
no cone do Arduno para inici-lo. Selecione File> New e voc ser solicitado a escolher um
nome de pasta sketch: este o lugar onde o seu esboo Arduno ser armazenado. Nome
que Blinking_LED e clique em OK. Em seguida, digite o seguinte texto (Exemplo 4-1) no
editor de desenho Arduno (a janela principal do IDE Arduno). Voc tambm pode baix-lo
www.makezine.com / getstartedArduno. Ele deve aparecer como mostrado na Figura 4-3.
Exemplo 4-1. Programa LED piscando
#define LED 13 // LED connected to
// digital pin 13
void setup()
{
pinMode(LED, OUTPUT);
// pin as output
}
void loop()
{
digitalWrite(LED, HIGH);
delay(1000);
digitalWrite(LED, LOW);
delay(1000);
Agora que o cdigo est na sua IDE, voc precisa verificar se ele est correto. Pressione o
boto "Confirmar" (Figura 4-3 mostra a sua localizao), se tudo estiver correto, voc ver a
mensagem "Compiler done" aparecer na parte inferior do IDE Arduno. Esta mensagem
significa que o IDE Arduno traduziu seu desenho em um programa executvel que pode ser
executado pelo driver, um pouco como um arquivo. Exe no Windows ou um arquivo app. Em
um Mac.
Neste ponto, voc pode carreg-lo na placa: pressione o upload para o I / O boto Cmara
(veja a Figura 4-3). Isso ir redefinir a bordo, obrigando-o a parar o que est fazendo e ouvir
as instrues provenientes da porta USB. O IDE Arduno envia o desenho atual do conselho,
que ir armazen-lo em sua memria e, eventualmente, execut-lo.
Voc ver algumas mensagens aparecerem na rea de preto na parte inferior da janela, e
logo acima dessa rea, voc ver a mensagem "Done uploading" parece que voc saiba o
processo foi concludo corretamente. Existem dois LEDs, marcado RX e TX, no conselho,
estes flash toda vez que um byte enviado ou recebido pela diretoria. Durante o processo
de upload, eles continuam piscando.
Se voc no v a piscar LEDs, ou se voc receber uma mensagem de erro, em vez de
"Done uploading", ento h um problema de comunicao entre o computador eo Arduno.
Certifique-se de que voc tenha selecionado a porta serial direito (ver Captulo 3), no menu
Ferramentas> Port Serial. Alm disso, verifique o menu Ferramentas> Cmara para
confirmar que o modelo correto de Arduno selecionado l.
Se voc ainda estiver tendo problemas, consulte o Captulo 7, soluo de problemas.
Uma vez que o cdigo est em sua placa Arduno, ele vai ficar l at voc colocar outro
programa sobre ela. O esquema vai sobreviver se a placa reinicializada ou desligada, um
pouco como os dados no disco do seu computador.
Supondo que o desenho tenha sido carregado corretamente, voc ver o LED "L" ligue para
um segundo e, em seguida, desligar por um segundo. Se voc instalou um LED separadas,
como mostrado na Figura 4-2, que o LED pisca, tambm. O que voc acabou de escrever e
correu um programa de computador, ou esboo, como so chamados os programas
Arduno. Arduno, como eu mencionei antes, um pequeno computador, e ele pode ser
programado para fazer o que quiser. Isso feito usando uma linguagem de programao
para escrever uma srie de instrues do IDE Arduno, que o transforma em um arquivo
executvel para a sua placa Arduno.
Vou mostrar prximo como entender o desenho. Primeiro de tudo, o Arduno executa o
cdigo de cima para baixo, para a primeira linha no topo a primeira leitura, em seguida, ela
se move para baixo, um pouco como a forma como a reproduo de um player de vdeo
como o QuickTime Player ou Windows Media Player move da esquerda para a direita,
mostrando onde o filme estiver.
Observe a presena de chaves, que so usadas para agrupar linhas de cdigo. Estes so
particularmente teis quando voc quer dar um nome a um grupo de instrues. Se voc
estiver no jantar e voc perguntar a algum: "Por favor me passe o queijo parmeso," isto d
incio a uma srie de aes que esto resumidos a pequena frase que voc acabou de dizer.
Como ns somos seres humanos, tudo vem naturalmente, mas todas as aes individual
minsculo necessrio para fazer isso devem ser especificados para o Arduno, porque no
to poderoso como o nosso crebro. Assim, para agrupar uma srie de instrues, voc fura
a (antes de seu cdigo e um) depois.
Voc pode ver que existem dois blocos de cdigo que so definidos dessa forma aqui. Antes
de cada uma delas existe um comando estranho:
void setup ()
Esta linha d um nome a um bloco de cdigo. Se voc fosse escrever uma lista de
instrues
que
ensinam
Arduno
como
passar
parmeso,
voc
escreveria
passTheParmesan (void) no incio de um bloco, e esse bloco se tornaria uma instruo que
voc pode ligar de qualquer lugar do cdigo Arduno. Esses blocos so chamados de
funes. Se depois disto, voc escreve passTheParmesan () em qualquer lugar no seu
cdigo, Arduno ir executar as instrues e continuar de onde parou.
#define como uma busca automtica que substitui o seu cdigo, neste caso est dizendo
ao Arduno para escrever o nmero 13 cada vez que a palavra LED aparece. A substituio
a primeira coisa que fez quando voc clicar em verificar ou Upload de I / O Board (voc
nunca v os resultados da substituio, tal como feito nos bastidores). Ns estamos
usando esse comando para especificar que o LED piscando e que est ligado ao pino 13 do
Arduno.
voidsetup ()
Esta linha conta ao Arduno que o prximo bloco de cdigo ser chamado setup(). (Com
essa inaugurao suporte curly, um bloco de cdigo comea).
pinMode(LED, OUTPUT); // sets the digital
// pin as output
Finalmente, uma instruo muito interessante. pinMode conta Arduno como configurar um
pino certo. Pinos Digital pode ser usado como entrada ou sada. Neste caso, precisamos de
um pino de sada para controlar o nosso LED, para que coloque o nmero do PIN e seu
modo dentro dos parnteses. pinMode uma funo, e as palavras (ou nmeros)
especificada dentro dos parnteses so argumentos. Entrada e sada so constantes na
linguagem Arduno. (Como variveis, constantes so atribudos valores, exceto que os
valores constantes so pr-definidas e nunca mudam.)
{ Esse fechamento das Chaves significa o fim da funo setup ().
void loop()
{
loop () onde voc especifica o comportamento principal do seu dispositivo interativo. Vai
ser repetido muitas e muitas vezes at mudar a placa off.
digitalWrite(LED, HIGH); // turns the LED on
Como diz o comentrio, digitalWrite () capaz de ligar (ou desligar) Qualquer pino que foi
configurado como uma sada. O primeiro argumento (neste caso, LED) especifica que o pino
deve ser ligado ou desligado (lembre-se que o LED um valor constante que se refere ao
pino 13, ento este o pino que est ligado). O segundo argumento pode girar o pino
(HIGH) ou desligado (LOW).
Imagine que cada pino de sada uma tomada de energia minsculo, como aqueles que
tm nas paredes de seu apartamento. os europeus so 230 V, as americanas so de 110 V.
O Arduno trabalha em um mais modesto 5 V. mgica aqui quando o software torna-se
hardware. Quando voc escreve digitalWrite(LED, HIGH), ele manda para o pino de sada
o valor de 5 V, e se voc ligar um LED, ele acender. Ento neste momento no seu cdigo,
uma instruo no software faz algo acontecer no mundo fsico, controlando o fluxo de
eletricidade para o pino. Ligar e desligar o pino de agora vamos traduzi-los em algo mais
visvel de um ser humano, o LED o nosso atuador.
delay(1000);
Arduno tem uma estrutura muito bsica. Portanto, se voc quer que as coisas aconteam
com certa regularidade, dizemos a ele para se sentar calmamente e no fazer nada at a
hora de ir para a prxima etapa. (atraso), basicamente, faz com que o processador se sentar
l e no fazer nada para a quantidade de milissegundos que voc passar como um
argumento. Milisegundos milhares de segundos, portanto, 1000 milissegundos equivalem a
1 segundo. Assim, o LED permanece em um segundo aqui.
digitalWrite(LED, LOW);
Esta instruo agora desliga o LED que estava anteriormente ligado. Por que ns usamos
HIGH e LOW? Bem, uma conveno antiga em eletrnica digital. HIGH significa que o
pino est ligado, e no caso do Arduno, ser de 5 V. LOW significa 0 V. Voc tambm pode
substituir esses argumentos mentalmente ON e OFF.
Materiais:
Solderless breadboard: RadioShack www.radioshack.com () Nmero da pea 276-002,
Maker Shed (www.makershed.com) MKKN3 nmero da pea. O Apndice A uma
introduo breadboard solda.
kit fio cortado Pr-jumper: RadioShack 276-173, Maker Shed MKKN4
Um resistor de 10K Ohm: RadioShack 271-1335 (5-pack), SparkFun (www.sparkfun.com)
COM-08374
Momentary boto interruptor ttil: SparkFun COM-00097
Figura 4-6. Ligar um boto
Nota: em vez de comprar fio jumper precut, voc tambm pode comprar 22 AWG fio
conexo solid-core em bobinas pequenas e corte e tir-lo usando cortadores de arame e fio
strippers. Vamos dar uma olhada no cdigo que iremos usar para controlar o LED com o
nosso boto:
void setup() {
pinMode(LED, OUTPUT);
No Arduno, selecione Arquivo> Novo (se voc tiver outro sketch aberto, voc pode querer
salvar primeiro). Quando Arduno pede-lhe para o nome da sua pasta de novo desenho,
PushButtonControl tipo. Digite o cdigo do Exemplo 4-2 em Arduno (ou baix-lo
www.makezine.com/getstartedArduno e col-lo na IDE Arduno). Se tudo estiver correto, o
LED acende quando voc pressiona o boto.
4.11. Como isso funciona?
Tenho introduziu dois novos conceitos com este programa exemplo: funes que retornam o
resultado de seu trabalho e se a declarao.
A instruo if possivelmente a mais importante instruo em linguagem de programao,
porque permite que o computador (e lembre-se, o Arduno um pequeno computador) para
tomar decises. Aps a palavra-chave se, voc tem que escrever uma pergunta entre
parnteses, e se a resposta, ou resultado, verdade, o primeiro bloco de cdigo ser
executado, caso contrrio, o bloco de cdigo depois o resto vai ser executado. Repare que
eu usei o smbolo == ao invs de =. O primeiro usado quando duas entidades que so
comparados e retorna TRUE ou FALSE, o ltimo atribui um valor a uma varivel. Certifiquese que voc use o correto, porque muito fcil cometer esse erro e utilizar apenas =, em
que o programa caso voc nunca vai funcionar. Eu sei, porque aps 25 anos de
programao, eu ainda cometia esse erro.
Segurando o dedo no boto enquanto voc precisa de luz no prtico. Embora o faria
pensar em quanta energia voc est desperdiando quando voc anda afastado de uma
lmpada que voc deixou em diante, precisamos descobrir como fazer a vara em boto ".
4.12. Um circuito, um Mil Comportamentos
A grande vantagem de eletrnica digital programvel sobre a eletrnica clssica se torna
agora evidente: Eu vou te mostrar como implementar diversos "comportamentos", utilizando
o mesmo circuito eletrnico como na seo anterior, apenas mudando o software.
Como eu mencionei antes, no muito prtico ter que segurar o dedo no boto para ter a
luz acesa. Por isso, deve programar algum tipo de "memria", sob a forma de um
mecanismo de software que vai se lembrar quando temos apertou o boto e mantiver a luz
acesa mesmo depois de ter liberado.
Para fazer isso, vamos usar o que chamado de varivel. (Ns usamos um j, mas eu no
expliquei.) Uma varivel um lugar na memria do Arduno onde voc pode armazenar
dados. Pense nisso como uma daquelas notas pegajosas que voc usa para lembrar algo,
como um nmero de telefone: voc pega um, voc escrever "Luisa 02 555 1212" nele, e
col-la no seu monitor de computador ou sua geladeira. Na linguagem Arduno, igualmente
simples: voc acabou de decidir que tipo de dados que voc deseja armazenar (um nmero
ou um texto, por exemplo), dar-lhe um nome, e quando voc quiser, voc pode armazenar
os dados ou recuper-la . Por exemplo:
int val = 0;
int significa que a varivel vai armazenar um nmero inteiro, val o nome da varivel, e = 0
atribui um valor inicial de zero.
Uma varivel, como o nome sugere, pode ser modificado em qualquer lugar no seu cdigo,
de modo que, mais tarde, em seu programa, voc pode escrever:
val = 112;
reatribui um novo valor, 112, para a varivel.
Nota: J repararam que em Arduno, todas as instrues, com uma exceo (# define),
termina com um ponto e vrgula? Isso feito para que o compilador (a parte do Arduno que
transforma seu desenho em um programa que o microcontrolador pode ser executado) sabe
que sua declarao est terminado e um novo est comeando. Lembre-se de us-lo o
tempo todo, com excluso de qualquer linha que comea com # define. O # define so
substitudos pelo compilador antes do cdigo traduzido em um arquivo executvel Arduno.
No programa seguinte, Val usado para armazenar o resultado de digitalRead (); qualquer
Arduno comea a partir da entrada termina na varivel e vai ficar l at que uma outra linha
de cdigo alter-lo. Observe que as variveis que uso de um tipo de memria chamada
RAM. muito rpido, mas quando voc desliga o seu conselho, todos os dados
armazenados na RAM so perdidas (o que significa que cada varivel redefinido para seu
valor inicial quando a placa ligada novamente). Seus prprios programas so
armazenados na memria flash, este o mesmo tipo usado por seu telefone mvel para
armazenar nmeros de telefone, que mantm seu contedo mesmo quando a placa for
desligada.
Vamos agora usar outra varivel a se lembrar se o LED tem que ficar ligado ou desligado
depois de soltar o boto. Exemplo 4-3 uma primeira tentativa de conseguir:
Exemplo 4-3. Ligue o LED quando o boto for pressionado e mant-lo depois ele liberado:
#define LED 13 // the pin for the LED
#define BUTTON 7 // the input pin where the
// pushbutton is connected
int val = 0;
void setup()
{
pinMode(LED, OUTPUT); // tell Arduno LED is an output
pinMode(BUTTON, INPUT); // and BUTTON is an input
}
void loop()
{
val = digitalRead(BUTTON); // read input value and store it
// check if the input is HIGH (button pressed)
// and change the state
if (val == HIGH)
{
state = 1 - state;
}
if (state == 1)
{
digitalWrite(LED, HIGH); // turn LED ON
}
else
{
digitalWrite(LED, LOW);
}
}
Agora vamos testar este cdigo. Voc vai notar que ele funciona um pouco. Voc ver que
a luz muda to rapidamente que voc no pode defini-lo como ligado ou desligado com um
boto.
Vejamos as partes interessantes do cdigo: estado uma varivel que armazena 0 ou 1
para lembrar se o LED est ligado ou desligado. Depois que o boto liberado, temos que
inicializar a 0 (LED desligado).
Mais tarde, lemos o estado atual do boto, e se for pressionado (val == HIGH), mudamos
estado 0-1, ou vice-versa. Fazemos isso usando um pequeno truque, como o estado s
pode ser 1 ou 0. O truque que eu uso envolve uma pequena expresso matemtica baseada
na idia de que 1-0 1 e 1-1 0: state = 1 - state;
A linha pode no fazer muito sentido em matemtica, mas na programao. O smbolo =
significa "atribuir o resultado do que est atrs de mim para o nome da varivel antes de
mim", neste caso, o novo valor de estado atribudo o valor de 1 menos o valor antigo do
estado.
Mais tarde no programa, voc pode ver que ns usamos estado para descobrir se o LED
deve ser ligado ou desligado. Como eu mencionei isso leva a resultados um pouco
esquisitos.
Os resultados so esquisitos por causa da maneira como lemos no boto. Arduno muito
rpido, que executa suas prprias instrues internas a uma taxa de 16 milhes de
execues por segundo que poderia muito bem ser a execuo de alguns milhes de linhas
de cdigo por segundo. Ento isso significa que enquanto o seu dedo est pressionando o
boto, Arduno pode estar lendo a posio do boto de alguns milhares de vezes e alterar o
estado em conformidade. Assim, os resultados acabam por ser imprevisvel, mas pode ser
desligado quando voc queria-o, ou vice-versa. Como at mesmo um relgio quebrado est
certo duas vezes por dia, o programa pode mostrar o comportamento correto de vez em
quando, mas a maior parte do tempo ele vai estar errado.
Como podemos corrigir isso? Bem, preciso detectar o momento exato em que o boto
pressionado, que o nico momento que temos de mudar de estado. Do jeito que eu gosto
de fazer armazenar o valor de val antes de eu ler um novo, o que me permite comparar a
posio atual do boto com o anterior e mudana de estado apenas quando o boto se torna
HIGH aps ser LOW.
Exemplo 4-4 contm o cdigo para fazer isso:
Exemplo 4-4. Ligue o LED quando o boto for pressionado e mant-lo depois de ele
lanado agora com uma frmula nova e melhorada!
#define LED 13 // the pin for the LED
#define BUTTON 7 // the input pin where the
// pushbutton is connected
int val = 0;
void setup() {
pinMode(LED, OUTPUT);
Captulo 5.
Entrada e Sada Avanado
O que voc aprendeu apenas no captulo 4 so as operaes mais elementares que
podemos fazer em Arduno: Sada digital de controle e leitura de entrada digital. Se o
Arduno fosse algum tipo de linguagem humana, estas seriam duas letras do seu alfabeto.
Considerando que existem apenas cinco letras deste alfabeto, voc pode ver quanto mais o
trabalho
que
temos
que
fazer
antes
de
podermos
escrever
poesia
Arduno.
frmula melhorada!
5.1. Tentando Out Em outros sensores / Off
Agora que voc aprendeu a usar um boto, voc deve saber que existem muitos outros
sensores muito bsicos que funcionam segundo o mesmo princpio:
5.1.1. Chaves
Assim como um boto, mas no muda automaticamente o estado quando liberado
5.1.2. Termostatos
Uma opo que se abre quando a temperatura atinge um valor definido
5.1.3. Sensores magnticos (tambm conhecido como " reed switch")
Tem dois contatos que se renem quando esto perto de um m, usado por alarmes para
detectar quando uma janela aberta
5.1.4. Tapete switches (chaves tipo tapete)
tapetes pequenos, que voc pode colocar em um tapete ou um capacho para detectar a
presena de um ser humano (ou gato pesado)
boto. Usando este componente simples, voc pode aplicar, por exemplo, interfaces
gestuais que reagem quando um objeto movido ou agitado.
Figura 5-1. O interior de um sensor de inclinao
Outro sensor que voc pode querer experimentar o sensor de infravermelho como
encontrado em alarmes (tambm conhecido como um sensor infravermelho passivo ou PIR,
ver Figura 5-2). Este pequeno dispositivo dispara quando um ser humano vivo (ou outro ser)
move-se dentro de sua proximidade. uma maneira simples de detectar o movimento.
Figura 5-2. sensor PIR tpica
Voc deve experimentar agora, olhando para todos os possveis dispositivos que tm dois
contatos que fechar, como o termostato que ajusta a temperatura da sala (use um velho que
no mais ligado), ou apenas colocar dois contatos ao lado do outro e soltando gua sobre
elas.
Por exemplo, usando o exemplo final do captulo 4 e um sensor PIR, voc poderia fazer a
sua lmpada responder presena de seres humanos, ou voc poderia usar um switch
inclinao para construir aquele que se desliga quando est inclinado de um lado.
5.2. Controlar a luz com PWM
Com o conhecimento que voc ganhou at agora, voc pode criar um lmpada interativa
que pode ser controlada e no apenas com uma perfurao para ligar / desligar, mas talvez
de uma forma que um pouco mais elegante. Uma das limitaes dos exemplos LED
piscando que temos utilizado at agora que voc pode acender a luz apenas on e off. Uma
lmpada de fantasia interativa deve ser regulvel. Para resolver este problema, podemos
utilizar um pequeno truque que faz um monte de coisas, como a televiso ou cinema
possvel: a persistncia da viso.
Como sugeri, aps o primeiro exemplo no captulo 4, se voc mudar os nmeros na funo
de atraso at que voc no v o LED piscando mais, voc vai notar que o LED parece ser
regulado em 50% do seu brilho normal. Agora mude os nmeros para que o LED est em
cima um quarto do tempo que ele est fora. Execute o desenho e voc ver que o brilho
de aproximadamente 25%. Essa tcnica chamada de modulao de largura de pulso
(PWM), uma maneira elegante de dizer que se voc piscar o LED rpido o suficiente, voc
no v-lo piscar mais, mas voc pode mudar o seu brilho, alterando a relao entre o tempo
e em o tempo fora. Figura 5-3 mostra como isso funciona.
Essa tcnica tambm funciona com outros dispositivos alm de um LED. Por exemplo, voc
pode mudar a velocidade de um motor da mesma maneira.
Ao experimentar, ver que ao piscar o LED colocando atrasos em seu cdigo um pouco
inconveniente, porque assim voc quiser ler um sensor ou enviar dados pela porta serial, o
LED ir piscar enquanto ele est esperando por voc para terminar a leitura do sensor.
Felizmente, o processador usado pela placa Arduno tem um pedao de hardware que
podem controlar muito eficientemente trs LEDs piscando quando seu desenho outra
coisa. Este hardware implementado em pinos 9, 10 e 11, que pode ser controlado pela
instruo analogWrite ().
Em seguida, crie um novo programa no Arduno e utilizao Exemplo 5-1 (voc tambm
pode fazer download de exemplos de cdigo www.makezine.com/getstartedArduno:
Exemplo 5-1. Fade um LED dentro e para fora como em um computador Apple dormir
#define LED 9 // the pin for the LED
int i = 0;
void setup() {
pinMode(LED, OUTPUT); // tell Arduno LED is an output
}
void loop(){
for (i = 0; i < 255; i++) { // loop from 0 to 254 (fade in)
analogWrite(LED, i);
// Wait 10ms
}
}
Agora voc tem uma caracterstica replicada uma fantasia de um computador porttil (talvez
um pouco de um desperdcio usar o Arduno para algo to simples). Vamos usar os
conhecimentos para melhorar a nossa luz.
Adicione ao circuito que foi utilizado para ler um boto (voltar no Captulo 4) para este
breadboard. Veja se voc pode fazer isso sem olhar para a prxima pgina, porque eu quero
que voc comear a pensar no fato de que cada circuito elementar que eu mostro aqui um
bloco de construo para fazer projetos cada vez maiores. Se voc precisa de espreitar o
futuro, no se preocupe, a coisa mais importante que voc gasta algum tempo pensando
sobre como poderia parecer.
Para criar esse circuito, voc ter que combinar o circuito que voc acabou de construir
(mostrado na Figura 5-4) com o circuito de boto mostrado na Figura 4-6. Se voc quiser,
voc pode simplesmente construir ambos os circuitos em diferentes partes da breadboard,
voc tem espao de sobra. No entanto, uma das vantagens da breadboard (ver Anexo A)
que h um par de carris horizontalmente na parte inferior e superior. Um deles de cor
vermelha (para o positivo) e outra azul ou preta (por terra).
Esses trilhos so usados para distribuir energia e terra de onde ela necessria. No caso do
circuito que voc precisa para construir esse exemplo, voc tem dois componentes (ambos
resistores) que precisa ser conectado ao GND (terra) pino do Arduno. Porque o Arduno tem
dois pinos GND, voc pode simplesmente ligar estes dois circuitos exatamente como
mostrado em cada uma das duas figuras, basta ligar os dois at o Arduno, ao mesmo
tempo. Ou, voc pode ligar um fio de ferro da breadboard do terreno para um dos pinos
GND no Arduno, e ento tomar os fios que esto ligados ao GND nos valores e conect-los
ao invs do ferrovirio cho breadboard.
Se voc no est pronto para tentar isso, no se preocupe: basta fio at ambos os circuitos
para o Arduno, como mostrado nas figuras Figura 4-6 e Figura 5-4. Voc ver um exemplo
que usa o solo e os trilhos breadboard positivo no captulo 6.
Voltando para o prximo exemplo, se temos apenas um boto, como que vamos controlar
o brilho de uma lmpada? Estamos indo para aprender ainda uma outra tcnica de design
de interao: detectando quanto tempo um boto foi pressionado. Para fazer isso, eu preciso
atualizar Exemplo 4-5 do captulo 4 para adicionar escurecimento. A idia construir uma
"interface" no qual um release de imprensso e ao acende a luz e desligar, e pressione e
segure o brilho mudanas ao.
Vamos dar uma olhada no esboo:
Exemplo 5-2. Ligue o LED quando o boto for pressionado e mant-lo depois de seu
lanamento, incluindo simples de salto. Se o boto for mantido mudar o brilho.
#define LED 9
// up too fast
if (brightness > 255) { // 255 is the max brightness
brightness = 0; // if we go over 255
// let's go back to 0
}
}
}
old_val = val; // val is now old, let's store it
if (state == 1) {
analogWrite(LED, brightness); // turn LED ON at the
// current brightness level
} else {
analogWrite(LED, 0); // turn LED OFF
}
}
Agora, experiment-lo. Como voc pode ver, o nosso modelo de interao est tomando
forma. Se voc pressionar o boto e solt-lo imediatamente, voc deixa a lmpada ligada ou
desligada. Se voc mantenha o boto pressionado, as mudanas de brilho, basta deixar ir
quando tiver atingido o brilho desejado.
5.3. Use um sensor de luz em vez do Teclado
Agora vamos tentar um experimento interessante. Tome um sensor de luz, como o retratado
na Figura 5-5. Voc pode obter um pacote com cinco destes da RadioShack (Nmero da
pea 276-1657).
Figura 5-5. resistor dependente da luz (LDR)
Agora ligue o LDR para a breadboard em vez do boto. Voc vai notar que se voc cobrir o
LDR com as mos, o LED apaga-se. Descubra a LDR, ea luz passa. Voc apenas construiu
o seu primeiro verdadeiro sensor LED-driven. Isto importante porque pela primeira vez
neste livro, ns estamos usando um componente eletrnico que no um dispositivo
mecnico simples: um sensor rico real.
5.4. Entrada analgica
Como voc aprendeu na seo anterior, Arduno capaz de detectar a existncia de uma
tenso aplicada a um dos seus pinos e relat-lo atravs do digitalRead () funo. Este tipo
de ou / ou resposta muito bem em muitas aplicaes, mas o sensor de luz que usamos s
capaz de dizer-nos no apenas se h luz, mas tambm a quantidade de luz que existe.
Esta a diferena entre uma on / off sensor (que nos diz que se algo est l) e um sensor
analgico, cujo valor muda continuamente. Para ler este tipo de sensor, precisamos de um
tipo diferente de pinos.
Na parte inferior direita da placa Arduno, voc ver seis pinos marcados "Analog In", que
so os pinos especiais que podem dizer-nos no s a existncia de uma voltagem aplicada
a eles, mas se assim for, tambm o seu valor. Ao utilizar o analogRead () funo, podemos
ler a tenso aplicada a um dos pinos. Essa funo retorna um nmero entre 0 e 1023, o que
representa tenses entre 0 e 5 volts. Por exemplo, se h uma tenso de 2,5 V aplicada ao
pino nmero 0, analogRead (0) retorna 512.
Se voc agora construir o circuito que voc v na figura 5-6, com um resistor de 10k, e
executar o cdigo listado no Exemplo 5-3, voc ver a bordo LED (voc pode tambm inserir
o seu prprio LED nos pinos 13 e GND, conforme mostrado em "Piscando um LED" no
Captulo 4) a piscar a uma taxa que dependente da quantidade de luz que atinge o sensor.
Exemplo 5-3. Blink LED a uma taxa especificada pelo valor da entrada analgica
#define LED 13 // the pin for the LED
int val = 0; // variable used to store the value
// coming from the sensor
void setup() {
pinMode(LED, OUTPUT); // LED is as an OUTPUT
// Note: Analogue pins are
// automatically set as inputs
}
void loop() {
val = analogRead(0); // read the value from
// the sensor
digitalWrite(13, HIGH); // turn the LED on
delay(val); // stop the program for
// some time
digitalWrite(13, LOW); // turn the LED off
delay(val); // stop the program for
// some time
}
Agora, tente Exemplo 5-4, mas antes que voc faa, voc precisa modificar seu circuito. D
uma olhada na Figura 5-4 e gancho novamente at que o LED de 9 pinos, como mostrado.
Como voc j tem algum material sobre a breadboard, voc precisa encontrar um lugar na
breadboard onde o LED, fios e resistores no coincidir com o circuito de LDR.
Exemplo 5-4. Ajuste o brilho do LED com um brilho determinado pelo valor da entrada
analgica
#define LED 9 // the pin for the LED
int val = 0; // variable used to store the value
// coming from the sensor
void setup() {
pinMode(LED, OUTPUT); // LED is as an OUTPUT
// Note: Analogue pins are
// automatically set as inputs
}
void loop() {
val = analogRead(0); // read the value from
// the sensor
analogWrite(LED, val/4); // turn the LED on at
// the brightness set
// by the sensor
delay(10); // stop the program for
// some time
}
Nota: especificar o brilho que dividindo por 4 val, porque analogRead () retorna um nmero
at 1023, e analogWrite () aceita um mximo de 255.
Exemplo 5-5. Enviar para o computador os valores lidos da entrada analgica 0 Certifique-se
de clicar em "Serial Monitor" depois que voc enviar
#define SENSOR 0 // select the input pin for the
// sensor resistor
int val = 0; // variable to store the value coming
// from the sensor
void setup() {
Serial.begin(9600); // open the serial port to send
// data back to the computer at
// 9600 bits per second
}
void loop() {
val = analogRead(SENSOR); // read the value from
// the sensor
Serial.println(val); // print the value to
// the serial port
delay(100); // wait 100ms between
// each send
}
Depois que voc enviou o cdigo para o seu Arduno, pressione o Monitor Serial" boto no
IDE Arduno (o boto mais direita na barra de ferramentas), voc vai ver os nmeros de
rolamento passado na parte inferior da janela. Agora, qualquer software que possa ler a
partir da porta serial pode falar com Arduno. Existem muitas linguagens de programao
que permitem escrever programas em seu computador que pode conversar com a porta
serial. Processing (www.processing.org) um timo complemento para Arduno, porque as
linguagens e IDEs so to semelhantes.
Safari Books Open Source Mtodos C Microprocessadores Safari Books Engenharia de Software
Programao Hardware Massimo Banzi O'Reilly Media, Inc. Faa Introduo ao Arduno, 1 Edio
A luz, que voc pode ver na Figura 6-1, uma esfera simples, sentadas em uma base com
um grande buraco para manter a esfera de rolar para fora de sua mesa. Este design permite
orientar a luz em diferentes direes.
6.2. Planejamento
Vejamos o que queremos atingir e que pedaos de que precisamos. Primeiro de tudo,
precisamos Arduno para ser capaz de se conectar Internet. Como a placa Arduno tem
apenas uma porta USB, no pode conect-lo diretamente em uma conexo com a Internet,
ento precisamos descobrir como a ponte entre as duas. Normalmente o que as pessoas
fazem executar um aplicativo em um computador que ir se conectar Internet, processar
os dados e enviar Arduno alguns bits de informaes simples destilada.
Arduno um computador simples com uma pequena memria, no pode processar
arquivos grandes com facilidade, e quando ligamos para um feed RSS chegaremos muito
detalhado arquivo XML que exigiria muito mais RAM. Ns vamos implementar um proxy para
simplificar o XML usando a linguagem Processing.
Processamento
O processamento Arduno onde veio. Ns amamos essa linguagem e us-lo para ensinar
programao para iniciantes, bem como a construo de cdigo bonito. Processing e
Arduno so a combinao perfeita. Outra vantagem que o processamento de cdigo
aberto e funciona em todas as principais plataformas (Mac, Linux e Windows). Ele tambm
pode gerar aplicaes standalone, que funcionam nessas plataformas. Alm do mais, a
comunidade de processamento animada e prestativa, e voc pode encontrar milhares de
programas de exemplo do premade.
O proxy funciona o seguinte para ns: ele faz o download do feed RSS do makezine.com e
extratos de todas as palavras do arquivo XML resultante. Em seguida, passando por todas
elas, ele conta o nmero de vezes que a "paz", "amor" e "Arduno" aparecem no texto. Com
esses trs nmeros, vamos calcular um valor de cor e envi-lo a Arduno. O conselho vai
devolver a quantidade de luz medida pelo sensor e mostr-la na tela do computador.
Do lado do hardware, vamos combinar o exemplo de boto, a exemplo do sensor de
luminosidade, o PWM controle de LED (multiplicado por 3!) E comunicao serial.
Como Arduno um dispositivo simples, vamos necessidade de codificar a cor de uma forma
simples. Vamos usar a forma padro que as cores so representadas em HTML: # seguido
de seis dgitos hexadecimais.
Nmeros hexadecimais so teis, porque cada nmero de 8 bits armazenada em
exatamente dois caracteres, com nmeros decimais, isso varia de um a trs caracteres. A
previsibilidade tambm torna o cdigo mais simples: vamos esperar at vermos um #, ento
lemos os seis caracteres que seguem em um buffer (uma varivel usada como uma rea de
armazenagem temporria de dados). Finalmente, voltemo-nos cada grupo de dois
caracteres em um byte que representa o brilho de um dos trs LEDs.
6.3. Codificao
Existem dois desenhos que voc vai ser executado: um esboo de processamento, e um
esboo Arduno. Aqui est o cdigo para o esboo de processamento. Voc pode baix-lo
www.makezine.com / getstartedArduno.
Exemplo 6-1. peas da lmpada Arduno rede do cdigo inspirada por um post de blog por
Tod E. Kurt (todbot.com)
Import processing.serial.*;
String feed = "http://blog.makezine.com/index.xml";
int interval = 10; // retrieve feed every 60 seconds;
int lastTime;
int love
= 0;
int peace = 0;
int Arduno = 0;
int light = 0; // light level measured by the lamp
Serial port;
color c;
String cs;
String buffer = ""; // Accumulates characters coming from Arduno
PFont font;
void setup() {
size(640,480);
// line of text)
buffer = buffer.substring(0,buffer.length() -1);
// turn the buffer from string into an integer number
light = int(buffer);
// clean the buffer for the next read cycle
buffer = "";
// We're likely falling behind in taking readings
// from Arduno. So let's clear the backlog of
// incoming sensor readings so the next reading is
// up-to-date.
port.clear();
}
}
}
}
void fetchData() {
// we use these strings to parse the feed
String data;
String chunk;
// zero the counters
love = 0;
peace = 0;
Arduno = 0;
try {
URL url = new URL(feed); // An object to represent the URL
// prepare a connection
URLConnection conn = url.openConnection();
conn.connect(); // now connect to the Website
// this is a bit of virtual plumbing as we connect
love = 64;
H duas coisas que voc precisa fazer antes que o esboo de processamento ser
executado corretamente. Primeiro, voc precisa dizer ao processamento para gerar o tipo de
letra que estamos usando para o esboo. Para fazer isso, criar e salvar o desenho. Ento,
com o desenho ainda em aberto, clique no menu Ferramentas de Processamento, selecione
Criar fonte. Selecione o tipo de letra chamado HelveticaNeue-Bold, escolher 32 para o
tamanho da fonte e, em seguida, clique em OK.
Segundo, voc ter de confirmar que o desenho est usando a porta serial correta para falar
com Arduno. Voc precisa esperar at que voc tenha montado o circuito Arduno e enviou
o esboo Arduno antes que voc possa confirmar isto. Na maioria dos sistemas, este
esboo de processamento ir correr bem. No entanto, se voc no v nada acontecendo no
Arduno e voc no v qualquer informao do sensor de luz que aparece na tela, localize o
comentrio rotulado "NOTA IMPORTANTE" no esquema de processamento e siga as
instrues.
Aqui
est
esboo
Arduno
(tambm
disponvel
em
getstartedArduno):
Exemplo 6-2. Arduno Lmpada Networked
#define SENSOR 0
#define R_LED 9
#define G_LED 10
#define B_LED 11
#define BUTTON 12
int val = 0; // variable to store the value coming from the sensor
int btn = LOW;
int old_btn = LOW;
int state = 0;
www.makezine.com
char buffer[7] ;
int pointer = 0;
byte inByte = 0;
byte r = 0;
byte g = 0;
byte b = 0;
void setup() {
Serial.begin(9600); // open the serial port
pinMode(BUTTON, INPUT);
}
void loop() {
val = analogRead(SENSOR); // read the value from the sensor
Serial.println(val);
}
int hex2dec(byte c) { // converts one HEX character into a number
if (c >= '0' && c <= '9') {
return c - '0';
} else if (c >= 'A' && c <= 'F') {
return c - 'A' + 10;
}
}
substituto para a rea ou apenas cortar a parte superior da caixa de papelo que veio com a
luz em cerca de 5cm (ou 2 ") e fazer um buraco com dimetro beros da lmpada. Reforar
o interior da caixa de papelo usando cola quente todos ao longo das bordas para dentro, o
que tornar a base mais estvel.
Coloque a esfera na posio e colocar o cabo USB fora do top e conect-lo ao computador.
Incndio fora de seu cdigo de processamento, pressione o boto liga / desliga, e v a luz vir
vida. Como um exerccio, tente adicionar o cdigo que vai acender a lmpada quando a
sala escurece. Outros aperfeioamentos possveis so:
1. Adicionar sensores de inclinao para ativar a luz ligada ou desligada, girando em
direes diferentes.
2. Adicionar um PIR pequeno sensor para detectar quando algum est ao redor e deslig-lo
quando ningum est l para assistir.
3. Crie diferentes modos para que voc possa obter o controle manual da cor ou faz-lo
desaparecer por muitas cores.
4. Pense em coisas diferentes, experimentar e se divertir!
Chegar um momento em sua experimentao, quando nada vai estar a funcionar e voc
ter que descobrir como corrigi-lo. Soluo de problemas e depurao so artes antigas que
existem algumas regras simples, mas a maioria dos resultados so obtidos por meio de um
monte de trabalho.
Quanto mais voc trabalha com eletrnica e Arduno, mais voc vai aprender e ganhar
experincia, o que acabar por tornar o processo menos doloroso. No desanime com os
problemas que voc vai encontrar, tudo mais fcil do que parece no incio.
Como todo projeto Arduno feita com base tanto de hardware e software, haver mais de
um lugar para olhar, se algo der errado. Embora a procura de um bug, voc deve operar em
trs linhas:
7.1. Compreenso
7.1.1. Compreenso
Tente entender o mximo possvel como as peas que voc est utilizando o trabalho e
como eles esto supostamente contribuir para o projeto acabado. Esta abordagem permitir
definir uma maneira de testar cada componente separadamente.
7.1.2. Simplificao e segmentao
Os antigos romanos costumavam dizer divide et impera: dividir para reinar. Tente quebrar
(mentalmente) o projeto em seus componentes, usando o conhecimento que voc tem e
descobrir onde a responsabilidade de cada componente comea e termina.
7.1.3. Excluso e da segurana
Ao investigar, testar cada componente separadamente, de modo que voc pode estar
absolutamente certos de que cada um trabalha por si s. Voc ir gradualmente aumentar a
confiana sobre quais partes do projeto esto fazendo seu trabalho e que so duvidosas.
A depurao o termo usado para descrever este processo aplicado ao software. A lenda
diz que foi usado pela primeira vez por Grace Hopper na dcada de 1940, quando os
computadores onde a maioria eletromecnica, e um deles parou de funcionar porque os
insetos reais pego nos mecanismos.
Muitos dos erros de hoje no so mais fsicos: eles esto virtual e invisvel, ao menos em
parte. Por isso, eles exigem um processo por vezes moroso e chato de ser identificado.
Cada experincia de depurao vai construir em sua cabea uma base de conhecimento
"dos defeitos e possveis correes. E antes que voc perceba, voc vai se tornar um
especialista. Isso far com que voc olha muito legal, porque assim como um newbie diz:
"Isso no funciona!" voc vai dar-lhe um olhar rpido e ter a resposta em uma frao de
segundo.
7.4. Isolamento de problemas
Outra regra importante encontrar uma maneira confivel para reproduzir um problema. Se
o seu circuito se comporta de uma maneira engraada, s vezes aleatrio, tente realmente
difcil descobrir o momento exato o problema ocorre e que est causando isso. Este
processo permitir que voc pensa sobre uma possvel causa. Tambm muito til quando
voc precisa explicar para algum o que est acontecendo.
Descrevendo o problema de forma to precisa quanto possvel, tambm uma boa maneira
de encontrar uma soluo. Tente encontrar algum para explicar o problema, em muitos
casos, uma soluo ir aparecer em sua cabea como se articulam o problema. Brian W.
Kernighan e Rob Pike, em The Practice of Programming (Addison-Wesley, 1999), contam a
histria de um universitrio que "manteve um ursinho de pelcia junto ao help desk. Alunos
com bugs misteriosos foram obrigados a explicar-lhes o urso antes que eles pudessem falar
com um conselheiro do Homem. "
7.5. Problemas com o IDE
Em alguns casos, voc pode ter um problema usando a IDE Arduno, particularmente no
Windows.
Se voc receber uma mensagem de erro quando voc clique duplo no cone do Arduno, ou
se nada acontecer, tente um clique duplo no arquivo run.bat como um mtodo alternativo de
lanar Arduno.
Os usurios do Windows tambm pode executar em um problema se o sistema operativo
atribui um nmero de porta COM de COM10 ou superior a Arduno. Se isso acontecer, voc
geralmente pode convencer Windows para atribuir um menor nmero de porta a Arduno.
Primeiro, abra o Gerenciador de Dispositivos clicando no menu Iniciar, boto direito do
mouse em Computador (Vista) ou o meu computador (XP) e escolha Propriedades. No
Windows XP, clique em Hardware e escolha Gerenciador de dispositivos. No Vista, clique
em Device Manager (ele aparece na lista de tarefas no lado esquerdo da janela).
Procure os dispositivos de srie na lista do "Portas (COM & LPT)". Procurar um dispositivo
de srie que voc no est usando que numerado COM9 ou inferior. Boto direito do
mouse e escolha Propriedades no menu. Em seguida, escolha a porta na guia
Configuraes e clique em Avanado. Definir o nmero da porta COM COM10 ou superior,
clique em OK e clique em OK novamente para fechar a caixa de dilogo Propriedades.
Agora, faa o mesmo com o dispositivo da porta USB de srie que representa Arduno, com
uma mudana: atribuir o nmero da porta COM (COM9 ou inferior) que voc acabou
liberado.
Se essas sugestes no ajudarem, ou se voc est tendo um problema que no descritas
aqui, confira a pgina na soluo de problemas Arduno www.Arduno.cc / pt / / Guia de
problemas.
7.6. Como Obter Ajuda Online
Se voc est preso, no passar os dias correndo sozinho, pedir ajuda. Uma das melhores
coisas sobre o Arduno a sua comunidade. Voc sempre pode ajudar a descobrir se voc
pode descrever o seu problema tambm.
Obtenha o hbito de cortar e colar as coisas em um motor de busca e ver se algum est
falando sobre isso. Por exemplo, quando o IDE Arduno cospe para fora uma mensagem de
erro desagradvel, copiar e col-lo em uma pesquisa no Google e ver o que sai. Faa o
mesmo com pedaos de cdigo que voc est trabalhando ou apenas um nome de funo
especfica. Olhe ao seu redor: tudo j foi inventado e armazenado em algum lugar em uma
pgina web.
Para iniciar uma investigao mais aprofundada, a partir do site principal www.Arduno.cc e
olhar para o FAQ (www.Arduno.cc / pt / Main / FAQ), depois passar para o playground
(www.Arduno.cc / playground), um livremente wiki editvel que qualquer usurio pode
modificar a contribuir documentao. uma das melhores partes da filosofia fonte todo
aberto. Pessoas contribuir documentao e exemplos de qualquer coisa que voc pode
fazer com o Arduno. Antes de iniciar um projeto, pesquisar o playground e voc encontrar
um pouco de cdigo ou um diagrama de circuito para voc comear.
Se voc ainda no consegue encontrar uma resposta dessa maneira, procure o frum
(www.Arduno.cc/cgi-bin/yabb2/YaBB.pl). Se isso no ajudar, envie uma pergunta l. Pick
Apndice A.
O Breadboard
O processo de obteno de um circuito para o trabalho envolve fazer muitas mudanas at
que ela se comporta de forma adequada, um processo muito rpido, iterativo, que algo
como um equivalente electrnico para desenhar. O projeto se desenvolve em suas mos
como voc tentar combinaes diferentes. Para obter os melhores resultados, use um
sistema que permite que voc altere as conexes entre os componentes mais rpido, mais
prtico, e de forma menos destrutiva. Estes requisitos claramente exclui de solda, que um
processo demorado que coloca os componentes sob tenso cada vez que voc aquec-las
e resfri-los para baixo.
A resposta para esse problema um dispositivo muito prtico chamado solderless
breadboard. Como voc pode ver na Figura A-1, uma pequena placa de plstico cheio de
buracos, cada um dos quais contm um contato de mola. Voc pode empurrar a perna de
um componente em um dos buracos, e vai estabelecer uma conexo eltrica com todos os
outros buracos na mesma coluna vertical de buracos. Cada buraco uma distncia de 2,54
milmetros dos outros.
Porque a maioria dos componentes tem suas pernas (conhecido como techies "pins"),
espaados em que a distncia padro, chips com vrias pernas se encaixam perfeitamente.
Nem todos os contatos em um breadboard so criados iguais, existem algumas diferenas.
As linhas superior e inferior (em vermelho e azul e marcado com + e -) so conectados na
horizontal e so usados para transportar a energia atravs da placa de modo que quando
voc precisar de energia ou terra, voc pode fornec-lo muito rapidamente com um jumper (
um pequeno pedao de fio utilizado para ligar dois pontos no circuito). A ltima coisa que
voc precisa saber sobre Breadboards que no meio, h uma lacuna grande que to
grande como o tamanho de um pequeno chip. Cada linha vertical dos furos interrompido
no meio, de modo que quando voc conecta em um chip, voc no faz um curto-circuito os
pinos que esto nos dois lados do chip. Clever, hein?
Por exemplo, laranja, marrom preto, e as marcaes de ouro mdia 103 5%. Fcil, n?
No bem assim, porque h uma peculiaridade: o terceiro anel realmente representa o
nmero de zeros no valor. Portanto 1 0 3 1 0 realmente seguido por trs zeros, ento o
resultado final de 10.000 ohms 5%. geeks Electronics tendem a diminuir os valores
exprimindo-se em ohm quilo (de milhares de ohms) e mega ohms (em milhes de ohms),
ento um resistor ohms 10.000 geralmente reduzido para 10k, enquanto 10 milhes se
10M. Por favor note que, porque os engenheiros gostam de otimizar tudo, sobre alguns
diagramas esquemticos voc pode encontrar valores expressos em 4k7, o que significa 4,7
quilo ohms, ou 4700.
Capacitores so um pouco mais fcil: os capacitores em forma de barril (capacitores
eletrolticos) geralmente tm seus valores impressos sobre eles. O valor de um capacitor
medida em farads (F), mas a maioria dos capacitores que o encontro vai ser medido em
farads micro (F). Ento, se voc ver um capacitor marcado 100 F, de 100 micro farad
capacitor.
Muitos dos capacitores em forma de disco (de cermica) no tm as suas unidades listadas,
e utilizao de um cdigo numrico de trs dgitos que indica o nmero de pico farads
(pF). H um milho PF em um F. Similar aos cdigos de resistor, voc pode usar o terceiro
nmero para determinar o nmero de zeros para colocar aps os dois primeiros, com uma
diferena: se voc v 0-5, que indica o nmero de zeros. 6 e 7 no so usados, e 8 e 9 so
tratadas de maneira diferente. Se voc vir 8, multiplicar o nmero que o constituem dois
primeiros dgitos por 0,01, e se voc ver 9, multiplique por 0,1.
Assim,
um
marcado 104 seria 100000 pF ou 0,1 F. Um capacitor marcado 229 seria 2,2 pF.
capacitor
Apndice C.
Referncia Rpida Arduno
Aqui est uma explicao rpida de todas as instrues padro suportado pela linguagem
Arduno.
Para uma referncia mais detalhada, consulte: Arduno.cc / pt / Referncia / HomePage
C.1. ESTRUTURA
Um sketch Arduno executado em duas partes:
void setup ()
Este o lugar onde voc colocar o cdigo de inicializao as instrues que criou o
conselho antes que o loop principal do desenho iniciado.
loop (void)
Este contm o cdigo principal do seu desenho. Ela contm um conjunto de instrues que
se repetem vrias vezes at a placa desligada.
C.2. Smbolos especiais
Arduno inclui uma srie de smbolos para delinear linhas de cdigo, comentrios e blocos
de cdigo.
C.2.1. ; Ponto e vrgula ()
Cada instruo (linha de cdigo) denunciado por um ponto e vrgula. Esta sintaxe permitelhe formatar o cdigo livremente. Voc pode at mesmo colocar duas instrues na mesma
linha, contanto que voc separe-os com um ponto e vrgula. (No entanto, isso tornaria o
cdigo mais difcil de ler.)
Exemplo:
delay (100);
C.2.2. () (Chaves)
Isto usado para marcar blocos de cdigo. Por exemplo, quando voc escrever um cdigo
para o loop (), voc tem que usar colchetes antes e depois do cdigo.
Exemplo:
void loop () {
Serial.println ("ciao");
}
C.2.3. comentrios
Estes so trechos de texto ignorado pelo processador Arduno, mas so extremamente teis
para se lembrar (ou outros) do que um pedao de cdigo faz.
H dois estilos de comentrios em Arduno:
/ / Linha nica: esse texto ignorado at o fim da linha
/ * Linha mltipla:
voc pode escrever
um poema inteiro aqui
*/
C.3. CONSTANTES
C.4. VARIVEIS
Variveis so denominadas reas de memria que o Arduno onde voc pode armazenar
dados que voc pode usar e manipular o seu esboo. Como o nome sugere, pode ser
alterado quantas vezes quiser.
Porque Arduno um processador muito simples, quando voc declara uma varivel que
voc precisa especificar o tipo. Isso significa dizer ao processador o tamanho do valor que
voc deseja armazenar.
Aqui esto os tipos de dados que esto disponveis:
C.4.1. boolean
Pode ter um dos dois valores: verdadeiro ou falso.
C.4.2. char
Possui um carter nico, como A. Como qualquer computador, armazena Arduno lo como
um nmero, mesmo que voc veja o texto. Quando chars so usadas para armazenar
nmeros, elas podem conter valores de -128 a 127.
Nota: Existem dois grandes conjuntos de caracteres disponveis em sistemas de
computador: ASCII e UNICODE. ASCII um conjunto de 127 caracteres que foi usada para,
entre outras coisas, a transmisso de texto entre os terminais de srie e sistemas
informticos de tempo partilhado, como mainframes e minicomputadores. Unicode um
conjunto muito maior de valores usados por computadores modernos sistemas operacionais
para representar caracteres em uma ampla variedade de lnguas. ASCII ainda til para a
troca de bits curto da informao em lnguas como o italiano ou Ingls que usam caracteres
latinos, nmeros arbicos, smbolos e mquina de escrever comum para a pontuao, etc.
C.4.3. byte
Detm um nmero entre 0 e 255. Tal como acontece com caracteres, bytes usar apenas um
byte de memria.
C.4.4. int
Utiliza 2 bytes de memria para representar um nmero entre -32.768 e 32.767, o mais
comum tipo de dados usado no Arduno.
C.4.5. unsigned int
Como int, usa 2 bytes, mas o prefixo unsigned significa que ele no pode armazenar
nmeros negativos, pelo que a sua escala vai de 0 a 65.535.
C.4.6. longo
Este o dobro do tamanho de um int e tem nmeros de -2.147.483.648 a 2.147.483.647.
C.4.7. unsigned long
Unsigned verso do longa, que vai de 0 a 4.294.967.295.
C.4.8. flutuar
Esta muito grande e pode armazenar valores de ponto flutuante, uma maneira elegante de
dizer que voc pode us-lo para armazenar nmeros com um ponto decimal na mesma. Ele
vai comer at 4 bytes de memria RAM preciosos e as funes que podem lidar com eles
consomem muita memria cdigo tambm. Portanto, use com moderao flutua.
C.4.9. duplo
Preciso dupla nmero de ponto flutuante, com um valor mximo de 1,7976931348623157 x
10.308. Uau, isso enorme!
C.4.10. corda
Um conjunto de caracteres ASCII que so usados para armazenar informaes textuais
(voc pode usar uma seqncia de caracteres para enviar uma mensagem atravs de uma
porta serial, ou para exibir em um monitor LCD). Para o armazenamento, eles usam um byte
para cada caractere na seqncia, mais um caractere nulo Arduno para dizer que o fim da
string. A seguir so equivalentes:
char string1 [] = "Arduno"; / 7 chars + 1 nulo char
char string2 [8] = "Arduno" / / Idem
C.4.11. array
A lista de variveis que podem ser acessados atravs de um ndice. Eles so utilizados para
construir tabelas de valores que podem ser facilmente acessados. Por exemplo, se voc
deseja armazenar os diferentes nveis de luminosidade para ser usado quando um LED
sumindo, voc pode criar seis variveis chamado light01, light02, e assim por diante. Melhor
ainda, voc poderia usar um array simples como:
luz int [6] = (0, 20, 50, 75, 100);
Serial.print ("ciao");
}
interrupo;
caso 46:
digitalWrite (12, HIGH);
break;
default: / / se nada partidas este executado
digitalWrite (12, baixo);
digitalWrite (13, baixo);
}
C.5.4. While
Semelhante ao caso, este executa um bloco de cdigo enquanto uma determinada condio
verdadeira.
Exemplo:
/ / LED pisca quando o sensor for inferior a 512
sensorValue = analogRead (1);
while (sensorValue <512) {
digitalWrite (13, HIGH);
delay (100);
C.5.6. Break
Este termo permite que voc deixe um loop e continuar a execuo do cdigo que aparece
aps o loop. tambm usado para separar as diferentes seces de um case switch.
Exemplo:
/ / LED pisca quando o sensor for inferior a 512
do {
/ / Deixa o loop se um boto pressionado
if (digitalRead (7) == HIGH)
break;
digitalWrite (13, HIGH);
delay (100);
C.5.7. continuar
Quando usado dentro de um loop, continue lhe permite ignorar o resto do cdigo dentro dele
e forar o estado a ser testado novamente.
Exemplo:
de luz (= 0; luz <255; luz + +)
{
/ / Pular intensidades entre 140 e 200
if ((x> 140) & & (x <200))
continuar;
analogWrite (PWMpin, luz);
atraso (10);
}
C.5.8. return
Pra de funcionar e retorna uma funo dele. Voc tambm pode usar isso para retornar um
valor de dentro de uma funo.
Por exemplo, se voc tem uma funo chamada computeTemperature () e voc deseja
retornar o resultado para a parte do cdigo que invocou a funo que iria escrever algo
como:
computeTemperature int () {
temperatura int = 0;
= temperatura (analogRead (0) + 45) / 100;
temperatura de retorno;
}
Existem trs operadores: e, representado por & &; ou, representado por | |, e no por ltimo,
representado por!.
C.9. Operadores de
Estes so os operadores especiais usados para tornar o cdigo mais conciso para algumas
operaes muito comuns, como incrementar um valor.
Por exemplo, ao valor de incremento de 1, voc escreveria:
value = valor 1;
mas usando um operador composto, isto se torna:
valor + +;
equivalentes:
a = a + 5;
a + = 5;
C.14.6. Serial.flush ()
Como os dados podem chegar atravs da porta serial mais rpido do que seu programa
pode process-lo, Arduno mantm todos os dados recebidos em um buffer. Se voc
precisar limpar o buffer e deix-lo encher-se com novos dados, use a funo flush ().
Exemplo:
Serial.flush ();
At agora, usamos ilustraes muito detalhadas para descrever como montar os circuitos,
mas como voc pode imaginar, no exatamente uma tarefa rpida para chamar um desses
para qualquer experincia que voc deseja documentar.
questes idnticas, mais cedo ou mais tarde, em cada disciplina. Na msica, depois de
escrever uma msica agradvel, preciso escrev-lo usando a notao musical.
Engenheiros, sendo as pessoas concretas, desenvolveu uma maneira rpida de capturar a
essncia de um circuito, a fim de ser capaz de document-la e depois reconstru-la ou
pass-lo para outra pessoa.
Na eletrnica, diagramas esquemticos permitem descrever o circuito de uma forma que
compreendido pelo resto da comunidade. Os componentes individuais so representadas
por smbolos que so uma espcie de abstrao de qualquer forma o componente ou a
essncia delas. Por exemplo, o capacitor composto de duas placas metlicas separadas
por ar ou de plstico e, portanto, seu smbolo :
Outro exemplo claro a indutor, que construdo pelo enrolamento de fio de cobre em torno
de uma forma cilndrica, conseqentemente smbolo a seguinte:
Isso tudo que voc precisa entender os esquemas bsicos. Aqui est uma lista mais
abrangente dos smbolos e seus significados:
Voc pode encontrar variaes destes smbolos (por exemplo, ambas as variantes de
smbolos de resistncia so mostradas aqui). Veja en.wikipedia.org / wiki / Electronic_symbol
para aumentar a lista de smbolos eletrnicos. Por conveno, os diagramas so
desenhados da esquerda para a direita. Por exemplo, um rdio seria elaborada a partir da
antena esquerda, seguindo o caminho do sinal de rdio que faz seu caminho para o altofalante (que desenhada direita).
O esquema a seguir descreve o circuito boto mostrado anteriormente nesta traduo:
Os Adaptadores e tradutores.
Pessoal isso foi s uma Adaptaao mais por favor no esqueam da gente em suas
referncias, bem como do Autor original, principamente, citando a sua obra preservando os
direitos autorais.