Ultrasonic måttband (11 / 13 steg)

Steg 11: Några ord om SPI protokollet och dess position i detta projekt



Kort beskrivning av SPI-protokollet
Ett SPI (Serial perifera Interface) buss erbjuder dubbelriktad kommunikation mellan två enheter. Liknar det tidigare använda I²C protokollet, även detta är Master/Slave baserat. Det kallas ofta fyra wire interface; ett SPI buss används dock ofta 3, 5, 6 eller ännu mer sladdar för att kommunicera. SPI bussen kan utökas genom att lägga till slavar till det: deras MOSI, MISO, SCLK stiften kopplas ihop, slave select pin måste dras separat. Slave select PIN-koden för en SPI slav är som slav adress byten ordningsföljd för en I²C enhet.

Vanligtvis tar det 8 klockor att slutföra en dataöverföring. Medan master enheten skickar lite till slav (på raden MOSI), sänder slav lite till master (MISO linje). Denna överföring synkroniseras av klocksignalen på SCLK net. Frekvensen av denna klocksignal kan gå upp till tiotals i MHz.

SPI protokollet och PIC12LF1840T39A
Kärnan i en PIC SPI är modul SPIxSR skiftregister, övergången sker med varje klocksignal på SCLK stift. Liknar andra seriella kringutrustning, även detta är dubbel buffrat, SSP1SR innehåll inte kan skrivas, eller läsa direkt. De uppgifter som behövs skickas måste skrivas in i SSP1BUF, detta fungerar som ett transmit register på skriva. Under överföringen data laddas automatiskt i SSP1SR och är klockat härifrån.
Mottagning sker igen via den interna skiftregister. När 8 bitar är klockade in i SSP1SR, byten är laddad LundaEkonomernas SSP1BUF, användaren kan läsa den därifrån. Den här gången, agerade SSPBUF ta emot register.
SPI moduler byggs i bilder kan arbeta upp till 10 MHz. I vårt fall, kommer att vi använda ~ 10 KHz.

Till vår stora sorg, är SPI och I²C linjer multiplexed till samma stift. Detta innebär, måste vi bit-bang en av dem. Jag skrev några rutiner för en annan instructable till mig, jag kopierade den till denna processor, men drabbades vissa svårigheter, så jag skrev dem igen, denna gång utan några avbrott involverade.
Eftersom jag använder bit slog SPI, jag kommer inte riktigt gå in på Detaljer om det. Snarare ska jag fokusera på analysera MAX7219 databladet för att se vad jag har att lägga på stiften det fungerar!
Här är en bild från MAX7219 databladet:

Du kan se hur raderna måste växlas, eftersom tiden går. Det är precis vad min signaler måste se ut på ett scope, när jag är klar. Titta på kodexemplet och analysera vad som står där, ser du hur det fungerar för att generera lite mönster vi behöver.

Detta kan återanvändas, du bara behöver ändra den #define-s i huvudfilen eller varhelst du placerat dem. Jag har ett avbrott driven version också, men jag fik befria för den, eftersom jag om detta var skyldig för min icke-arbetande display. Mer sistnämnd vände det displayen var på det översta lagret i stället för det understa lagret - detta gav mig huvudvärk. Men då jag redan rullade över till dröjsmål-baserade SPI bit-bang algoritm och inte ville byta tillbaka.

När koden du skrev genererar exakt vågformen du förväntar sig att generera, du kan gå vidare för att skicka kommandon till din skärm! Det finns många sätt att testa din algoritm, det finns simulator, analysatorer, scope som kan hjälpa dig med detta.
Detta är en enda ord överföring, har beskurna ut och zoomas från nästa bild med utbytet av uppgifter

Se Steg
Relaterade Ämnen

DIY Digital måttband

Hej allaIdag hoppas jag att lära dig allt om ultraljudssensorer och förhoppningsvis i slutet har du en trevlig liten digital måttband egen att använda som du vänligen.Njut avSteg 1: Reservdelslista Detta är min andra version av detta projekt så om du...

Digital ultraljud måttband

Detta instructable visar hur man bygger ett digitial måttband med en HC - SR04 ultraljud avstånd sensor och en Arduino Pro Mini. Detta var inspirerad av elecronics för alla är instructable som kan hittas här.Jag har angett detta i Tech tävlingen så V...

433 MHz måttband antenn-passar UHF sändare spårning!

Detta Instructable avser design & utvärdering av en enkel måttband baserat 433 MHz 3 element Yagi antenn. En effektiv mottagare gjordes genom att "övertala" en ~ US$ 4 Dorji 433 MHz be (amplitud Shift Keying) data modul till analoga signalen...

Arduino Ultrasonic Sensor

Detta är exempel att använda ultrasonic sensor (HC-SR04) i arduino.Steg 1: Del lista:Arduino UNO R3 styrelseHC-SR04 Ultrasonic SensorRöd LEDGrön LED560 ohm (grön, blå, brun, guld) motståndHalfBreadboardsladdarSteg 2: Ansluta komponenterna Steg 3: Skr...

