terça-feira, 30 de julho de 2013

Ligar LED com Botao Arduino..

Bom dia gente boa..!!! espero que esteja tudo bem com todos!!!

/*
      http://rafacomjava.blogspot.com/
      rreynoud@gmail.com
*/

Primeiro queria comentar que muito proximamente estarei postando video-aulas com os materiais aqui do blog...

OK vamos ao trabalho....

No post Anterior feito um led piscar.. mas agora a ideia e fazer ele ligar com um botão...!!!
Para isso vamos precisar de:


  • Arduino
  • ProtoBoard
  • Resistor
  • Led
  • Botão
Com tudo em mãos vamos la...

   1 - Coloque o Led na protoboard, na mesma coluna do lado positivo do teu Led ligue o Resistor, Deve ficar uma imagem muito parecida com esta:



   2 - Coloque o lado do Led Negativo na trilha de negativo da protoboard...



   3 - Ligue um fio na trilha negativo da Protoboard ao GND da placa Arduino(lembrando tem três portas GND na placa, você pode conectar em qualquer uma delas)
           *   Logo conecte o outro lado do botão na porta 9 do arduino

     Deve ficar como esta na foto:




      4 - Ligue um fio na porta 7 Arduino ao resistor:




       Tudo deve ficar da seguinte forma:





 Logo inicie a IDE Arduino, no meu caso a versão 1.0.5 e coloque o seguinte código:

/*
rafacomjava.blogspot.com
rreynoud@gmail.com
*/

void setup()
{

  pinMode(7, OUTPUT);

  pinMode(9, INPUT);  
  digitalWrite(9, 1);    
  
}

void loop()
{
  int leitura = digitalRead(9);
  
  if(leitura == 0)
  {
    digitalWrite(7,1);
  }
  else
  {
    digitalWrite(7,0);    
  }
  
}


Deve ficar algo como essa foto:




Depois de tudo pronto apertar no botão que tudo estará OK!!!!




um grande abraco êxitos a todos e tudo de bom!!!!









Descricao de cada Componente Arduino


/*
       rafacomjava.blogspot.com
       rreynoud@gmail.com
*/

Identificacao de componentes do Arduino





a. Led de energia. Ascende quando a placa está ligada. Normalmente é verde, mas algumas placas tem um led vermelho por causa de um erro feito pela companhia.

b. Conector ISP. ISP significa "In System Programming" (na programação de sistema), que este conector permite programar o microcontrolador diretamente. Isto é usado para programar o bootloader no processador antes que a placa possa ser usada.

c. Botão de reset.

d. Microcontrolador

e. Diodo de proteção. Impede aplicar energia com polaridade errada à placa (o que pode danificar o processador).

f. Capacitor. Às vezes o circuito que você une à placa pode ter uma queda repentina de energia que deixe cair a tensão, e abaixo de certos valores o processador pode resetar. Este capacitor fornece bit extras de energia para compensar as flutuações.

g. Leds RX TX. Estes ascendem quando a placa recebe ou manda dados pela USB.

h. Quartzo 16MHz. Fornece o sinal do pulso de disparo para o processador.

i. Saída de 5v. Fornece uma fonte regulada de 5V. De onde ela vem, depende do SV1 (ítem o).

j. Conexão terra do k (em uma bateria). É conectado ao terra na placa. Por que 2? Porque 2 é melhor que 1 (de fato nos temos 3, o ítem w é terra também)

l. 9V. É a voltagem que foi aplicada ao plug de alimentação de DC (ítem r) normalmente ele é em torno de 9v, mas depende da fonte de alimentação que você está usando.

m. Entradas Analógicas. Ver http://arduino.berlios.de/index.php/Tutorial/JoyStick para um exemplo de uso.

n. Conector USB. É um conector USB 2.0 (não é alta velocidade, conexão máxima de 12 MBit) que traz dados para a placa.

o. Ponte seletora de energia. Define de onde vem a energia. Entre o pino 2 e 3, tira energia do USB; entre os pinos 1 e 2 tira energia de uma fonte de alimentação externa.

