Mini Fémkereső Avrből..
Mini Fémkereső Avrből..
Mini Fémkereső Avrből..
http://www.micro-examples.com/public/mi ... ector.html
Na ezt viszont meg kéne csinálni avr-bascom-ból...
http://www.micro-examples.com/public/mi ... ector.html
Na ezt viszont meg kéne csinálni avr-bascom-ból...
- nobody_hun
- Bitfaragó
- Hozzászólások: 425
- Csatlakozott: 2005. november 14. hétfő, 7:00
Hevenyészett fordítás a fórumból:
Kód: Egész kijelölése
Az ötlet az, hogy össze kell hasonlítani egy fix órajelet a chip oszcillátora által generált órajellel.
A chip LC oszcillátorról jár. Amikor fémmel közelítesz a tekercshez, az órajel lelassul.
Időalapnak a watchdog-ot használja, aztán N alkalommal LOOP. Ha beköveztekzik a wd reset, akkor megnézi a STATUS TO és PD biteket, amelyek megmondják a reset okát (akárcsak bekapcsoláskor).
"Az IC-k füsttel működnek. Ha kijön belőlük a füst, nem működnek tovább." - ismeretlen szerző
"Az ID:FFFFFF egyenlő az Atmel még nem kiadott processzorával."
"Az ID:FFFFFF egyenlő az Atmel még nem kiadott processzorával."
Resetet meglesheted, hogy mi okozza....
MCURST regiszter megmondja h watchdog vagy mi okozta...
De hogy ebből hogyan lesz fémkereső eredény...
Hacsak az nem, hogy a fém van/nincset tudom megmondani, a közelséget/mennyiséget nem:(.
Azaz, ha a az órajel "gyorsabb" mint a watchdog, akkor a MCURST nem gyújt ki LEDet.
Watchdog legkisebb értéke 10 msec (azt hiszem). Így 10 msecként lehet vizsgálatot csinálni...
MCURST regiszter megmondja h watchdog vagy mi okozta...
De hogy ebből hogyan lesz fémkereső eredény...
Hacsak az nem, hogy a fém van/nincset tudom megmondani, a közelséget/mennyiséget nem:(.
Azaz, ha a az órajel "gyorsabb" mint a watchdog, akkor a MCURST nem gyújt ki LEDet.
Watchdog legkisebb értéke 10 msec (azt hiszem). Így 10 msecként lehet vizsgálatot csinálni...
A prg valami ilyesmi:
$crystal=1000000
config watchdog=20 msec
if mcurst.1=1 then set Led 'ha watchdogreset volt kapcsolja be a LEDet
mcurst=0'resetregiszter törlése
do
waitms 2'ezzel lehet érzékenységet állítani....
reset watchdog
loop
ha közel van a fél, a regés lelassul (több idő telik el, lassabban)
A watchdog _független_ 1 MHz-s órajeről jár...
igy ha a LCkör frekije lassu, akkor a watchdog leketyeg, mielőttreset watchdog-ig jutna a prg...
$crystal=1000000
config watchdog=20 msec
if mcurst.1=1 then set Led 'ha watchdogreset volt kapcsolja be a LEDet
mcurst=0'resetregiszter törlése
do
waitms 2'ezzel lehet érzékenységet állítani....
reset watchdog
loop
ha közel van a fél, a regés lelassul (több idő telik el, lassabban)
A watchdog _független_ 1 MHz-s órajeről jár...
igy ha a LCkör frekije lassu, akkor a watchdog leketyeg, mielőttreset watchdog-ig jutna a prg...