Microbit funckia MAP
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Microbit funckia MAP
Pekný deň prajem, prosím v akých súvislostiach sa používa táto funckia MAP ?
Ďakujem
Ďakujem
Re: Microbit funckia MAP
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 ...
Používá se třeba k tomu, když analogovou vstupní hodnotu chceš upravit na hodnotu, kterou chceš vložit třeba servo motoru ...
-
- Příspěvky: 579
- Registrován: 01 srp 2017, 19:29
- Reputation: 0
- Bydliště: Poprad
- Kontaktovat uživatele:
Re: Microbit funckia MAP
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.
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
Vďaka za odpoveď
- SkullKeep
- Příspěvky: 291
- Registrován: 23 srp 2017, 18:51
- Reputation: 0
- Bydliště: Brno
- Kontaktovat uživatele:
Re: Microbit funckia MAP
Vím kam a kde dát upravu v arduinu.kiRRow píše: ↑03 led 2023, 16:50... jenže ... http://robodoupe.cz/2020/arduino-potouc ... unkce-map/
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;
}
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;
}
P. Q. M.
Re: Microbit funckia MAP
no já bych raději doporučil místo nahrazení původní funkce map spíš doplnění o novou funkci třeba newMap ...
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti