| Per començar | Elements d'entrada | Programació CircuitPython | Recursos CITCEA | |
| Elements no electrònics | Elements de sortida | Programació Arduino | ||
| Projectes | Elements de control | Dades pràctiques | Inici | 
Disposem d'una sèrie de funcions matemàtiques i trigonomètriques (a les biblioteques math i simpleio) que es descriuen a la taula següent.
| Nom | Utilitat | Format | Comentaris | 
| e | Nombre e | math.e | |
| pi | Nombre π | math.pi | |
| sqrt | Arrel quadrada | math.sqrt(r) | |
| pow | Potència | math.pow(b, e) | |
| exp | Exponencial | math.exp(e) | Exponencial (potència d'e) | 
| log | Logarítme natural | math.log(v) | |
| cos | Cosinus | math.cos(a) | Angle en radians | 
| sin | Sinus | math.sin(a) | Angle en radians | 
| tan | Tangent | math.tan(a) | Angle en radians | 
| acos | Arc cosinus | math.acos(v) | Resultat en radians | 
| asin | Arc sinus | math.asin(v) | Resultat en radians | 
| atan | Arc tangent | math.atan(v) | Resultat en radians | 
| atan2 | Arc tangent de dos arguments | math.atan2(s,c) | Dóna l'arc tangent a partir d'un valor proporcional al sinus i un altre proporcional al cosinus | 
| ceil | Valor enter immediatament superior | math.ceil(v) | |
| copysign | Copia el signe | math.copysign(v,s) | Torna v però amb el signe d's | 
| fabs | Valor absolut | math.fabs(v) | |
| floor | Valor enter immediatament inferior | math.floor(v) | |
| fmod | Residu de dividir el primer valor pel segon | math.fmod(n,d) | |
| frexp | math.frexp | ||
| int | Converteix a enter | int(v) | |
| modf | Parts entera i fraccional | math.modf(v) | Retorna una tupla on el primer element és la part fraccional del paràmetre i el segon la part entera math.modf(4.32)[0] donarà 0.32 math.modf(4.32)[1] donarà 4 | 
| isfinite | Mira si és finit | math.isfinite(p) | Retorna True si el paràmetre és un nombre finit | 
| isinf | Mira si és infinit | math.isinf(p) | |
| isnan | No és un nombre | math.isnan(p) | Retorna True si el paràmetre no és un nombre | 
| trunc | Part entera | math.trunc(v) | |
| radians | Passa a radians | math.radians(a) | El paràmetre ha d'estar en graus sexagesimals | 
| degrees | Passa a graus sexagesimals | math.degrees(a) | El paràmetre ha d'estar en radians | 
| map_range | Canvi d'escala | r = simpleio.map_range(v,vn,vx,rn,rx) | Canvia vn per rn i vx per rx Els valors intermedis els canvia seguint una recta Si rx < rn també funciona i inverteix el sentit de la variable El resultat és de tipus float Aquesta funció està a la biblioteca simpleio Vegeu descripció més avall | 
Aquesta funció agafa els valors d'una variable v que pot tenir valors entre vn i vx i dóna un valor de sortida que està entre rn i rx. Una aplicació molt típica seria convertir el valor d'una entrada analògica (entre 0 i 1023) en un altre valor que es pugui enviar a un NeoPixel (entre 0 i 255).
import simpleio
led = neopixel.NeoPixel(board.NEOPIXEL, 1, auto_write=0, brightness=0.01) entrada = AnalogIn(board.LIGHT)
...
    valor = simpleio.map_range(entrada.value, 0, 65535, 0, 255)
    valor = int(valor)
    led.fill((valor, valor, valor))
    led.show()
...
El següent gràfic ens mostra com la funció map converteix el valor d'entrada en el valor de sortida.

L'equació per al càlcul seria la següent:

Si posem un valor de rx més petit que el de rn podem tenir un canvi de signe en la inclinació.

Per exemple si volem que la sortida faci més llum com menys lluminositat veu el sensor de l'entrada:
import simpleio
led = neopixel.NeoPixel(board.NEOPIXEL, 1, auto_write=0, brightness=0.01) entrada = AnalogIn(board.LIGHT)
...
    valor = map_range(entrada.value, 0, 65535, 255, 0)
    valor = int(valor)
    led.fill((valor, valor, valor))
    led.show()
...
No hi ha cap problema en que, en cas necessari, algun dels valors sigui negatiu.

En aquest web, les fotografies marcades amb [AF] són del web d'Adafruit, les marcades amb [SF] del web d'Sparkfun i les marcades amb [AU] del web d'Arduino.

Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.