Kezdőoldal » Számítástechnika » Programozás » Arduino-val szeretnék fordulat...

Arduino-val szeretnék fordulatszámot mérni 0-120 ford/min tartományban hall szenzor modullal és mágnessel. Ismertek rá valamilyen tutorialt, leírást, ami alapján el tudok indulni?

Figyelt kérdés

Ezzel a hall szenzor modullal:

[link]



2020. máj. 31. 21:40
 1/4 anonim ***** válasza:
63%

Mennyi tapasztalatod van hozzá?

Nézd meg egy példában, hogyan kell kezelni a hall szenzort, aztán rakj össze egy számlálót a kódban, és kb készen is vagy vele.

2020. jún. 1. 00:26
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:
Nem sok tapasztalatom van vele, ledvillogtatásokat csináltam, lcd kijelzőre írattam ki potméterállást százalékosan, illetve egy szivattyú relés vezérlését 3 db szintkapcsoló különböző állásától függően. Szóval ilyen egyszerűbbeket. azért lenne jó valami, ami végig vezet, hogy nagy vonalakban hogy kellene ennek a programnak kinéznie.
2020. jún. 1. 10:17
 3/4 anonim ***** válasza:
100%

Bruhhh. Az a gázos, hogy még rendes leírást sem találok ennek a hardvernek a kommunikációs módjáról. Utalás van rá, hogy simán 0 vagy 1 jelet ad le GPIO-jelleggel aszinkron módon, de nem igazán látom át, hogy akkor mit lehet azzal kezdeni.

De tételezzük fel, hogy igazam van abban, hogy hogyan működik:

Simán mágnest lát, vagy nem lát mágnest, és ez alapján 0 vagy 1.

Indítani kéne egy taszkot, ami mondjuk 5 másodpercenként fut le. Ez a taszk fogja egy integer változó értékét olvasni (ebben tároljuk, hogy hány pozitív érzékelés volt), majd 0-zuk (minden futáskor, azaz 5 másodpercenként). A két értékből szorzás-osztás segítségével megkapod a fordulatszámot.

A nehezebb rész: hogyan adjunk hozzá egy változóhoz egyet, amikor van valami érték.

Én úgy gondolom, hogy inicializálnod kéne egy sztandard gpio drivert, ami nem csinál nagyon semmit. Beállítod, hogy a megadott GPIO porton fogadjon interruptot. Ez az interrupt az az esemény, amikor 1-be lép az eszköz. Azaz szakszóval mondva (mivel valószínűleg az arduino könyvtárban is így találod meg) Rising Edge interrupt figyelését kell beállítanod (azaz amikor 0-ból 1-be vált, azaz felfutó él). Ezen felül beállítasz egy interrupt-kezelő függvényt is, ami nem csinál mást, csak a globális int változód értékét megnöveli eggyel.

Remélem ezzel tudsz valamit kezdeni így, konkrét arduino kódom nincs, de a módszer az ez. Ha valami nem világos, írj rám.

2020. jún. 1. 22:27
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:
100%

#2 vagyok

ezt találtam segítségként:

[link]


Itt a rising interruptot kell a pinre beállítani, amire kötötted a szenzort.

Példakód a linken. A kezelő függvényben meg növeled a számlálót.

2020. jún. 1. 22:36
Hasznos számodra ez a válasz?

További kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!