LusoRobótica - Robótica em Português

Robótica => Projectos de robótica => Tópico iniciado por: MRData em 22 de Janeiro de 2015, 22:20

Título: Colocar os dados de um Sensor de TEMP/HUMIDADE na TV! (Arduino)
Enviado por: MRData em 22 de Janeiro de 2015, 22:20
Boas,

Queria deixar aqui um projecto que me interessou e que pode ter interesse para alguem.
O Objectivo é usar uma TV normal (Tubo, LCD, LED, TFT, etc..) numa especie de terminal do Arduino.

Como sabem o Arduino não tem saida de video, mas graças a uma library de TVOut que esta disponivel para DOWNLOAD aqui ->https://arduino-tvout.googlecode.com/files/TVoutBeta1.zip (https://arduino-tvout.googlecode.com/files/TVoutBeta1.zip) é possivel enviar dados para uma TV como se fosse uma consola.

O que necessitamos?

- Um Arduino (no meu caso usei o NANO)
- 1 resistencia de 1K ohms
- 1 resistencia de 470 ohms
- 1 Sensor de Temperatura (Opcional)
- 1 Cabo RCA com uma ficha RCA

Schematic :
(https://dl.dropbox.com/s/0s839u4cktwly19/TVOut.png?dl=0)

Devem fazer as ligações como descrito no esquema, a resistencia de 1k esta ligada ao pino 9 e a de 470 ohms ao pino 7.
Depois devem cortar uma das pontas do cabo RCA e devem encontrar um fio sem isolamento que normalmente é o que se liga ao ground e que deve estar ligado a parte externa da ficha RCA. O fio com isolamento, normalmente é o que liga ao espigão central.
Se tiverem duvidas usem um multimetro para identificar os dois fios.

Atenção, na instalação da library, existe um problema se importarem directamente do ZIP.
O que devem fazer para evitar o erro é :

- Fazer download do ZIP
- Extrair o conteudo (3 directorios) para a pasta do vosso disco onde tenham as libraries do Arduino no meu caso é "C:\Users\XXXXX\Documents\Arduino\libraries"

Depois de fazer este passo podem copiar o codigo abaixo e colarem num "sketch" do arduino

Código: [Seleccione]
#include <TVout.h>
#include <fontALL.h>
#include <DHT11.h>

#define DHT11_PIN 4

DHT11 dht11(DHT11_PIN);

TVout TV;

void setup() {
  TV.begin(PAL,136,96);
  TV.select_font(font6x8);
}

void loop() {
  int err;
  float temp, humi, humi_old;
  TV.delay(1000);
  if((err=dht11.read(humi, temp))==0)
  {
    TV.print(0,0,"Temperature : ");
    TV.print(temp);
    TV.println("C");
    TV.print("Humidity    : ");
    TV.print(humi);
    TV.println("%");
    TV.draw_line(0,48,136,48,BLACK);   
    TV.draw_line(0,48,temp,48,WHITE);
    TV.draw_line(0,50,136,50,BLACK);   
    TV.draw_line(0,50,humi,50,WHITE);
  }
  else
  {
    TV.print("Error No : ");
    TV.println(err);
  }
}

Se não tiverem um sensor de temperatura e quiserem testar o Output para a TV, usem este codigo.

Código: [Seleccione]
#include <TVout.h>
#include <fontALL.h>

TVout TV;

void setup() {
  TV.begin(PAL,136,96);
  TV.select_font(font6x8);
}

void loop() {
  TV.println("Arduino na TV!!!!!");
  TV.delay(1000);
  TV.println("Simples não?");
  TV.delay(1000);
  TV.clear_screen();
}

Para testarem, devem ligar a ponta com a ficha RCA na entrada da vossa TV (Video IN) e escolherem a Source da TV para a mesma (AV)

E o resultado é este!
http://youtu.be/vFZkPJlx9yY (http://youtu.be/vFZkPJlx9yY)
Título: Re: Colocar os dados de um Sensor de TEMP/HUMIDADE na TV! (Arduino)
Enviado por: KammutierSpule em 22 de Janeiro de 2015, 22:23
Excelente!
Agora 'e melhorar e fazer uns graficos do historico..etc :P
Título: Re: Colocar os dados de um Sensor de TEMP/HUMIDADE na TV! (Arduino)
Enviado por: Nunito em 16 de Fevereiro de 2015, 20:59
Eh pá, quando tiver oportunidade, vou testar.
Grande projecto.