Anda di halaman 1dari 8

Constantes

Constantes so variveis pr-definidas na linguagem Arduino. Eles so usados para tornar os programas mais fceis de ler. Classificamos constantes em grupos. Definindo nveis lgicos, verdadeiros e falsos (Constantes booleanas) H duas constantes usadas para representar verdade e falsidade na linguagem Arduino: true e false.

FALSE (falso)
falso o mais fcil dos dois para definir. falso definido como 0 (zero).

TRUE (verdadeiro)
verdade frequentemente dito ser definido como 1, o que correto, mas verdade tem uma definio mais ampla. Qualquer inteiro que no-zero verdade, em um sentido booleana. Ento, -1, 2 e -200 so todos definidos como verdade, tambm, em um sentido booleana.

Note-se que as constantes verdadeiros e falsos so digitados em letras minsculas, ao contrrio HIGH, LOW, INPUT, & OUTPUT.

Definio dos nveis de Pin, de HIGH e LOW Ao ler ou escrever a um pino digital h apenas dois valores possveis de um pino pode tomar / serdefinir-a: HIGH (alto) e LOW (baixo).

HIGH (alto)
O significado de HIGH (em referncia a um pino) um pouco diferente, dependendo se um pino configurado como uma entrada ou sada. Quando um pino configurado como um INPUT com pinMode, e lido com digitalRead, o microcontrolador vai comunicar ELEVADA se uma tenso de 3 volts ou mais est presente no pino.

Um pino tambm pode ser configurado como um INPUT com pinMode, e posteriormente fez HIGH com digitalWrite, isto ir definir os internos 20K resistores pullup, que ir orientar o pino de entrada para uma leitura alta a menos que seja puxado para baixo por um circuito externo. Esta a forma como funciona to bem INPUT_PULLUP

Quando um pino configurado como OUTPUT com pinMode, e marcado como HIGH com digitalWrite, o pino a 5 volts. Neste estado, pode fonte atual, por exemplo, acender um LED que est conectado atravs de um resistor em srie para o solo, ou a outro pino configurado como uma sada, e definida para LOW.

LOW (baixo)
O significado de LOW tambm tem um significado diferente, dependendo se um pino configurado para INPUT ou OUTPUT. Quando um pino configurado como um INPUT com pinMode, e lido com digitalRead, o microcontrolador vai reportar LOW se uma voltagem de 2 volts ou menos est presente no pino.

Quando um pino configurado como OUTPUT com pinMode, e marcado como LOW com digitalWrite, o pino de 0 volts. Neste estado, pode afundar atual, por exemplo, acender um LED que est conectado atravs de um resistor em srie a, 5 volts, ou a outro pino configurado como uma sada, e definido como Alto.

Definindo Digital pinos de entrada, INPUT_PULLUP, e OUTPUT Pinos digitais podem ser usados como INPUT_PULLUP INPUT, ou OUTPUT. Mudando um pino com pinMode () muda o comportamento eltrico do pino.

Pinos configurados como entrada Arduino (Atmega) pinos configurados como INPUT com pinMode () esto a ser dito em um estado de alta impedncia. Pinos configurados como INPUT fazem exigncias extremamente pequenos no circuito de amostragem, que so equivalentes a uma resistncia em srie de 100 Megohms na frente do pino. Isto torna-os teis para a leitura de um sensor, mas no alimentar um LED.

Se voc tem o seu pino configurado como uma entrada, voc vai querer o pino para ter uma referncia para a terra, muitas vezes realizado com um resistor de pull-down (de um resistor de ir para a terra), como descrito no tutorial Digital Leia srie. Pinos configurados como INPUT_PULLUP O chip Atmega no Arduino tem pull-up interno resistores (resistncias que se conectam a energia internamente) que voc pode acessar. Se voc preferir usar essas vez de externas resistores pull-down, voc pode usar o argumento INPUT_PULLUP em pinMode (). Isso efetivamente inverte o comportamento, onde a alta significa que o sensor estiver desligado, e LOW significa que o sensor est ligado. Veja o tutorial Pullup entrada srie para um exemplo desta utilizao em. Pinos configurados como sadas Pinos configurados como OUTPUT com pinMode () esto a ser dito em um estado de baixa impedncia. Isto significa que eles podem fornecer uma quantidade substancial de corrente para outros circuitos. Pinos Atmega podem (fornecer corrente positiva) ou afundar (fornecer corrente negativa) at 40 mA (miliamperes) de corrente para outros dispositivos / circuitos. Isto torna-os teis para a alimentao de LEDs, mas intil para a leitura de sensores. Pinos configurados como sadas tambm podem ser danificados ou destrudos se em curto-circuito ao solo ou 5 trilhos volts. A quantidade de corrente fornecida por um pino Atmega tambm no suficiente para fornecer energia a maioria dos rels ou motores, e alguns circuitos de interface ser necessrio.

