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!
Tags:
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;}
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por