Arduino - Ultrasonic Sensor med lysdioder och Summer

Hi guys detta är min första tutorial, jag har precis börjat för några månader sedan lära sig elektronik (tidigare jag har bara visste hur man programmerar i C och Python). När jag avslutat projektet (tog mig ca 5 timmar eller något) har jag beslutat...

Distansera mätningen och hinder detektering med NXP 89v51rd2fn och ultrasonic sensor HC-SR04.

Alla använder arduino uno eller mega att göra projekt som de är lätt att använda och koden för arduino är lätt tillgängliga på arduino forum och ingen använder atmel, philips eller andra microcontroller för att göra projekt som kodning är ganska svår...

300-fots Pocket måttband

hur många 300 fot måttband passar i din ficka och kostar under $2?Jag hade en mycket trevlig, något stor, öppen rulle-typ 300 fot inspektörernas måttband som fungerade bra tills en dag det sår roligt och jag tillbringade ett par fruktlösa timmar förs...

Metal bältesklipp (för måttband) - gjorde @TechShop!

Måttband är dyrt dessa dagar, speciellt de med bälte klipp.Jag fick en liten från en järnaffär och tänkte jag skulle göra en självObs: Stål var förmodligen inte det bästa materialet för MT sig var aluminium.I framtiden kommer jag också använda en län...

Ultrasonic skala

I detta projekt guidar jag dig hur man gör en digital skala med hjälp av Arduino uno och några andra objektDetta är en mycket lätt att projektetSteg 1: Objekt krävs 1. Arduino uno2. ultrasonic sensor3. LCD-skärm4. par hoppare ledningar5. skärbrädaSte...

Hur man läser ett måttband

Lära sig att läsa ett måttband är en viktig färdighet att lära sig, oavsett om du gör hem projekt, undervisning dina barn eller elever, eller vill få in hantverk i vissa kapacitet. Vi här på Construct-Ed (e-lärande för konstruktion och handel färdigh...

Där emellan måttband

Har du någonsin kämpat för att noggrant mäta mellan två ytor?Jag har nyligen upp-cykling en gammal hyllor enhet och behövs för att mäta mellan bottnar i två hus i hyllorna att skära i avdelare. [Höljen är spåren som är skuren i trä plankor att tillåt...

Ultrasonic avståndsmätare med LCD-display på Arduino UNO

I denna tutorial kommer vi att se en annan användning av modulen HC-SR04 ultraljud. Denna modul används ofta på robotar och leksaksbilar för att hitta hinder men det kan användas för att mäta avstånd också.Avstånd som mäts av HC-SR04 visas på vår äls...

Kåda måttband klockan

Vi har velat göra en klocka för länge nu. Vi har också velat prova formning och gjutning ett objekt som var lite större och mer ingående så vi kunde verkligen testa gränserna för med Famowood glasyr päls som en gjutning harts. Måttband klockan är res...

Arduino: HC-SR04 Ultrasonic Sensor

Syfte:Utnyttja en HC-SR04 ultrasonic sensor med en Arduino att mäta distansera av något föremål.Den grundläggande idén bakom en ultrasonic sensor:En ultrasonic sensor utlöser en signal om att färdas i en rak bana, och sedan om utlösta signalen stöter...

Måttband antennen

letar du efter ett lätt barn vänliga projekt? Letar du efter ett projekt för att uppmuntra en ny generation av skinka radiooperatören?Detta projekt är ovanligt, så det är något som säkert kommer att fånga uppmärksamheten hos alla, särskilt barn. Det...

Ultrasonic avståndsmätare med en ATtiny85 (med sköld)

Jag är här att visa dig hur du använder en HC-SR04 ultraljud Range Finder med en ATtiny85 samt programmering av ATtiny85 med den underbara sköld som randofo skapat.Förteckning över material:ATtiny85 programmering bibliotekArduino UnoHC-SR04 ultraljud...

Hinder Avoider med HC-SR04 Ultrasonic Sensor

ÖversiktDetta projekt använder en HC-SR04 Ultrasonic sensor och en Arduino att mäta avståndet mellan användaren och ett hinder och orsaka en LED, Summer och motor till flash, piper och vibrerar respektive att varna användaren att han närmar sig ett h...

Kul counter med Bluetooth och Ultrasonic Sensor

Hej, vill jag visa ett enkelt sätt att räkna något och Visa det på ditt system. Här använder vi Bluetooth så du kan visa resultaten på en större skärm (i stället för LCD) trådlöst i realtid. För dem obekanta med node.js, inte oro har vi inkluderat al...

Hur gränssnittet Ultrasonic Sensor (HCSR04) till arduino uno

Ultraljudssensorer är mycket effektivare än andra hinder detektering sensorer. Ultraljudssensorer relativt billig och också de ultraljud utsläppsländerna och detektorer är portabla utan behov av komplicerade kretsar. Realtid stöd och konstgjorda visi...