Förvandla din Arduino till en magnetisk kortläsare! (6 / 9 steg)

Steg 6: Identifiera kortet lämnar läsaren



Upptäcker när ett kort har gått

Formellt, man skulle prova /CARD_PRESENT stiftet för att se om det har gått hög igen, men vi behöver inte någon steenkin' / CARD_PRESENT tar upp en annan I/O port. Det är där dessa timers kommer in.

Varje gång avbrottet kallas eftersom vi har upptäckt en fallande kant på /STROBE, vi stoppa en timer, rensa timer värdet och börja läsa. När vi har avslutat behandlingen starta vi timern igen. Upprepa annons nauseum, eller tills timern når ett visst värde. Det betyder att senaste avbrottet har kallats och inga mer data har kommit med, så vi antar att det är det och börja bearbeta de data vi har samlat in.

För timers använder vi TIMER1, dvs 16-bitars timern. Jag använder en 16 Mhz resonator externt till min AVR. Om du använder en arduino, då är du förmodligen, alltför. Så, jag har valt en prescaler värdet av 1024 vilket innebär att varje (16,000,000 / 1024) gånger timern ökar värdet. Det vill säga, kommer att det "kryssa" 15,625 gånger i sekunden. /CARD_PRESENT går hög om kortet har lämnat läsaren om 150ms efter den senaste data lite. Att veta detta, jag bara bestämde mig att checka om varje 1/4 sekund. Som ser ut ungefär så här:

(((F_CPU) / PRESCALER) / 4)

som visar sig vara cirka 3900. Så, när räknaren timer TCNT1 når 3900, då vet jag det har varit ca 300 MS och kan jag ganska säkert dra slutsatsen att kortet har lämnat läsaren. Enkelt.

#define PRESCALER 1024 #define CHECK_TIME ((F_CPU / PRESCALER) / 4) / / 250 ms #define StartTimer() BSET(TCCR1B,CS10), BSET(TCCR1B,CS12) / / 1024 prescaler #define StopTimer() BCLR(TCCR1B,CS10), BCLR (TCCR1B, CS12) #define ClearTimer() (TCNT1 = 0)

Du har sett i ISR där timern startas, stoppas och rensat på varje avbrott. Nu, i huvudsak loop vi bara kolla att se om räknaren timer har nått våra målvärde, och i så fall börja behandling.

för (;) {om (TCNT1 > = CHECK_TIME) {
StopTimer();
ClearTimer();
ProcessData();
ReadData();
IDX = 0;
bit = 6;
bDataPresent = 0;
MEMSET (& buff, 0, MAX_BUFF_SZ1);
}
}

Nu är det säkert att behandla uppgifterna.

Se Steg
Relaterade Ämnen

Arduinolyzer.js: Förvandla din Arduino till en logik Analyzer

När jag jobbade på Intel som hårdvara designer, använde jag en logik analyzer för felsökning mikroprocessorer och chipsets. En logik analyzer är en maskin som ansluter till din krets och omvandlar det som händer i kretsen i en vågform på en skärm. De...

Förvandla din Arduino till en 4 röst wavetable synth med endast ett fåtal komponenter...

Flera synthesizer projekt har gjorts för Arduino, men få har kunnat utnyttja den fulla kraften av Arduino processorn. DZL från GeekPhysical skrev en 4 röst wavetable synthesizer som är en av de mer avancerade mjukvara baserad synthar för Arduino. Det...

ArduFlake: Förvandla din Arduino till den bästa gåvan av alla!

Vänligen rösta på mig i tävlingen Holiday Gift och gör det glöda tävling!Först, detta började som en gåva, och inte en instructable. Så snälla ursäkta vissa hand waving här och där som jag inte har några bilder av etsningen och borrning delar.För det...

Kompilera om (Rename) och Flash HIDUINO med ISP att förvandla din Arduino till en HID (usb-midi) enhet

HIDUINO är en firmware (kod) gjorda för att köras på mikrokontroller Atmega8u2 (Arduino UNO Rev 2- och tidigare- eller Mega2560) och Atmega16u2 (Arduino UNO Rev3).Dessa är de som ansvarar för att få datorn och styrelser att prata med varandra. När de...

Förvandla din Arduino in an ISP

lära sig att förvandla din Arduino till en AVR i System programmerare. Detta gör att du kan bränna bootloaders på nya marker eller programmet AVRs utan en bootloader.Steg 1: materialFör att börja du behöver:* Arduino (jag kommer att använda Uno)* AVR...

Förvandla din mollskinn till en haj dinosaurie monster med 3D tryckta delar

