Pages: [1]   Go Down
Author Topic: Sensor Optico  (Read 2490 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola,
estoy empezando con Arduino y voy perdido. a ver si alguien me puede ajudar:
necesito usar un sensor optico (V69 001 TCST 2103) que al detectar un algo encienda un Led.
Muchas gracias.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Gente he conseguido con este codigo:
int potPin = 0; //nombre se puede modificar = la salida del Arduion. edgar
int LedA1 = 13; //nombre se puede modificar = la salida del Arduion. edgar
int val = 0;    //nombre se puede modificar = la salida del Arduion. edgar
void setup() {
  pinMode (LedA1, OUTPUT); //crec q demano al pin 13 ara anomenat LedA1 que tregi energy.
}
void loop(){
  val = analogRead(potPin);
  digitalWrite(LedA1, HIGH);
  delay(val);
  digitalWrite(LedA1, LOW);
  delay(val);
}

.....
Y con este codigo he conseguido qe funcione el sensor optico con el Led pero: el led me hace intermitente y al poner el dedo en el sensor hace mas intermitente. Como puedo solucionar esto? lo que quiero es: Led encendido al 100% sensor Leds apagado.
Alguien sabe como decir eso a Arduino?
Logged

0
Offline Offline
God Member
*****
Karma: 1
Posts: 524
Arduino inside
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Que sensor es ese, un PIR?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tengo dos diferentes:
V69 001 TCST2103
o
el
ONI 120 JAPAN 56
Logged

0
Offline Offline
God Member
*****
Karma: 1
Posts: 524
Arduino inside
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

cuando pongo estas referencias en google no me sale nada, prueba a poner alguna referencia que nos pueda ayudar.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

http://www.google.com/search?q=TCST2103&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:es-ES:official&client=firefox-a
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

http://www.cooking-hacks.com/index.php/shop/sensors/photo-interrupter-os25b10.html
Logged

0
Offline Offline
God Member
*****
Karma: 1
Posts: 524
Arduino inside
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola Edgar,
lo primero mirate el datasheet y sabras como hacer el montaje,
segundo:
  val = analogRead(potPin);
  digitalWrite(LedA1, HIGH);
  delay(val);
  digitalWrite(LedA1, LOW);
  delay(val);

Con este código lo que hace es leer el valor analógicamente, yo lo leería digitalmente porque este sensor te va a dar 1 o 0.
después entre cada HIGH y LOW solo va a pasar 0 o 1 milisegundos.
podrías poner un if , si el sensor te da un 1 que se encienda i si te da un cero que se apage, por ejemplo.
Logged

0
Offline Offline
Edison Member
*
Karma: 16
Posts: 1579
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Para que cojas ideas:
http://mckgyver.pbworks.com/w/page/20654133/Arduino_Tachometer

smiley-wink
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sabes mas de lo que puedo entender. lo de progrmar en If es lo que veo com mas para mi projecto pero no se hacerlo a dia de hoy. me puedes hacer una idea.
voy a intentar acer algo con tus ideas.
muchas gracias
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 13
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

He crado esto pero no funciona jejeeje
int potPin = 8;
int LedA1 = 13;
int val = 0;   


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


void loop(){
  val = digitalRead(potPin);
  digitalWrite(LedA1, HIGH);
  delay(val);
  digitalWrite(LedA1, LOW);
  delay(val);
}
Logged

CHILE
Offline Offline
Jr. Member
**
Karma: 1
Posts: 93
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Lo más simple que puedes hacer, si lo que intentas es que funcione como interruptor es usa uno de los ejemplos que vienen en el software de arduino, especificamente el ejemplo 'button', conecta en los pines correctos tus componentes y listo. Luego puedes usar también el 'StateChangeDetection'.

Pero a la vez deberías leer un poco en reference de la pagina arduino.cc, asi entiendes el codigo que usas.

Saludos.
Logged

0
Offline Offline
Jr. Member
**
Karma: 5
Posts: 72
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola Edgar,

El código que has puesto lo que hace es lo siguiente:
Lee el valor (analógico) de lo que haya conectado en la entrada pinpot.
Ese valor es un número entre 0 y 1023.
Luego enciende el led esa cantidad de milisegundos y lo mantiene apagado el mismo tiempo.

El problema es que el PIR que estás usando no es analógico sino digital. En función de como lo hayas conectado al Arduino te dará dos valores distintos según este bloqueado o no, por eso tienes dos velocidades de parpadeo diferente.

Tu no quieres eso, tu lo que quieres es usarlo para mantener encendido o apagado el led según esta el PIR.

Para eso tienes ya un ejemplo en el IDE del Arduino.
Utiliza el ejemplo de File > Examples > Digital > Button tal y como está.
Lo único que tienes que hacer es poner el PIR en el pin Ddigital 2 para que funcione, o cambiar en el sketch de ejemplo el pin que lee.
Logged

Pages: [1]   Go Up
Jump to: