Leírás
Megméri egy impulzus hosszát (akár HIGH, akár LOW) a megadott lábon. Például, ha a paraméter magas szintre van állítva, a pulseIn() megvárja, hogy a láb logikai szintje alacsonyról magasra váltson, elkezdi a mérést, majd megvárja, hogy a láb ismét logikai alacsony szintre kerüljön és akkor leállítja az időzítést. Visszaadja az impulzus hosszát mikroszekundumban, vagy 0-t ad vissza, ha az időkorláton belül nem kapott teljes impulzust.
Ennek a funkciónak az időzítését tapasztalati úton határozták meg, és valószínűleg hibákat fog mutatni a hosszabb impulzusoknál. 10 mikroszekundumtól 3 percig terjedő impulzust lehet beállítani.
Szintaxis
pulseIn(pin, érték)
pulseIn(pin, érték, időkorlát)
paraméterek
pin: annak lábnak a száma, amelyen az impulzust le szeretné mérni. Megengedett adattípusok: int.
érték: az olvasandó impulzus típusa: vagy HIGH (magas), vagy LOW (alacsony). Megengedett adattípusok: int.
időtúllépés (opcionális): a maximális impulzus hossza, amit meg akarunk mérni. Alapértelmezetten 1 másodperc. Engedélyezett adattípusok: unsigned long.
Eredmény
Az impulzus hossza (mikrosekundumokban) vagy 0, ha az impulzus nem ér véget az időkorlát előtt. Adattípus: unsigned long.
Példaprogram
A példa a 7. lábon mért impulzus hosszát kiírja a soros porton.