Detta projekt ingår i ett kort och roligt samarbete med kollega Pier 9 sänds konstnärer i Residence Bernie Lubell, Maddy Maxey och Andrew Thurlow. I början av vår hemvist fick vi alla dessa coola lilla bärbara datorer. För ett litet projekt beslutat...

Titta på TV-kanaler från hela världen gratis på ditt hem TV och förvandla din TV till en billig hem-PC

Med hjälp av en $50 Android Mini PC (hittas via Amazon eller eBay), ex-pats eller alla som vill berika sina kunskaper i främmande språk titta på utländska TV-stationer på deras hem TV. Android Mini PC ansluter till en HDTV uppsättning, och med tilläg...

Hur till: ansluta din Arduino till Internet som en webbserver

SAKERNAS INTERNET... < kö blixtar och åska >Det är vad alla coola barnen gör dessa dagar. Varför ska de ha allt roligt? Låt oss ställa in en Arduino som en webbserver som vem som helst, var som helst kan visa. Varför skulle vi göra en sådan sak? Möj...

Förvandla din konst till en Quilt

Konst! Tyg!Jag tror ett sovrum är så mycket mer mysigt när det är anpassat till din specifika smak och preferenser. Visst, det är billigare att köpa ett täcke från en stor låda butik. Men att skapa ett vackert täcke för att pryda din säng är ett säke...

Förvandla din telefon till en svart ljus hacka

Förvandla din telefon till en svart ljus hacka. Dess super lätt att göra!Allt som krävs är en smartphone med en ljus, tre bitar av små band och två sharpies. En blå, en lila.Ta den första bit tejp, placera den över kameran flash på baksidan av telefo...

Förvandla din Tablesaw till en rikthyvel

Det finns några verktyg som kan vara svårt att komma med, antingen de är för dyra, svårt att hitta används, eller bara inte som vanligt för DIY'ers. Jag har hittat att lamellfräsar är bland dessa verktyg.Lyckligtvis finns det ett enkelt sätt att förv...

Vill du förvandla dina foton till en skulptur?

Kreativa människor älskar att göra nya saker och att föreställa sig nya prylar.Förresten, nu har vi en hel del teknik som kan hjälpa oss att utveckla miljontals coola saker. Jag gillar bilder och Selfies väldigt mycket och jag skulle älska att ha dem...

Förvandla din Arduino Uno till en USB-HID-Mididevice

medan bygga en Arduino Uno baserat Midi-Controller för Ableton Live, jag kom över HIDUINO projektet (http://code.google.com/p/hiduino/). Det kan du vända din Arduino Uno (eller någon annan enhet med en AVR-USB-chipset som 8u2) i en förarlös HID/MIDI-...

SensoDuino: Förvandla din Android till ett trådlösa sensorer nav för Arduino

Uppdateringar23 nov 2013: SensoDuino 0.160 får ett ansikte kvar.19 nov. 2031: yttrande: fantastiska synergin mellan Arduino & Android.19 nov 2013: SensoDuino 0.159 är ute. Sensorer som stöder Android telefon datum (y, m, d) och tid (h, m, s). Stöd fö...

Förvandla din laserpekare till en "spot-flash light" :)

Hi... i denna ultra lätt instructable kommer jag visa dig, varm för att ändra din laserpekare till en (plats) flash lätt.Delar du behöver:1. laserpekare2. kameralinsen från små "Spion" kamera3. limma pistol eller tejpOch det är det :)... passar...

Förvandla din Doodles till skatter!

Någonsin vill lägga din doodles på något rad men inte kunde riktigt lista ut? Tja, Techshop har fått lazer balkar och saker att göra dessa doodle drömmar!De saker som du behöver för detta projekt:En TechShop medlemskapEn doodleBalsa eller annat virke...

Förvandla din Wii till en webbserver

Steg 1: Hämta WWS AppInnan vi börjar Observera att din wii måste ha homebrew kanalen installerat för att detta ska fungera. (Om du vill ha mig att jag kan göra en instructable på hur man gör detta)1. gå till http://wiibrew.org/wiki/Wii_Web_Server och...

Förvandla din telefon till en Robot

Att införa PhoneBOT!En billig, enkel och snabb metod för att konvertera en Android-telefon till en kan programmeras om robot. Ingen ytterligare hårdvara (mikro-styrenheter, motor förare, etc.) krävs!Du kommer att kunna köra en färdiga PhoneBOT från d...

Hur du förvandla dina foton till fantastiska kylskåpsmagneter!

Tur dina mest älskade bilder till fab kylskåpsmagneter i minuter med denna snabba tre steg hur guide.I denna video:Magneter visitkort - limmet fram & magnetiska på baksidan...