Ver tambm pinMode () Constantes inteiros variveis booleanas

pinMode () descrio
Configura o pino especificado para comportar seja como uma entrada ou uma sada. Veja a descrio dos pinos digitais para obter detalhes sobre a funcionalidade dos pinos.

A partir de Arduino 1.0.1, possvel permitir que os resistores pullup internas com o INPUT_PULLUP modo. Alm disso, o modo de entrada explicitamente desativa os pullups internos.

sintaxe
pinMode (pin, mode)

parmetros
pin: o nmero do pino cujo modo que deseja definir modo: INPUT, OUTPUT, ou INPUT_PULLUP. (veja a pgina de pinos digital para uma descrio mais completa da funcionalidade.)

Nota Os pinos de entrada analgica podem ser usados como pinos digitais, referidos como A0, A1, etc

Exemplo

int ledPin = 13; / / LED conectado ao pino digital 13 void setup() { pinMode(ledPin, OUTPUT); / / define o pino digital como sada } void loop() { digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); delay(1000); }

/ / define o LED em / / aguarda um segundo / / define o LED desligado. / / aguarda um segundo

digitalWrite ()
Descrio
Escreva HIGH ou LOW para um pino digital. Se o pino foi configurado como uma sada com pinMode (), sua tenso ser definido com o valor correspondente: 5V (ou 3.3V 3.3V em placas) para HIGH, 0V (terra) para baixo. Se o pino configurado como uma entrada, escrevendo um valor alto com digitalWrite () vai permitir um interno 20K resistor pullup (ver o tutorial sobre pinos digitais). Escrevendo LOW ir desativar o pullup. A resistncia pullup suficiente para iluminar vagamente um LED, ento se LEDs aparecem para trabalhar, mas muito vagamente, esta uma causa provvel. A soluo ajustar o pino para uma sada com o pinMode ().

NOTA: Pino Digital 13 mais difcil de usar como uma entrada digital do que os outros pinos digitais porque tem um LED e resistor ligado a ele que soldada na maioria das placas. Se voc habilitar o seu interno 20k resistor de pull-up, ele vai passar por volta de 1,7 V, ao vez de 5V esperado porque o LED a bordo e resistor em srie puxar o nvel de tenso para baixo, o que significa que sempre retorna LOW. Se voc precisa usar o pino 13 como uma entrada digital, use um puxo para baixo externo resistor.

Sintaxe
digitalWrite (pino, valor)

Parmetros
PIN: O nmero do pino

valor: ALTA ou BAIXA

Exemplo
int ledPin = 13; void setup () { pinMode (ledPin, OUTPUT); / / define o pino digital como sada } void loop () { digitalWrite (ledPin, HIGH); / / define o LED em delay (1000) digitalWrite (ledPin, LOW); delay (1000); } / / aguarda um tempo / / define o LED off / / LED conectado ao pino digital 13

/ / aguarda um tempo

13 conjuntos de pinos para ALTA, faz um atraso de um segundo de durao, e define o pino de volta para LOW.

Nota
Os pinos de entrada analgica podem ser usados como pinos digitais, referidos como A0, A1, etc

digitalRead ()

Descrio
L o valor de um pino digital especifico, HIGH ou LOW.

Sintaxe
digitalRead (pin)

Parmetros
pin: o nmero do pino digital que voc quer ler (int)

Exemplo

int ledPin = 13; // LED connected to digital pin 13 int inPin = 7; // pushbutton connected to digital pin 7 int val = 0; void setup() { pinMode(ledPin, OUTPUT); pinMode(inPin, INPUT); } void loop() { val = digitalRead(inPin); // read the input pin digitalWrite (ledPin, val); // sets the LED to the button's value } // sets the digital pin 13 as output // sets the digital pin 7 as input // variable to store the read value

Define o pino 13 para o mesmo valor que o pino 7, que uma entrada. Nota Se o pino no est conectado a nada, digitalRead () pode retornar alto ou baixo (e isso pode mudar de forma aleatria). Os pinos de entrada analgica podem ser usados como pinos digitais, referidos como A0, A1, etc

