Ultrasonic måttband (6 / 13 steg)

Steg 6: Konfigurera PIC som en I²C slav

Konfigurera modulen MSSP av PIC12LF1840T39A
I vårt fall, kommer att vi behöva konfigurera PIC12LF1840T39A att fungera som en slav enhet. Första, som måste att göra, är att konfigurera modulen MSSP. Databladet beskriver proceduren i detalj, liksom transaktioner.

1. starta bit upptäcks.
2. S bit i SSP1STAT är inställd; SSP1IF ställs om avbrott på börja upptäcka är aktiverat.
3. matchande adress med R/W lite klart tas emot.
4. slaven drar SDA låg skicka en ACK till befälhavaren och anger SSP1IF biten.
5. mjukvara rensar SSP1IF lite.
6. programvara läser fick adress från SSP1BUF clearing flaggan BF.
7. om SEN = 1; Slav programvara anger CKP biten att släppa raden SCL.
8. befälhavaren stämplar ut en databyte.
9. slav enheter SDA låg skicka en ACK till befälhavaren och anger SSP1IF biten.
10. mjukvara rensar SSP1IF.
11. programvara läser den mottagna byte från SSP1BUF clearing BF.
12. steg 8-12 är upprepas för alla mottagna byte från Master.
13. herre skickar Stop skick, inställningen P bit av SSP1STAT och bussen går Idle.

Låt oss börja skriva vårt program. Åt sidan av vår vanliga konfigurationer, som oscillator konfiguration, vi måste ge värden till de MSSP register:

SSP1STAT = 0X80
1 = slew rate reglaget inaktiverad för Standard hastighet läge (100 kHz och 1 MHz)
0 = inaktivera SMBus särskilda ingångar
0 = indikerar att sista byte tas emot eller överförs var adress
0 = stopp bitar upptäcktes inte senast
0 = start bit inte upptäcktes senast
0 = skriva
0 = adress behöver inte uppdateras
0 = data överför komplett (inte inkluderar de ACK och stopp bitarna), SSP1BUF är tom

SSP1CON1 = 0X26
0 = ingen kollision
0 = inget spill
1 = gör det möjligt för den seriella porten och konfigurerar SDA och SCL stiften som källa för seriell port stiften
1 = inaktivera klocka
0110 = I2C slav-läge, 7-bitars adress

SSP1CON2 = 0X00
0 = allmänna samtal adress inaktiveras
0 = kvittering mottogs
0 = kvittering
0 = kvittering sekvens Idle
0 = få tomgång
0 = stoppvillkor Idle
0 = upprepade starta skick Idle
0 = klocka stretching är inaktiverad

SSP1ADD = 0X88
1000100 = 7-bitars slavadress
0 = används inte

SSP1MSK = 0X0F
Slav-adressmaskning, inte leta efter matchen i de första fyra bitarna

Så är dessa inställningarna måste vi tillämpa vår pic att göra det arbete som vi förväntar oss. Allt detta går in i initieringen rutin, innan vår oändlig loop.
När detta är gjort, måste vi skriva våra skriva, läsa, erkänna, negativa erkänna, tomgång, starta och stoppa rutiner. Det är alltid en trevlig sak att bygga något från grunden, men om någon arbetat med I²C innan, och redan har hans favorit/optimerade rutiner - använda bara de. Jag följde instruktionerna från databladet, även om jag redan hade skrivit I²C funktioner ett tag sedan. Jag började från scratch för att skapa den instructable.

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...