variable "distancia" 433Mhz

Buenos dias a todos.
Os pongo en situación:
Tengo que hacer como proyecto de mi grado un dispositivo emisor y receptor que cuando se alejen entre si me avise el receptor (teniendo en cuenta que llevo conmigo el receptor). Para ello pensé en el modulo emisor y receptor 433MHz

El problema reside en que no sé como crear una variable que me indique la distancia de ésta comunicación, ya que la idea es hacer que cuando supere x distancia se genere un tono mediante un altavoz o zumbador (esta parte la tengo clara).

La idea general sería hacer algo como:

“if” la distancia es < o > a x, generar tono. Como decía antes, mi problema está en crear esa variable distancia.

Gracias de antemano y espero poder solucionar este problema.

Faltan datos. Dentro de un edificio ? o en el exterior ? De que distancias hablamos, metros ? centímetros, milímetros?

Seria mejor que expusieras el uso que tienes en mente.

He hacer un proyecto sobre un emisor y receptor para que en caso de que me deje algo importante (llaves, cartera) en una habitación, el emisor, que estará enganchado a estos objetos, me avise al receptor al superarse x distancia (2,5,10 metros). Sin darle importancia a lo incomodo que puede resultar o a la competencia de dispositivos existentes para eso, tan solo he de centrarme en hacer esas funciones. Se que he de hacer una antena para mejorar el alcance del emisor y receptor.

El problema es que puedo hacer que envíe constantemente datos y que cuando no reciba active el zumbador/altavoz, pero me gustaría poder ajustar la distancia, ya que no es lo mismo desplazarse en una nave industrial que en un lavabo. me gustaría introducir un potenciómetro para modificar la variable “distancia” pero no sé como crear esta variable. espero que podáis entender mi dilema

Por el titulo veo que trataras de usar un modulo de enlase de RF de 433 MHz y también veo que entiendes que con 5V y la antena original tus pruebas no superar la distancia de 1 metro.

Lo que no logro entender es el tema de la distancia. Como determinaras que emisor y receptor se están alejando ? otro sensor ?

Que pasaria si usaras dos transmisores uno de ellos con antena mejorada (hasta 10 m) y el otro con antena normal (hasta 1 m) transmitiendo alternativamente de manera que si el receptor recibe uno y no el otro "supones" que es debido a la distacia y suenas la alarma.

gabriel_99b: ../..en caso de que me deje algo importante (llaves, cartera) en una habitación, el emisor, que estará enganchado a estos objetos, me avise al receptor al superarse x distancia (2,5,10 metros). Sin darle importancia a lo incomodo que puede res../..

gabriel_99b: ../.. Sin darle importancia a lo incomodo que puede resultar o a la competencia de dispositivos existentes para eso, tan solo he de centrarme en hacer esas funciones.

Vale....

Humano = el que tu llamas receptor. Llaves = el que tu llamas emisor.

Los dos dispositivos se enlazan por un bluetooth tipo 2. (+- 10 metros) cada x segundos el "humano" hace un ping a la llave. en caso de no recibir contestación suena la alarma.

El potenciometro para ajustar sensibilidad..... Pasas a Bluetooth tipo 3 (+-100 metros)

En vez de detectar la respuesta del ping, tienes que controlar la intensidad de la señal en la respuesta, y ajustar el umbral de disparo a tu discreción.

Kike_GL: Por el titulo veo que trataras de usar un modulo de enlase de RF de 433 MHz y también veo que entiendes que con 5V y la antena original tus pruebas no superar la distancia de 1 metro.

Lo que no logro entender es el tema de la distancia. Como determinaras que emisor y receptor se están alejando ? otro sensor ?

Que pasaria si usaras dos transmisores uno de ellos con antena mejorada (hasta 10 m) y el otro con antena normal (hasta 1 m) transmitiendo alternativamente de manera que si el receptor recibe uno y no el otro "supones" que es debido a la distacia y suenas la alarma.

En mi curso pasado (donde di el Arduino por primera vez) hice una práctica en la que mediante un mapeo de datos podía representar mediante el serial la distancia en metros que captaba un sensor ultrasónico. Mi idea era hacer algo parecido y que suene el altavoz si ese valor era menor a una variable ajustada con el potenciometro. de esa manera determinar si el alcance es de 2m 4m 6m o los que hasta me de el alcance.

Adjunto código de la practica que hice por si aclara alguna duda.

int EchoPin=5; int TriggerPin=6; int pinled=7;

void setup() { Serial.begin(9600); pinMode(TriggerPin,OUTPUT); pinMode(EchoPin,INPUT); }

void loop() { int cm=ping(TriggerPin,EchoPin); Serial.print("Distancia: "); Serial.println(cm);

int sens=map(cm,0,150,0,1500); sens=constrain(sens,0,200); digitalWrite(pinled,HIGH); delay(sens); digitalWrite(pinled,LOW); delay(sens); }