Pinos digitais
Os pinos no Arduino podem ser configurados como entradas ou sadas. Este documento explica o funcionamento dos pinos nesses modos. Embora o ttulo deste documento refere-se aos pinos digitais, importante notar que a grande maioria dos Arduino (Atmega) pinos analgico, pode ser configurado e utilizado, exactamente da mesma maneira que os pinos digitais.

Propriedades de pinos configurados como INPUT Arduino (Atmega) pinos padro para entradas, para que eles no precisam ser explicitamente declarado como entradas com pinMode (). Pinos configurados como entradas esto a ser dito em um estado de alta impedncia. Uma maneira de explicar isso que os pinos de entrada fazer exigncias extremamente pequenos no circuito de amostragem, que so, por exemplo equivalente a uma resistncia em srie de 100 megohm na frente do pino. Isso significa que preciso muito pouco corrente para mover o pino de entrada de um estado para outro, e pode fazer os pinos til para tarefas como implementao de um sensor de toque capacitivo , lendo um LED como um fotodiodo , ou a leitura de um sensor analgico com um esquema de tais como RCTime. Isto tambm significa no entanto, que os pinos de entrada com nada ligado a eles, ou com fios conectados a eles que no esto ligados a outros circuitos, ir relatar mudanas aparentemente aleatrias em estado pino, a captao de rudo eltrico do ambiente, ou acoplamento capacitivo do estado de um pino perto. R e s i st o r e s p u l l u p Muitas vezes, til para dirigir um pino de entrada para um estado conhecido, se nenhuma entrada estiver presente. Isto pode ser feito pela adio de um resistor pullup (a +5 V), ou de um resistor pulldown (resistor de solo) sobre a entrada, com 10K sendo um valor comum. H tambm convenientes 20K resistores pullup embutidos no chip Atmega que pode ser acessado a partir de software. Estes embutidos resistores pullup so acessados da seguinte maneira.
pinMode (pino, INPUT); / / set pino a pino digitalWrite (pin, HIGH); / / Ligue resistores pullup

Note-se que as resistncias pullup fornecer corrente suficiente para acender uma vaga. LED conectado a um pino que foi configurado como uma entrada Se o LED em um projeto parece estar funcionando, mas muito vagamente, este provavelmente o que est acontecendo, eo programador esqueceu de usar pinMode () para definir os pinos para sadas. Note tambm que as resistncias pullup so controlados pelos mesmos registradores locais (memria interna de chips) que controlam se um pino alto ou baixo. Consequentemente, um pino que configurado para ter resistores pullup ligado quando o pino uma entrada, vai ter o pino configurado como ELEVADA se o pino ento swtiched para uma sada com pinMode (). Isso funciona na outra direo tambm, e um pino de sada que deixado em um alto estado ter os resistores pullup definir se mudou para uma entrada com pinMode (). NOTA: pino digital 13 mais difcil de usar como uma entrada digital do que os outros pinos digitais porque tem um LED e resistor ligado a ele que soldada placa na maioria das placas. Se voc habilitar o seu interno 20k resistor de pull-up, ele vai travar em torno de 1,7 V, em vez do 5V esperado porque o LED a bordo e resistor em srie puxar o nvel de tenso para baixo, o que significa que sempre retorna BAIXO. Se voc precisa usar o pino 13 como uma entrada digital, use um puxo para baixo externo resistor. Propriedades de pinos configurados como OUTPUT Pinos configurados como OUTPUT com pinMode () esto a ser dito em um estado de baixa impedncia. Isto significa que eles podem fornecer uma quantidade substancial de corrente para outros circuitos. Pinos Atmega podem (fornecer corrente positiva) ou afundar (fornecer corrente negativa) at 40 mA (miliamperes) de corrente para outros dispositivos / circuitos.

Este corrente suficiente para acender brilhantemente um LED (no se esquea do resistor em srie), ou correr muitos sensores, por exemplo, mas no o suficiente atual para executar a maioria dos rels, solenides, ou motores. Curto-circuitos nos pinos do Arduino, ou tentar executar altas dispositivos atuais a partir deles, pode danificar ou destruir os transistores de sada no pino, ou danificar o chip Atmega inteiro. Muitas vezes, isto ir resultar em um pino "morto" no microcontrolador, mas o chip remanescente continuar a funcionar de forma adequada. Por este motivo, uma boa ideia para conectar pinos de sada para os outros dispositivos com resistncias de 470 ou 1k, a menos que o consumo de corrente mxima dos pinos necessrio para uma aplicao particular.