p. Ressonador cerâmico. Fornece o pulso de disparo de 12 MHz para a interface usb do chip.

q. Regulador de energia. Quando a placa é ligada em uma fonte de alimentação externa, ele certifica que a voltagem aplicada ao processador é sempre de 5v.

r. Plug de energia externo. É onde você vai plugar uma fonte de alimentação externa. O tamanho é 2.1mm com um pino no centro. A energia aplicada a este plug deve ir de 9 a 15 volts.

s. Resistores. Estes são requeridos para conectar a interface USB.

t. USB para interface serial do chip. Este chip permite que o microcontrolador conecte ao USB e o use para comunicar com o computador.

u. Capacitor. São usados pela interface usb do chip (letra t)

v. aref. este é resistente… este pino, a maneira do pino análogo, traduz a voltagem em números.

w. terra

x. Pino digital número 13. A única diferença deste para os outros é que este tem um resistor de 1k unido a ele, de modo que nós podemos plugar um LED diretamente do 13 para o terra sem queimá-lo.

y. Estes são pinos especiais controlados pela USB. Eles serão usados no futuro para restaurar automaticamente a placa antes de exportar uma nova programação. Irá poupar os usuários de ter que pressionar o botão de reset toda hora.

z. Resistores. Estes são usados para limitar a corrente que entra no led RX TX.


Fonte http://estudiolivre.org/tiki-index.php?page=Arduino

/*
       rafacomjava.blogspot.com
       rreynoud@gmail.com
*/


FRITZING

FRITZING

/*
      Este e meu email para sugerencias 
       rreynoud@gmail.com
*/

FRITZING

          Gente les comento un muy buen programa para hacer los prototipos de nuestros projectos de Arduino, estoy hablando de FRITZING un programa que como no bastase cumple con lo que se propone es de codigo libre.
Com el uso de este "companero" va ser mucho mas facil la comunicacion entre desarolladores..




   Acuerdo que es apenas para la creacion del "dibujo" no podemos simular el circuito funcionando.


FRITZING

/*
      Este e meu email para sugerencias 
       rreynoud@gmail.com

*/

FRITZING

        Pessoal lés comento um excelente programa para fazer prototipagem dos projetos com Arduino.. se trata de FRITZING , um programa que alem de cumprir com o que se trata e de código aberto.
Com o uso deste "camarada" vai ficar mais fácil de trocarmos informacoes entre desenvolvedores...




Lembrando e apenas para criacao do "desenho" de nossos projetos não podemos "simular" o funcionamento.


Neste endereco temos uma demosntracao do uso.. http://www.youtube.com/watch?v=Hxhd4HKrWpg

  

Variaveis CONSTANTES


/*
      Este e meu email para sugerencias 
       rreynoud@gmail.com

*/

CONSTANTES

      Hola Pessoal dando seguimento o Artigo de Variáveis , com vocês as famosas CONSTANTES.

     Uma constante e uma variável que não modifica o seu valor, um exemplo em como usamos o nosso código de ligar un Led con Arduino tinhamos os  OUTPUT y INPUT  que são palavras reservadas, que nos indica que tem um valor definido pelo sistema e não podemos modificar.

Exemplo:

      Estas duas constantes booleanos representado,um nível logico.Enquanto FALSE representa um nível logico de 0, FALSE representa valor de 1.
Podemos usar em muitas ocasiões, sendo especialmente uteis em estruturas de controle de fluxo, como segue o exemplo:
1
2
3
4
while (variavel == TRUE)
{
// Algo de código...
}
      
              Variáveis mais que conhecidas pelo seu uso para estabelece o valor de uma senha digital de Arduino. HIGH indica que a senha deve ter um valor logico de 1, podemos dizer, 5v ou 3,3V. Por outro lado LOW  tem um valor logico de 0, que dizer, 0V.
