USB-inomhus/utomhus termometer (eller "Min första USB-enhet") (2 / 4 steg)

Steg 2: Firmware

Den fasta programvaran används klassen CDC USB för att emulera en seriell port. Enheten visas som en virtuell com-port på en PC. Firmware är indelade i tre sektioner:

1. USB-drivrutinen hand tar om enumerating enheten på en dator och efterlikna en COM-port.
2. en rutin växelvis läser temperatur värdena och omvandlar dem till ett läsbart format. Gör båda dessa operationer på en gång orsakade i USB-enheten lös anslutning PC (tid hogging). Konvertera den flytande punkten värden till en sträng i tjänst cykeln efter konverteringen uppklarat anslutning problem.*
3. Slutligen, en huvudsaklig rutin tar emot byte som skickats från PC och returnerar de önskade mått. Flera åtgärder är avgränsade med kommatecken, linjer avslutas med en null tecken (hex 0x00)
Demonstration firmware accepterar följa kommandon:
HEX värde returnerar
0x00 inomhus temperatur (ombord sensor)
0x01 utomhustemperatur (externa sidhuvud)
0x02 båda temperaturer (kommaseparerade)

Temperaturen beräknas baserat på 2.5 volt referens och mikrochip TC1047A offset och lutning. Andra temperaturgivare kan ha olika egenskaper. TC1047A databladet finns här:

http://WW1.microchip.com/downloads/en/DeviceDoc/21498c.pdf

Firmware är skriven i MPLAB med demonstration PIC C18 kompilatorn.

http://www.microchip.com/Stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010014&part=SW006011

Den faktiska USB firmware kommer från Microchip. Den ursprungliga miljön finns här:

http://www.microchip.com/Stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en021631

Redigera firmware: extrahera hela katalogstrukturen i källan till din rotkatalog (c:\MCHPFSUSB). Du kan sedan ladda arbetsytefilen i MPLAB.

* Flötet till sträng rutin är en resurs galt. För att komma runt anslutningsproblemet USB kallas rutin på olika punkter i rutinen float2string. Detta skulle bäst åtgärdas av service USB kringutrustning på ett avbrott. Jag Använd hacket så att firmware bodde så nära referensversion som möjligt.

Se Steg
Relaterade Ämnen

VFD klockan/Nixie inomhus/utomhus termometer Retro passar Linden mantel klockan

Jag beslöt att göra något jag inte hade sett ännu och kombinerade (2) separat elektronik med (2) olika typer vakuumrör visar för att göra denna unika display. Nixie rör för termometer och VFD (vacuum flouresent display) för klockan.Steg 1: leveranser...

Trådlös inomhus & utomhus termometer

Jag skulle vilja presentera dig för en av mina intressanta projekt. Det är en trådlös termometer som mäter temperaturen inomhus och utomhus. Enheten består av två delar. En är en sändare som innehåller en digital temperaturgivare och en sändarmodul....

Trädgårdsarbete / återvinning-inomhus/utomhus: Glas & plast 2Bottle-trädgård enhet

som: duVad: Glas & plast flaska-Garden enhetVarför: att återvinning/återanvändning ditt glas och plastflaskor.Hur: Klicka på "Nästa steg".Dessa är idealiska för örter som basilika och gräslök. De upptar inte så mycket utrymme och kan placera...

Min första Sugru hacka: USB blixt driva

sååå... DAG 11 FEB 20121400, jag fick min första Sugru pris från den December skägg-Off. Jag var så upphetsad att jag inte kunde hålla tillbaka... jag var tvungen att hacka något... mitt val? En enkel walmart Sandisk Flash Drive.I detta "vänners komp...

Cool USB-enhet modifiering (min första Instructable)

detta är en cool ändring med hjälp av en packe av kort, lite skum och naturligtvis en USB-enhet. Även om det är lite klumpig, kommer dina kamrater fortfarande tror att det är ganska cool.Steg 1: Samla material (lätt peasy citron squeezy) Detta är den...

Inomhus / utomhus Bowtie antenn

Jag har alltid varit fascinerad med standard bowtie antennen, och fann att de hade bra egenskaper. så när jag var på en RadioShack ett tag sedan och såg 2 av dem på sträckbänken för $5 var, jag kunde inte hjälpa mig själv och lagt 2 till min samling...

Min första gunghäst

Detta projekt var inspirerad av Xmas säsongen, en lekfull tyke, en design jag hade sett i kanadensiska Woodworking magazine av Ryan Shervill och kanske lite av den nuvarande träbearbetning tävlingen på Instructables.Jag gillar att bygga saker utan at...

Hur till stöveln Fönstren 7 i en USB-enhet (Windows PE LiveCD eller LiveUSB)

Windows-förinstallationsmiljön (kallas även Windows PE och WinPE) är en lätt version av Windowsanvänds för utbyggnaden av datorer, arbetsstationer och servrar eller felsöka ett operativsystem när det är offline. Det är avsett att ersätta MS-DOS start...

Göra en inomhus/utomhus boomerang

Detta ursprungligen utformad för att vara inomhus, men kommer att arbeta utomhus.Göra en inomhus/utomhus boomerang som faktiskt kommer tillbaka.Jag köpte nyligen en tre bevingade bumerang, det är den enda boomerang som jag har boughten som faktiskt k...

Bygga min första basgitarr

Inledning: följande är min första kompletta basgitarr bygga. Jag lärde mig mycket, gjort en massa misstag, läsa mycket, och ibland helt enkelt gissat på hur man gör vissa saker. Projektet tog plats över en sju månaders process på helgerna. Jag börjad...

Hur jag gjorde min första kniv, Bushcraft stil.

This is all new for me, a few times over. Detta blir min första Instructable och den första kniv jag har gjort. Hoppas allt blir bra. ;-)Först av allt, har jag läst många saker på internet, i böcker, och sett många fler filmer i ämnet av kniv. Jag tv...

Min första kniv

detta är min första kniv att göra Instructable. Det var min första rätt kniv, dvs gjorda av riktiga kolstål i stället för filer och skrot. Jag designade det som en gåva till min bästa vän, sin input och min design. Bladet är strax under 4,5" och alld...

BAYMAX: Min första Python projekt

Jag har haft detta på / av-förhållande med lärande att koden i flera år (ok kanske tio år). Jag har dabbled i detta och att plocka upp några Java script här, HTML, klipper av VBA och praktiska kunskaper om alla manor industriell logik kontroller. Det...

Min första självbalanserande Robot Diy lätt Under 25 år

Detta är min första självbalanserande robot och jag söker på internet efter andra självbalanserande projekt och jag designar min gruva robot att vara enkel och billig.I denna instructabile jag whill berätta dig steg för steg hur man bygger din robot...

Min första Synth

kid synth kom till som jag satt böjd över en tangled röra av synt ledningar. Min vän Oliver kom över, bedöma situationen och sade, "Du vet att du har lyckats att göra världens mest komplicerade barnleksak." Min första reaktion var att grymta åt...

Min första Laser projekt på Techshop - jag gjorde det på Techshop, Chandler

Wow, jag hade min första klass på Techshop. Fantastiskt, en dröm att ha en Techshop i närheten. Lasern SBU klass var kul och vi ingraverat dessa hund taggar mycket snabbt och enkelt.Filerna skapas i Adobe Illustrator eller Corel draw och sedan trycka...

DORM ROOM GITARR (min första egna gitarr!)

IntroduktionJag är en sophomore teknologifostran undergrad på college of New Jersey. I senaste höst jag tog en inledande material kurs och beslutade att driva mina kunskaper och göra en spelbar gitarr för mitt sista projekt. Det var en sporadisk besl...

Min första egna iOS app - Gas av nummer - en gas mätarställning kalkylator

jag köpte min första iPad 2 år sedan. Ett år senare köpte jag en iPad2 och en lite mer sistnämnd en iPod touch som min "iPad att gå" (det är bara mer fickan).Efter att ha hämtat ungefär 70 apps över tid (fri och betalas apps), fann jag att några...

Snabb och lätt inomhus/utomhus Ant Poison

detta är min första publicerade instructable, så vara trevligt! (snälla) [OBS: Jag hävdar inte ansvar för något som kan hända från detta (aka, din myra gård att komma ut och dör.)] Detta är hur man gör en myra gift det är unge vänlig och sällskapsdju...