int ping(int TriggerPin, int EchoPin){ long duration,distanceCm;

digitalWrite(TriggerPin,LOW); delayMicroseconds(4); digitalWrite (TriggerPin,HIGH); delayMicroseconds(10); digitalWrite(TriggerPin,LOW);

duration= pulseIn(EchoPin,HIGH); distanceCm=duration*10/292/2; return distanceCm;

jordi3sk97: Vale....

Humano = el que tu llamas receptor. Llaves = el que tu llamas emisor.

Los dos dispositivos se enlazan por un bluetooth tipo 2. (+- 10 metros) cada x segundos el "humano" hace un ping a la llave. en caso de no recibir contestación suena la alarma.

El potenciometro para ajustar sensibilidad..... Pasas a Bluetooth tipo 3 (+-10 metros)

En vez de detectar la respuesta del ping, tienes que controlar la intensidad de la señal en la respuesta, y ajustar el umbral de disparo a tu discreción.

Vale, ¿pero como hago para controlar la intensidad que me llega? ¿He de hacer un mapeo de datos? Mi problema es que no se representar el valor de intensidad en una variable. Como habréis comprobado mi conocimiento en Arduino es muy básico y escaso.

gabriel_99b: En mi curso pasado (donde di el Arduino por primera vez) hice una práctica en la que mediante un mapeo de datos podía representar mediante el serial la distancia en metros que captaba un sensor ultrasónico.

Vale la distancia la determina otro sensor, entonces para que quieres el modulo RF ?

Sigo sin entender como el ultrasonido discriminara las llaves o lo que sea que dejes.

Sabiendo que el alcance del modulo RF depende de antena y tensión de alimentación, porque no varias la tensión de alimentación (5 a 12V) del emisor como una manera de regular la "distancia" ?

Suponiendo que emites a 5V luego a 6 y así hasta 12V dependiendo de la distancia a la que esta el recepto solo recibirá los mas altos (ej 11 y 12) y con eso tienes tu variación de distancia de detección.

La regulación de distancia la pones es el receptor. Por ejemplo x>10 suena

Sí el receptor es superheterodino, es decir, tiene una etapa de frecuencia intermedia, el chip tendrá un pin que se llama agc, control automático de ganancia. En este pin hay una tensión inversamente proporcional a la potencia de entrada. Midiendo esta tensión con el convertidor a/d de arduino se podría saber la potencia de entrada al amplificador y de ahí deducir la distancia aproximada del emisor. Desgraciadamente los receptores baratos no suelen llevar estos tipos de circuitos integrados. Otra forma no se…

harkonnen: Sí el receptor es superheterodino, es decir, tiene una etapa de frecuencia intermedia, el chip tendrá un pin que se llama agc, control automático de ganancia. En este pin hay una tensión inversamente proporcional a la potencia de entrada. Midiendo esta tensión con el convertidor a/d de arduino se podría saber la potencia de entrada al amplificador y de ahí deducir la distancia aproximada del emisor. Desgraciadamente los receptores baratos no suelen llevar estos tipos de circuitos integrados. Otra forma no se...

Creo que esta propuesta es la manera mas eficaz de calcular la distancia aproximada, aunque es evidente que variará en función de las condiciones del entorno.

Creo que o mejor sería usar un dispositivo RF que tenga indicación rssi. Solo busca transceptores es que tengan esa característica y podrás determinar aprox la distancia.

Me parece que es imposible de la forma que estan encarando.... son equipos baratos por lo que no son precisos, es decir, si el transmisor esta sobre la mesa transmite con una determinada potencia, y si esta dentro del bolsillo del pantalon que estamos usando, la proximidad de nuestro cuerpo afecta de dos maneras... Una es que incide en la antena, por lo que podemos irradiar distinto, y es más, puede irradiar o transmitir en forma despareja, con mas potencia hacia adelante nuestro que hacia los costados, o viceversa, la piel va a afectar a la capacidad que tiene la antena y la va a afectar. Por otro lado la capacidad del cuerpo va a afectar en el oscilador interno por lo que la frecuencia de transmisión puede cambiar, si tiene cristal puede ser algo estable, si no tiene cristal, se va a ir la frecuencia a cualquier lado....

Una alternativa que podria estar interesante es combinar RF y ultrasonido, el transmisor emite en ambas al mismo tiempo, y el receptor va a recibir primero el RF (hay que estudiar el delay que pueda presentar) y luedo escucharia el sonido.... la diferencia de tiempo multiplicada por la velocidad del sonido es la distancia hacia el aparato...

Los códigos deben ir con etiquetas @gabriel_99b, te paso por privado como editar tu post#5 y que quede como ya te han respondido algunos códigos o partes de ellos.

Yo creo que alguien que esta haciendo un proyecto de grado debe aportar mas. No comprendo porque en cada respuesta te excusas (no te ataco) en que no tienen conocimiento de Arduino.

Estamos hablando de física y/o electromagnetismo. Ahora si no has visto estas materias en tu carrera no solo tienes desconocimiento de como enfocar el tema sino que además te falta base para encararlo. Repito, no intento molestarte. Solo te pido que es tu tarea no la nuestra. Debes confrontar cada idea que se te da con argumentos, como hacía mi profesor cuando me pedía un trabajo como el tuyo.

Lo que estas pidiendo es precisamente lo que tu deberías hacer. O sea... tu deberías decir: miren... he buscado y creo que este método podria funciona y entonces nosotros te diremos.... si por tal o por cual razón podría ser o no, porque te puede pasar tal cosa.

Resumamos:

Tienes dos o tres sugerencias. 1. Bluetooth 2. Ultrasonido asociado a una comunicacion RF 3. Un modulo RF que disponga de información dbm o RSSI

no sé si olvidé alguno.

Busca pros y contras de cada cosa y continuamos el debate.

Te agrego algo, si se puede usar ultrasonido porque no un telemetro laser... total, sigues mirando al receptor y te dará la distancia.

Una búsqueda que hice donde dan pautas posibles entre las que estan las mencionadas

How would I measure distance with a transmitter/receiver pair?

Descarta la idea de usar RSSI porque su indicador refleja otra cosa. Estaba equivocado.