1
digitalWrite(pinDestino, HIGH);

              Outro grupo de valores muito utilizados . Sua funcao de configuracao de Pinos digitais. INPUT usamos para configurar um pin de entrada, OUTPU como saída, e INPUT PULLPUP ativa as resistências de pull-up internas. No caso de INPUT PULL PUP, o grupo anterior de constantes(HIGH/LOW) funciona al contrario, sendo HIGH 0V e LOW 5v ou 3.3V dependendo das placas.
1
pinMode(pinDestino, OUTPUT);


 Agora  VOCÊ declarando as constantes


             A declaracão de uma constante e muito simples, temos que colocar a palavra reservada const antes do tipo e nome da uma variável
// Declaracão e inicializacao de uma variável constante
const int VARIABLE_CONSTANTE = 100;
// Se tentamos modificar o valor, vai dar um erro de compilacao
VARIABLE_CONSTANTE = 20;

          Não se esqueca que uma vez declarado o valor da constante, não podemos mais modificar o seu valor, caso isso ocorra vai ocorrer o seguinte erro!!!
error: assignment of read-only variable ‘VARIABLE_CONSTANTE’

Variables CONSTANTES

/*
      Gente este es mi correo para sugerencias 
       rreynoud@gmail.com
*/

Constantes


   Hola gente vengo a dar un segmiento en el Atigo Variables.. ahora seguimos las famosas CONSTANTES.


     Una constante es una variable que no cambia de valor, un ejemplo como usamos en nuestro codigo de prender un Led con Arduino teniamos el OUTPUT y INPUT  son constantes "reservadas del sistema", lo que nos indica que ya tiene un valor previo al cual no podemos modificar.

Ejemplo:


      Éstas dos constantes booleanas representan un nivel lógico. Mientras que FALSE representa un nivel lógico de 0, TRUE representa un valor de 1.
Se emplean en muchas ocasiones, siendo especialmente útiles en estructuras de control del flujo, como por ejemplo:
1
2
3
4
while (variable == TRUE)
{
// Algo de código...
}
      
       Variables más que conocidas por su uso para establecer el valor en un pin digital de arduino. HIGH indica que el pin debe tener un nivel lógico de 1, es decir, 5v o 3.3v (según versiones de placas de Arduino). Por su parte, LOW establece un nivel lógico de 0, es decir, 0v.
1
digitalWrite(pinDestino, HIGH);

      Otro grupo de valores muy utilizados. Su función es la configuración de pines digitales. INPUT se emplea para configurar un pin como entrada, OUTPUT como salida, e INPUT_PULLUP activa unas resistencias pull-up internas. En el caso de INPUT_PULLUP, el grupo anterior de constantes (HIGH/LOW) funcionará al revés, siendo HIGH 0v y LOW 5v o 3.3v según placas.
1
pinMode(pinDestino, OUTPUT);

        Si queréis ampliar esta información, podéis ir a la página oficial de Arduino -> Constantes.

 Ahora VOS declarando las constantes


        La declaracion de una constante es muy simples,  solo tenes que anteponer la palabra reservada const antes del tipo de datos y nombre de la variable.
// Declaración e inicialización de una variable constante
const int VARIABLE_CONSTANTE = 100;
// Si intentamos cambiar el valor, habrá un error de compilación
VARIABLE_CONSTANTE = 20;

        Acuerden se que una vez declarado el valor de la constante ya no podemos mas cambiar su valor, caso passe esso no va generar un error!!
error: assignment of read-only variable ‘VARIABLE_CONSTANTE’

segunda-feira, 29 de julho de 2013

Variaveis


/*
      Gente este es mi correo para sugerencias 
       rreynoud@gmail.com
*/

Variáveis

Uma variável e um lugar para guardar informacoes. Tem nome, valor e tipo. Por exemplo, esta sentença(chamado de declaracão);
int pin = 13;

cria uma variável com o nome de PIN, e o seu tipo es int (inteiro).Mais tarde o programa, pode fazer referencia a esta variável pelo nome(PIN), momento que ele pode usar este valor e utilizar. Por exemplo na sentenca

pinMode(pin, OUTPUT);


