Estou trabalhando em uma instalação artística com um sensor MB1010 LV-MaxSonar-EZ. Elaborei um sistema de reconhecimento de distância (parecido com uma trena eletrônica). No serial monitor do arduíno a leitura da distância está correta, 6.45m, que é a capacidade do sensor.

 

Na instalação eu preciso de uma projeção na TV ou em DATASHOW, quando conecto o cabo VGA ou  HDMI para transmitir as imagens do computador na TV ou Datashow a medida de distância no serial monitor cai pela metade!!!

 

Alguém teria uma sugestão do que poderia estar acontecendo? Até então entendo que o VGA ou HDMI, nesse caso, serve somente para a transmissão das imagens do computador em uma TV ou DATASHOW! 

Exibições: 334

Responder esta

Respostas a este tópico

Não faz sentido...

Recomendo usar um multimetro para medir lá no sensor a alimentação e o sinal.

Conforme:

https://www.maxbotix.com/documents/LV-MaxSonar-EZ_Datasheet.pdf

Ele tem saída digital e analógica. Qual das duas está usando ?

Mais exatamente em que momento isso acontece ? Plugado no projetor mas com ele desligado tb acontece ?

Como é sua fiação ? Curta e blindada ou longa e de qualquer jeito ? Qual a distancia ? Já tentou colado no PC pra ver se muda ?

Enfim, é uma interferencia. Vc vai ter que fazer mais testes para matar a charada. 

Muito estranho mesmo... provavelmente estática.

Fiz um teste em um monitor LCD e funcionou. Vou testar em uma CPU conectada na TV.

Obrigado Eduardo!

Minha proposta de criação é a instalação de uma exposição fotográfica “tecnológica” onde uma fotografia projetada ou exposta em uma tela de TV desaparece e reaparece conforme a aproximação do indivíduo.

 

Basicamente, na medida em que o sujeito se aproxima da exposição (é detectado por um sensor ultrassônico), a imagem projetada tende a desaparecer e na medida em que se distancia, tente novamente a aparecer. Através deste processo pretendemos levantar, dentre outras coisas, o questionamento sobre a memória na fotografia.

 

Essa ideia se fundamenta com base nos primórdios fotográficos onde a ideia de registro era predominante, as fotos eram guardadas e documentadas, pois atestava a existência, incontestável, de algo. O fator memória tinha predominância no contexto fotográfico. Com as fotografias digitais, fotografias essas geradas através de um sensor eletromagnético, a memória esvaece uma vez que os arquivos são armazenados em espaços virtuais e muitas vezes esquecidos.

 

Com isso, ao se aproximar da tecnologia (na exposição, o sensor ultrassônico, a imagem projetada, o computador e o projetor representam a tecnologia) a imagem projetada tende a desaparecer, fazendo alusão à memória, e na medida em que o sujeito se distancia, tende, novamente, aparecer.

 

Estou tendo alguns problemas que não consigo resolver. O sensor ultrassônico utilizado é o MAXbotix EZ1 capaz de detectar objetos de 0 a 6,45m e detecção de pessoas a 8 pés.

 

Estou com problemas na transparência da imagem. Gostaria de trabalhar com um intervalo de 3m (iniciando da ponta do sensor) quando a pessoa se aproximar da instalação e estiver a 3m do sensor a imagem começa a desaparecer e estando a 0,50m, desaparece totalmente. Não estou conseguindo fazer a conta nesses 2,5 metros de intervalo em que a imagem desaparece. O que procuro é um fade suave nesse intervalo.

 

Abaixo o código do arduíno e do processing, respectivamente:

 

ARDUÍDO

 

 

/* Objetivo: medir a distancia entre o rack e uma pessoa e transmitir para o processing
Autor: Cinesio M. Mendes
Date: 13/06/2014
Vers√£o: 1.0

Sensor de ultra som usado:
   medi√ß√£o: a cada 50 ms
   distancia - entre 0 a 6.45 m
   resolu√ß√£o sinal analogico: (Vcc/512)/pol  -> Vcc=5V => 9.8mV/pol => 9.8mv/2,54 cm

 */

//declaração das variaveis utilizadas no codigo
long Dis;
float cm;
long soma=0;
int NMedia=300;//quantidade de amostragem do sinal analogico do sensor de ultra som
float Media=0;  // media do valor lido da enterada analogica

// Simbolico das entradas/Saidas
int Som=5;  // saida de som

void setup() {

  //configura√ß√£o da porta serial
  Serial.begin(19200);
 
  // configura√ß√£o dos pinos de entrada/saida
  pinMode(Som, OUTPUT);

}

void loop() {

 
  //amostragem do sinal analogico do ultra som ( 50 medi√ß√µes )
  for(int i = 1; i < NMedia ; i++)   {
                                     Dis = analogRead(0);
                                     soma = soma+Dis;
                                     delay(5);
                                    } 

  Media = soma/NMedia;
 cm = (Media/74);
 
  
  Serial.println(cm);
  //Serial.print(" cm");
  //Serial.println();

  //zera soma das amostragens
  soma = 0;

  delay(500);

}

 

 

 

PROCESSING:

 

// importa biblioteca serial

import processing.serial.*;

 

// declaração das variaveis utilizadas no programa

 

int Contagem=1; // declara variavel para contagem do tempo transcorrido

long last;      // variavel que armazena o ultimo valor do contador de tempo interno

float Trans=255; // valor da transparencia da imagem

int x=0;

int y=0;

float inByte;

 

// para cada imagem é necessário declarar uma variavel com a classe PImage

PImage foto1;

PImage foto2;

PImage foto3;

PImage foto4;

PImage foto5;

 

Serial port;

 

// essa parte do programa será executada somente 1 vez

void setup ()

{

 

// define tamanho da janela que será aberta

size (800,600);

 

// carrega fotos

foto1 = loadImage("foto1.jpg");

foto2 = loadImage("foto2.jpg");

foto3 = loadImage("foto3.jpg");

foto4 = loadImage("foto4.jpg");

foto5 = loadImage("foto5.jpg");

 

// armazena o valor atual do contador de tempo interno

last=millis();

 

 // lista portas disponiveis

 println(Serial.list());

 

// configuração da porta serial

port = new Serial(this, Serial.list()[1], 19200);

// não gera evento serial até um novo caracter fim de linha

port.bufferUntil('\n');

 

}

 

 

// rotina principal

void draw()

{

 

// cor do fundo

background(0);

 

// transparencia da imagem 

tint(Trans, 255);  // Display at half opacity 

 

 

// verifica se existe algum valor enviado para serial pelo arduino

while (port.available() > 0) {

                              // le string ASCII:

                              String inString = port.readStringUntil('\n');

 

                              if (inString != null) {

                                                     // retira os espaçõs em branco da string

                                                     inString = trim(inString);

                                                     // converte para ponto flutuante

                                                     inByte = float(inString);

                                                    }

                              println(inByte);

     

                              // verifica distancia para modificar transparencia da imagem

                                                      

                              Trans=inByte*44;

                              if ( inByte>5.8 ) Trans=255;                 

                          }

 

 

 

 

// mostra imagem na janela aberta ->  image(img, x, y, w, h)  conforme tempo

if (Contagem>=1 ) { image(foto1,x,y); }

 

if (Contagem==2 ) { image(foto2,x,y); }

 

if (Contagem==3 ) { image(foto3,x,y); }

 

if (Contagem==4 ) { image(foto4,x,y); }

 

if (Contagem==5 ) { image(foto5,x,y); }

 

 

// verifica tempo transcorrido

if ( millis()-last>5000 ) {

                           Contagem=Contagem+1;

                           last=millis();

                          }

                        

// verifica se mostrou todas as fotos   

if ( Contagem>5 ) { Contagem=1;}

                         

 

 

}

 

 

 

 

 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço