Tecnologia do Blogger.

Arduino + LDR

Boas! hoje venho aqui publicar mais um tutorial para um sensor, neste caso o ldr.

O que é um "LDR"?
"LDR" é  uma abreviatura que quer dizer "Light Dependent Resistor" ou seja resistência dependente de luz , que tal como o nome indica é uma resistência que varia conforme a luz que lhe é incidida.Uma das peculiaridades deste sensor é que não tem polaridade. Um rápido exemplo do seu funcionamento: supúnhamos que  o ldr tem uma resistência máxima de 1000 ohms, esta resistência máxima em teoria é obtida quando o ldr está perante uma total escuridão.



Agora vou apresentar o material necessário para o tutorial, o esquemático para a ligação do ldr ao arduino e o código a ser utilizado no arduino:

Material necessário:
- Um ldr
- Uma resistência de 10Kohms
-Um arduino
- Fio(quantidade variada)

Esquema para a ligação:

Código para o arduino
----------------------------------------------------------------------
int ldr=A0;//Defenir o pino analógico onde será ligado o ldr neste caso pino 0
int val=0; //definir a vareável que vai armazenar os valores obtidos pelo ldr 
void setup(){
  Serial.begin(9600);// linha de código para a comunicação com o pc
}

void loop(){
  val=analogRead(ldr);//  linha de código para o armazenamento dos valores obtidos no ldr numa variável
  Serial.println(val);// fazer um print dos valores obtidos pelo ldr
  delay(100); // intervalo de tempo de 1 segundo
}
-----------------------------------------------------------

Cumprimentos Rui Marinho!






Sensores analógicos e digitais

Diferença entre sensores analógicos e digitais:


Basicamente um sensor digital deriva entre 0 e 1, é exemplo de um sensor digital por exemplo um sensor de presença, ou seja o que um sensor de presença faz é caso esteja alguém a frente do sensor este mudará o seu estado para 1(5V),caso não esta ninguém a frente deste o sensor apresentará o estado 0(0V).
Já os sensores analógicos derivam entre 0~1024 (ou então entre 0V e 5V)temos vários exemplos destes sensores um dos mais fáceis de entender será o sensor de temperatura, vamos supor que este apresenta uma temperatura mínima de -24ºC( serão os 0V ou o valor 0) e uma temperatura máxima de 40ºC(5V ou então o valor 1024).


Links de posts:
-Sensores analógicos:
-Sensores digitais:













Arduino + Servo motor


Boas pessoal!
 Neste post vou ensinar a   ligar um servo motor ao arduino e controlá-lo através do mesmo, muito simples.
Podemos começar por inicializar a montagem do nosso circuito conforme a imagem a baixo, depois é só copiarem o código e experimentá-lo, num futuro post irei apresentar o controlo do servo-motor com um sensor de infra-vermelhos.


Esquema de Montagem



Código

------------------------------------------------------

#include < Servo.h >

Servo servo1; //defenir os nomes dos servos

void setup()
{
servo1.attach(9); // ligar um servo1 ao pino 9


Serial.begin(9600);

servo1.write(0); // servos iniciao na posição 0
}
void loop()
{

delay(1000); //delay de 1s
servo1.write(90); // servo inicia a posição para 90 graus
delay (1000);
servo1.write(-90); // servo1 vai para 180 graus

delay(1000); //delay de 1s
servo1.write(180); // servo inicia a posição para 90 graus
delay (1000);
servo1.write(-180); // servo1 vai para 180 graus

}
-----------------------------------------------------

Download da Livraria

http://dl.dropbox.com/u/59720640/Servo.rar

Espero que vos tenha ajudado
Comentem.
Comprimentos de Marco Joel

Arduino + Potênciómetro

Boas!
Hoje apresento aqui um simples "analog input" com um potenciómetro.
Abaixo segue o esquema de ligações e o código para arduino:

Esquema de ligações:




Código:
-----------------------------------------------------------------------------

int potenciometro = A0;   //defenir o pino analógico
int val = 0;  // criação da variável para armazenar o estado do potênciómetro(variação:0~1024)

void setup() {
Serial.begin(9600);//processo para a comunicação serial
}

void loop() {
  val = analogRead(potenciometro); //linha de código para armazenar os valores obtidos do potênciómetro da variável "Val"
 Serial.println(val);//envia o valor armazenado na variável "val" para a porta serial
delay(1000);//intervalo de tempo de 1 segundo            
}
-----------------------------------------------------------------~


Cumprimentos Rui Marinho!

Arduino + Lm35

Boas!
Hoje trago mais um tutorial de como ligar um sensor de temperatura( Lm35), ao arduino, e fazer as conversões dos valores obtidos do lm35 de forma a fazer um Serial print em graus Cº.
Abaixo segue o esquema e código para o arduino:
Esquema


Código
------------------------------------------------------------------------
int analogPin = 0; // lm35 está ligado ao a entrada analogica 0
int valAnalog ; // variavel para armazenar o valor analogico lido
int temperatura ;

void setup()
{
Serial.begin(9600); // programa a serial para comunicação em 9600 bps
}


void loop()
{
valAnalog = analogRead(analogPin); // Le o pino de entrada analogica 5
temperatura= ( 5 * valAnalog * 100) / 1024 ; // calcula a temperatura

// Serial.print(temperatura) ;
Serial.println(temperatura) ; // envia uma string de dois caracteres com a temperatura
delay( 1000) ; // aguarda 1seg
}

--------------------------------------------------------------------------------------------------------

LDR + led +Arduino

Neste mini projecto existe um ldr que varia conforme os a luz, então se estiver escuro o led acende e vice-versa.
Material utilizado:
-LED 3mm
-Resistência de 10Kohm
-Resistência de 220ohm
-LDR
Arduino UNO
Abaixo segue o esquema de ligações e código para o Arduino:
Esquema:



Código:
-----------------------------------------------------------------
#define LDR 0//
#define led 7
int val;// variável que vai gravar os valores obtidos pelo LDR
void setup() {
  Serial.begin(9600);
  pinMode(led, OUTPUT);
  digitalWrite(led, LOW);
}

void loop(){
  val= analogRead(LDR); // ler os valores obtidos pelo ldr
  Serial.println(val);

  if (val <= 512) { // pouca luz - quase escuro
    digitalWrite(led, HIGH);
  } 
  if (val> 512) { // muita luz
  digitalWrite(led, LOW);
    } 
  
  delay(1000);
}
-------------------------------------------------------

LM35 + LCD 2x16

Este é um mini projecto que consiste na utilização de um lcd para mostrar a temperatura obtida pelo sensor de temperatura (LM35).

Caso nao tenham um potenciometro de 10K podem ligar diretamente ao GND o pino que vai do lcd para o potenciometro
è necesario a libraria "LiquidCrystal"

Codigo em arduino
.....

#include<LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

//Declarando o Sensor
int SENSOR = 0;
float D = 0;
float T = 0;

void setup() {
lcd.begin(16, 2); //LCD 16x2
lcd.print("Temp.");
Serial.begin(9600); //Saída para o Serial Monitor
Serial.println("Temp.");
}

void loop() {
lcd.setCursor(0, 1); // Colocando o cursor na coluna 0 e linha 1
// Cálculo para o sensor
D = analogRead(SENSOR);
T = (D * 500)/1024;
Serial.print(T); // Apresentação do resultado/temperatura no Serial Monitor
Serial.println(" C");
lcd.print(T); // Apresentação do resultado/temperatura no LCD
lcd.print(" C");
delay(1000); // atualização dos dados a cada 1 segundo
}

......
Livraria para o lcd:
http://dl.dropbox.com/u/50854449/LiquidCrystal.rar

Datacheet do sensorLM35

Datacheet do LCD 2x16

Sensor ultra-sónico "HC-SR04" + Arduino

Neste post estou a utilizar um sensor ultra-sónico para medir a distância em cm micro segundo.
Acima podemos ver o esquemático para a ligação do sensor ao Arduino.
Em seguida têm o código:


#include <Ultrasonic.h>

#define TRIGGER_PIN  12
#define ECHO_PIN     13

Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN);

void setup()
  {
  Serial.begin(9600);
  }

void loop()
  {
  float cmMsec;
  long microsec = ultrasonic.timing();
  cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
  Serial.print("MS: ");
  Serial.print(microsec);
  Serial.print(", CM: ");
  Serial.println(cmMsec);
  delay(1000);
  }