Stránka 1 z 1
Microbit funckia MAP
Napsal: 03 led 2023, 15:41
od Tomas10
Pekný deň prajem, prosím v akých súvislostiach sa používa táto funckia MAP ?
Ďakujem
Re: Microbit funckia MAP
Napsal: 03 led 2023, 16:50
od kiRRow
K tomu, že "přemapuješ" čísla v rozsahu od 0 do 1000 na rozsah od 100 do 0 ... vstupní hodnota 0 bude přemapována na výstupní hodnotu 100 ... vstup 500 na výstup 50 a vstup 1000 na výstup 0 ... jenže ...
http://robodoupe.cz/2020/arduino-potouc ... unkce-map/
Používá se třeba k tomu, když analogovou vstupní hodnotu chceš upravit na hodnotu, kterou chceš vložit třeba servo motoru ...
Re: Microbit funckia MAP
Napsal: 06 led 2023, 00:14
od martinius96
Dokážeš si ňou napríklad transformovať analógový vstup na volty...
Nepoznám Microbit, tak to spomeniem u Arduina Uno...
Analógový vstup má hodnotu 0 až 1023 (10-bitový ADC prevodník). Maximálna hodnota je úmerná 5V, minimálna 0V.
Teda rozdiel dvoch susedných hodnôt je 4,9 mV. Funkciou map si dané číslo analógového vstupu dokážeš previesť 0 až 5000 mV (keďže je to pre integer). Funkciou fmap však dokážeš previesť aj na float t.j. desatinné čísla teda pôvodný rozsah na napr. 0 až 5V.
Re: Microbit funckia MAP
Napsal: 09 led 2023, 20:48
od Tomas10
Vďaka za odpoveď
Re: Microbit funckia MAP
Napsal: 18 čer 2023, 18:48
od SkullKeep
Vím kam a kde dát upravu v arduinu.
Adresář :
..\Arduino\hardware\arduino\avr\cores\arduino
Soubor:
WMath.cpp
Kde:
Řádek 52
Co:
Kód: Vybrat vše
long map(long x, long in_min, long in_max, long out_min, long out_max)
{
long in_size = in_max - in_min;
long out_size = out_max - out_min;
if( abs(in_size) > abs(out_size) )
{
if( in_size < 0 ) in_size--; else in_size++;
if( out_size < 0 ) out_size--; else out_size++;
}
return (x - in_min) * (out_size) / (in_size) + out_min;
}
Za co:
Kód: Vybrat vše
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;
}
Re: Microbit funckia MAP
Napsal: 19 čer 2023, 16:04
od kiRRow
no já bych raději doporučil místo nahrazení původní funkce map spíš doplnění o novou funkci třeba newMap ...