o valor de pin(13) o que sera passado na funcao pinMode(). Neste caso realmente não precisamos usar uma variável, esta sentença funcionariaria da mesma forma:

pinMode(13, OUTPUT);

A vantagem de usar uma variável nestes casos e que você apenas especifica o numero de pin ma unica vez, mas pode usar um montão de vezes. Asim, se mais tarde você decide modificar p pin 13 pelo 12, so tem que modificar em um ponto no código. E você também pode usar um nome descritivo que tenha mais a ver com o valor ou para que serve(exemplo. Um programa para controlar um LED RGB(vermelho, verde e azul) pdoeria ter vairas variáveis chamada pinVermelho, pinVerde, pinAzul).
Uma variavel te outra vantagens sobre um valor como um numero. A mais importantes pode modificar o valor de uma variável atravez de um sinal de igual.Exemplo:

pin = 12;

modificara o valor da variável para 12. Observe que nao especifica o tipo da variável: esse apenas modifica com o sinal de igual. Podemos dizer, o nome da variável sera sempre associado a um tipo; apenas esse modifica o valor. Tenhamos em conta que temos que declarar uma variável antes de modificar um valor.


Quando se adiciona uma variável a outra, estamos fazendo copia do valor armazenado a copia onde esta a memoria associada a outra variável. Modificando uma não tem efeito na outra. Pro exemplo, depois de:

int pin = 13;
int pin2 = pin;
pin = 12; 
Em caso que você queira usar uma variável em todo os sistema, terá que declarar na parte superior do código. Isto se chama variavel global, aqui temos um exemplo:

int pin = 13;

void setup()
{
  pinMode(pin, OUTPUT);
}

void loop()
{
  digitalWrite(pin, HIGH);
} 
Como você pode ver, PIN se usa tanto na funcao setup() como no loop(). Ambas funcionalidades fazem referencia a mesma variável, na que uma modificado afetara o valor que terá na outra, com em:

int pin = 13;

void setup()
{
  pin = 12;
  pinMode(pin, OUTPUT);
}

void loop()
{
  digitalWrite(pin, HIGH);
} 

Aqui, a a funcao digitalWrite() chamada desde loop() se passa o valor 12, ja que o valor que se coloca na variável funcao setup().
Se você tem utilizar uma variável de uma só funcao, pode declarar a mesma, no caso do âmbito(scope) de utilizacao limitada a esa funcao.Pro exemplo:

void setup()
{
  int pin = 13;
  pinMode(pin, OUTPUT);
  digitalWrite(pin, HIGH);
} 



Neste caso, a variável pin só poderá ser usada dentro da funcao setup(). Se tratar de fazer algo como isso:

void loop()
{
  digitalWrite(pin, LOW); // incorrecto: pin no tiene ámbito aquí.
} 

Fonte de informacion:

Pessoal este e meu email para sugestões e reclamacoes...!!!
rreynoud@gmail.com



Variables

/*
      Gente este es mi correo para sugerencias 
       rreynoud@gmail.com
*/

Variables

Una variable es una ubicación para almacenar una porción de información. Tiene un nombre, un valor y un tipo. Por ejemplo, esta sentencia (llamado una declaración):
int pin = 13;
crea una variable cuyo nombre es pin, whose value is 13, y su tipo es int. Mas tarde en el programa, puedes hacer referencia a esta variable por su nombre, momento en el que puedes acceder a su valor y utilizarlo. Por ejemplo, en esta sentencia:
pinMode(pin, OUTPUT);
es el valor de pin (13) el que será pasado a la funciónpinMode(). En este caso, realmente no necesitas usar una variable, esta sentencia funcionaría igual de bien:
pinMode(13, OUTPUT);
La ventaja de una variable en este caso es que solo necesitas especificar el número del pin una única vez, pero puedes usarlo montones de veces. Así, si mas tarde decides cambiar el pin 13 por el 12, solo tienes que cambiarlo en un punto del código. Además puedes usar un nombre descriptivo que tenga que ver con el uso que vas a dar a la variable (ej. un programa para controlar un LED RGB (Rojo, Verde y Azul) podría tener variables llamada PinRojoPinVerde y PinAzul).
Una variable tiene otras ventajas sobre un valor como un número. La más importante, puedes cambiar el valor de una variable mediante un asignador (representado por el signo igual). Por ejemplo:
pin = 12;
cambiará el valor de la variable a 12. Observa que no se especifica el tipo de la variable: este no cambia con la asignación. Es decir, el nombre de la variable está permanentemente asociado a un tipo; sólo esto cambia valor. [1] Ten en cuenta que tienes que declarar una variable antes de asignarle un valor. Si se incluye la instrucción anterior en un programa sin la previa declaración anterior, obtendras un mensaje del estilo: "error: pin was not declared in this scope" ("Error: pin no ha sido declarado en este ámbito").
Cuando se asigna una variable a otra, estás haciendo una copia de su valor y almacenando dicha copia en la ubicación de memoria asociada a la otra variable. Cambiando una no tiene efecto en la otra. Por ejemplo, después de:
int pin = 13;
int pin2 = pin;
pin = 12; 
sólo pin tiene el valor 12; pin2 tiene todavía 12.
Y ahora qué, puede que te preguntes ¿que significa la palabra "scope" (alcance) en ese mensaje de error anterior? Se refiere a la parte de tu programa en el que se puede usar la variable. Esto se determina por el lugar donde se declara. Por ejemplo, si quieres poder utilizar una variable en cualquier parte de tu programa, puedes declararla en la parte superior de tu código. Esto se llama variable global, aquí tienes un ejemplo:
int pin = 13;

void setup()
{
  pinMode(pin, OUTPUT);
}

void loop()
{
  digitalWrite(pin, HIGH);
} 
Como puedes ver, pin se usa tanto en la función setup() como en loop(). Ambas funciones hacen referencia a la misma variable, por lo que un cambio en una afectará al valor que tendrá en la otra, como en:
int pin = 13;

void setup()
{
  pin = 12;
  pinMode(pin, OUTPUT);
}

void loop()
{
  digitalWrite(pin, HIGH);
} 
Aquí, a la función digitalWrite() llamada desde loop() se le pasa el valor 12, ya que es el valor que se le asigna a la variable en la función setup().
Si tienes que utilizar una variable en una sola función, puedes declararla en la misma, en cuyo caso el ámbito (scope) de utilización se limita a esa función. Por ejemplo:
void setup()
{
  int pin = 13;
  pinMode(pin, OUTPUT);
  digitalWrite(pin, HIGH);
} 
En este caso, la variable pin sólo podrá ser usada dentro de la función setup(). Si tratas de hacer algo como esto:
void loop()
{
  digitalWrite(pin, LOW); // incorrecto: pin no tiene ámbito aquí.
} 
obtendrás el mismo mensaje que antes: "error: 'pin' was not declared in this scope" ("error: 'pin' no se declaró en este ámbito"). Es decir, a pesar de que has declarado pin en algún sitio en tu programa, está tratando de utilizarlo en alguna parte fuera de su ámbito de aplicación.
Te puedes preguntar ¿por qué no hacemos todas las variables globales? Después de todo, si no sé dónde puedo necesitar una variable, ¿por qué limitar su alcance a una sola función? La respuesta puede que sea más fácil de averiguar lo que te parece. Si una variable es global, su valor podría cambiarse en cualquier parte del código, lo que significa que necesita entender la totalidad del programa para saber qué va a pasar con la variable. Por ejemplo, si la variable tiene un valor que no esperabas, puede ser mucho más fácil de averiguar de donde viene el valor si la variable tiene un alcance limitado.
[block scope] [size of variables]
[1] En algunos lenguages de programación, como Python, los tipos se asocian con valores, no a los nombres de variables, y se pueden asignar valores de cualquier tipo a una variable. Esto se conoce como tipos dinámicos (dynamic typing).


Fuente de informacion:

Gente este es mi correo para sugerencias 
rreynoud@gmail.com