60 nap alatt Arduino #25-#26 - Megszakítás

A "60 nap alatt Arduino" tanfolyam házi feladatai és közvetlen témái
Avatar
Robert
Elektronbűvölő
Hozzászólások: 9870
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: 60 nap alatt Arduino #25-#26 - Megszakítás

HozzászólásSzerző: Robert » 2014. március 28. péntek, 8:54

A millis() a TIMER megszakítást használ_ná_ mnegszakításban. Abban lépked_ne_ előre.

Ez a megszakításban késlelteés az Arduinoban el van b....(altázva).

majgomboc
Újonc
Újonc
Hozzászólások: 1
Csatlakozott: 2014. november 1. szombat, 8:56

Re: 60 nap alatt Arduino #25-#26 - Megszakítás

HozzászólásSzerző: majgomboc » 2014. november 1. szombat, 9:02

Sziasztok!

Az okke hogy lenyomom a gombot es megszakitasra kerul a program. De mi van ha egy analog ertekhez akarnam csatolni. Pl. Egy homerseklet erzekelo amit pl az A0-ra kotok, es azt szeretnem ha annak erteke meghaladja az adott erteket akkor mindent megszakitva azonnal hajtson vegre egy programot. Amiket eddig lattam ott igazabol csak a LOW es HIGH valtozasokat tudtuk figyelni. Amennyiben amit alapbol szeretnek nem megoldhato, van e javaslat hogy ilyenkor mi az az eljaras amit tudnek alkalmazni. Elore is kosz a valaszokat (optimista) :)

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3228
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

Re: 60 nap alatt Arduino #25-#26 - Megszakítás

HozzászólásSzerző: kapu48 » 2014. november 18. kedd, 11:31

Erre csak valamilyen külső HW megoldás van.

Ha fix feszültség határértéken akarsz megszakítást?
Pl.: A DIÓDA 0.7V-on kapcsol. Annyit kötsz sorba, ami megközelíti a megkívánt értéket.
http://w3.enternet.hu/furedi/modul/hw/EC1_Dioda.pdf

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9870
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: 60 nap alatt Arduino #25-#26 - Megszakítás

HozzászólásSzerző: Robert » 2014. november 18. kedd, 12:47

Analóg méréshez le/felfutó él?:)

Amúgy az alaóg mérés ideje ~0,1 msec. Azaz ez csak a mérés!
INTre alkalmatlan.

Javaslat:
1, Timerrel időként mérsz. Ha mért érték>elvárt -> a program végrehajtja a vészfunkciót.
2, AIN0/AIN1. Ez egy komparátor 2 bemenete. Az egyiken a hőmérő (ellenállásosztóval), a másikon a potméter. Ha a hőmérséklet megszalad, az AIN kimenet átbillen (fel/lefutó él).
3, ADC mérés indít.
Mérés végén INT jelet ad. Ez indítja, hogy valamit tegyél az eredménnyel....

Ezek jók INT alapúnak?


Kérdés: hőmérsékletmérés esetén kell az azonnali (<1usec) beavatkozás?
10-100-1000 msec is szerintem sokszor elég gyakori a mérésre.
Ha automatőn menjen, akkor a milis() függvényt meghackelni, hogy minden 10-100 lefutáskor csináljon hőmérést....


Vissza: “60 nap alatt Arduino - Házi feladatok”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég