Autor Tema: Implementar función map (Arduino en picbasic).  (Leído 3511 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado salto333

  • PIC10
  • *
  • Mensajes: 1
Implementar función map (Arduino en picbasic).
« en: 11 de Agosto de 2014, 12:31:21 »
Hola a todos , buceando un programa en arduino encontre una funcion MAP que
vincula valores de variables ( valor A = x minimo , valor A xx maximo , valor salida S minimo , valor salida S maximo )
muy piola para un sensor de temperatura que tiene valor a cero grados 120 ( bits ) y a 20 grados 350 ( bits ) y eso comanda
el pwm de calefaccion ( 20 c  pwm 0  / 0 c  pwm 255 ) , alguno de Ud tiene idea de como implementar esta funcion en picbasic ?
o viene alguna libreria auxiliar  ? Desde ya , gracias a todos  Saludos Rafael
« Última modificación: 12 de Agosto de 2014, 08:14:58 por dogflu66 »

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: implementar funcion map ( arduino en picbasic
« Respuesta #1 en: 11 de Agosto de 2014, 22:59:25 »
Hola, son matemáticas... basta con que implementes la ecuación de la recta.  ;-)

y = mx + b

Desconectado siniestro

  • PIC10
  • *
  • Mensajes: 44
Re: Implementar función map (Arduino en picbasic).
« Respuesta #2 en: 18 de Agosto de 2014, 19:22:13 »
En la pagina de Arduino está la respuesta, en referencias al lenguaje, específicamente ahi explican como funciona la funcion Map y literalmente es asi:

long map(long x, long in_min, long in_max, long out_min, long out_max)
{
  return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}

la funcion map en arduino lleva la siguiente forma:

y = map(x, 1, 50, 50, 1);
esta guardaria en la variable y, el mapeo de la variable x.   Los primeros dos digitos son el valor minimo y maximo de x , mientras que los otros dos son el minimo y maximo a la salida.  Se pueden intercambiar asi:  y=(X, minX, maxX, minMapeaado,maxMapeado)   ó  y=(X, maxX,minX,  maxMapeado,minMapeaado).
Exitos
Saber de todo un poco, sin ser experto en nada (una filosofia extraña)

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: Implementar función map (Arduino en picbasic).
« Respuesta #3 en: 19 de Agosto de 2014, 11:47:33 »
En PicBasic no tengo ni idea pero en Basic del PSI la función es como sigue:

Function map(x as Long, in_min as Long, in_max as Long, out_min as Long, out_max as Long) as Long

  map = (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min

End Function

la llamada a la funcion map queda de la siguiente forma:

y = map(x, 1, 50, 50, 1)
Saludos desde Granada, España.


 

anything