Skalor för folkdiktatur människor (5 / 6 steg)

Steg 5: Koden: full koden

Här tillägga jag fullständig koden som referens. Det skrevs i BascomAVR men det bör vara ganska lätt att översätta det till C eller för arduino. Jag kommentera de flesta stegen men kontakta mig om något är inte klart för dig.

$regfile = "m8def.dat" ' registret fil för atmega8
$crystal = 8000000 ' 8 MHz clockspeed
$baud = 1200 "baudvärde = 1200

"deklaration av variabler
Dim räknas som heltal
Dim syscount som byte
Dim jag som byte
Dim temp som heltal
Dim vikt som heltal
Dim comm(4) som byte
Dim calc(3) som heltal
Dim weightwanted som heltal
Dim weightwantedram som Johnny heltal "lagras i EEPROM
Dim percentplus som byte
Dim percentplusram som Johnny byte "lagras i EEPROM
Dim percentmin som byte
Dim percentminram som Johnny byte "lagras i EEPROM
Dim topvalue som heltal
Dim lowvalue som heltal

"Aliassing stift
Ett Alias Pind.2
B Alias Pind.4
Röd Alias PORTD.5
Gröna Alias PORTD.6
Gul Alias PORTD.7

"Riktning av stiften
Config A = Input
Config B = ingång
Config portd.3 = ingång
Config portd.5 = utgång
Config PORTD.6 = utgång

Config PORTD.7 = utgång

config serialin = buffrat, storlek = 18, bytematch = 10 ' 18 byte buffrade och utlöser avbrott på att få en LF

"inställning av LCD
Config Lcdpin = Pin, Db4 = Portc.3, Db5 = Portc.2, Db6 = Portc.1, Db7 = Portc.0, E = Portc.4, Rs = Portc.5
Config Lcd = 16 x 2
markören bort

' ange vissa stift till 1
Uppsättning B
ställa in pind.2
ställa in pind.3

"konfiguration av externa avbrotten
Config Int0 = stigande
På Int0 Getencoder

Config int1 = fallande
på int1 menyn

Aktivera avbrott
Aktivera Int0
Aktivera int1

CLS "klar skärm

Återställa räkningen
Återställa vikt
Återställa syscount

"huvudloop
göra

Välj ärende syscount "beroende på syscount en skärm kommer att väljas för lcd

waitms 25

CLS "klar skärm

fall 0: "huvudskärmen
weightwanted = weightwantedram ' läser dessa 3 variabler i EEPROM och lagrar dem i globala variabler
percentplus = percentplusram
percentmin = percentminram
Leta upp 1,1 "skriver önskade data till LCD-skärmen
LCD weightwanted; "Gr"
Leta upp 1, 8
LCD "-"; percentmin; " %"
Leta upp 1, 13
LCD "+"; percentplus; " %"
Leta upp 2,1
LCD-vikt; "Gr"
Återställ röda "stängs alla lampor
återställa grön
återställa gul
topvalue = weightwanted * percentplus ' beräkning av alla nödvändiga värden.
topvalue = topvalue / 100
topvalue = weightwanted + topvalue
lowvalue = weightwanted * percentmin
lowvalue = lowvalue / 100
lowvalue = weightwanted - lowvalue
om vikt < = topvalue och vikt > = lowvalue sedan ställa in Green "anger korrekt status-LED
om vikt > topvalue ange sedan gul
om vikt < lowvalue ange sedan röd

fall 1: "setup vikt skärm

Leta upp 1,1
LCD "Setup:"
Leta upp 1,8
LCD "Gewicht"
weightwanted = antal "läser rotary encoder och anger önskad vikt
Leta upp 2,8
LCD-weightwanted

fall 2: "installationsskärmen för överviktiga

Leta upp 1,1
LCD "Setup:"
Leta upp 1,8
LCD "+ %"
percentplus = antal "läser rotary encoder och anger övervikt
Leta upp 2,8
LCD-percentplus

fall 3: ' underviktig Setupskärmen
Leta upp 1,1
LCD "Setup:"
Leta upp 1,8
LCD "-%"
percentmin = antal "läser rotary encoder och anger undervikt
Leta upp 2,8
LCD-percentmin

End markerar

loop "slutet av huvudsakliga slingan

Getencoder: "utlöses av INT0. Läser den roterande rörelse av rotary encoder

waitus 250
Om A = 1 då
Om B = 0 då Incr räkna annat Decr Count
Slut om
GiFr = 64 ' Dämpningstid
Returnera

menyn: "utlöses av INT1. Läser på knappen av rotary encoder

INCR syscount "ökar syscount. Denna variabel används för att bestämma vad skärmen visas
om syscount > 3 då syscount = 0
Välj ärende syscount
fall 0: percentminram = percentmin ' skriver till EEPROM
fall 1: antal = weightwanted
fall 2: weightwantedram = weightwanted ' skriver till EEPROM
count = percentplus
fall 3: percentplusram = percentplus ' skriver till EEPROM
count = percentmin
End markerar

waitms 150
GiFr = 128 ' Dämpningstid

returnera

serial0charmatch: "utlöses av seriell avbrottet
vikt = 0 "återställer variabler
för i = 1 till 3
calc(i) = 0
Nästa

för i = 1 till 18 "läser behövs byte i variabler och dumpar de andra byte för att tömma bufferten
om jag = 9 då comm(1) = inkey()
om jag = 10 då comm(2) = inkey()
om jag = 11 då comm(3) = inkey()
om jag = 12 då comm(4) = inkey()
om jag <> 9 och jag <> 10 och jag <> 11 och jag <> 12 sedan temp = inkey()
Nästa

för i = 1 till 4 ' översätta ascii till dec
om comm(i) > 47 sedan
comm(i) = comm (i)-48
annat
comm(i) = 0
slut om
Nästa

om comm(1) > 0 då calc(1) = comm (1) * 1000 "gör 1 nummer av 4 caracters
om comm(2) > 0 då calc(2) = comm (2) * 100
om comm(3) > 0 då calc(3) = comm (3) * 10
vikt = calc(1) + calc(2)
vikt = vikt + calc(3)
vikt = vikt + comm(4)

returnera
slutet

Se Steg
Relaterade Ämnen

Att visa upp facebook sida inlägg på nyheter foder av människor som gillade sidan

Det är mycket viktigt för Facebook sida ägare att visa deras varje post på nyhetsflödet av människor som gillade deras sidor. Denna video förklarar du att varför dina inlägg inte har nått till någon av dina fans och till utställning upp facebook sida...

Cirkulär uppvisning avbilda människor

Hej människor, detta är en instructable jag skapade för sociala nätverk/Messenger visningsbild, antingen för profil eller grupp visningsbild. Detta är vad jag gör för min klass radgruppen visningsbild. Detta kan användas i några sociala nätverk profi...

Galna viftande uppblåsbar Tube människor

vi har alla sett dem på Family Guy på dessa cheesy lagra grand öppningar och även vid bilhandlare. Denna dräkt är mycket lätt att göra, jag gjorde det från saker jag hade från runt huset. Det är inte bara en rolig kostym men det är den bästa kostym a...

Hålighet förebyggande för fingerfärdighet Challanged människor

karies (aka karies eller hålighet) är den vanligaste sjukdomen i världen. Personer med karies lider av resultaten, inklusive men inte begränsat till smärta, tandlossning, minskad tugga funktion därför dålig kost och infektion. Tandlossning kan också...

3 typer av billiga tycke ringar för alla typer av människor

Det är alltför lätt, vad jag kommer att berätta umaterial som behövsRainbow trådBladetrackbeltett par saxInstant lim2 Ställ in epoxy (fast)en hjärnamänskliga händeren själ!Steg 1: först är för tjej typ mänklippa rainbow ledning efter mätning det runt...

Hur man gör Paracord människor

Hej, jag är Gman. Idag vill jag lära dig hur man gör paracord människor. Tack, jag hoppas du njuta av denna "vänners kompatibla.Steg 1: Samla leveranser För detta instructable behöver du två 2,5 ft längder paracord, ett par bra sax och en tändare.Ste...

En hybrid digitala och fysiska spel för hundar och människor

Som en del av vår interaktion Design Master, för en kurs som heter Play och Ludic interaktion vid Malmö högskola (Sverige) vi byggt en prototyp för ett spel som spelas upp tillsammans med både hundar och människor. Vi ville undersöka hur två olika ar...

5 användbara Lifehacks för skogschic människor

För alla er människor som bara älskar för att vara utomhus, jag har satt ihop en liten lista med användbara hacka till göra det ännu roligare, från att förstöra klådan från ett myggbett till att hålla ditt vatten super kallt, är här 5 hackar bara för...

Magnetiska Paracord människor!

i linje med Duck Tape och WD-40, paracord är en enkel men effektiv kraftpaket av ett rep. De flesta användningar av paracord kretsa kring skosnören, knutar, att göra grepp etc. Och medan det är cool, jag började tänka: "vad kan jag göra med paracord...

Förändra människors skjortor för att passa en hund kroppen

Du skulle inte tror att detta skulle vara för svårt.Och ännu det tog mig flera franken-tröjor att räkna ut exakt var man nypa och tuck konvertera människor kläder till hundkläder.Barnkläder kommer att förmodligen fungera bäst för alla utom de allra s...

LEGO människor monter

Skulle inte du vilja visa upp alla dina små Lego människor? Ordna dem? Har dem titta på dig?Låt oss bygga en monter för dem.Steg 1: Vad du behöverLeveranser:Vissa lövträd – jag använde ek¼" Björk Plywood Sheet-ca 20" av 30"Akryl eller polyk...

LinkIt en - skicka personliga SMS till en grupp människor

Jag kastar en stor fest i några veckor och jag vill ha alla mina vänner att komma. Jag kan inte göra ett inlägg på facebook eftersom jag inte vill slumpmässiga människor jag friended någonstans nära min plats, jag vet många av mina vänner inte kontro...

Skjut regel via vanliga och naturliga Log skalor

Räknestickor som tog män till månen gjordes utan datorer, så dessa instruktioner är baserade på computerless produktion. Det finns fortfarande böcker i existens som innehåller log skalor nödvändiga utan att använda ot datorer.Jag använde aldrig något...

Wire människor Maker

Jag försöker att mentor fyra mitt-school kids i en ung familj och jag försöker att introducera sedan till verkstad verktyg och maker aktiviteter. Min idé är att de blir beslutsfattare och skaparna i stället för konsumenterna. Den äldste sade att han...

Papper människor

här är en charmig, låg tech sätt att roa dig själv under din nästa naturkatastrof, power strömavbrott eller zombie apocalypse. Det kan också arbeta för att hålla små barn tyst underhöll under familj besök här julen.Papper människor är lätt att göra o...

Musikaliska skalor styrelsen

undervisning musikaliska skalor kan vara svårt, särskilt om du fokus på form anteckningar/solfege.Denna kardborrband styrelse är anpassad från klassen fragment på Camp FaSoLa ett sommarläger inriktad på undervisning den amerikanska traditionen av hel...

DIY fria människor Knock-off Cowboy tossor

den minut jag såg dessa på fria människor jag visste att det skulle finnas en DIY i min framtid. Här är instruktionerna för att göra egna.Material:-Cowboy stövlar-Sax-Bälten/läder/pleather band-Kedjan-Hoppa ringar-Nål näsa tångSteg 1: Instruktioner:1...

Påfågel skalor och kjol

Så nära! Detta är näst sista handledning om tillverkningen av jazzig Peacock skoter. Om du vill se hur påfågeln såg ut på utställning, ta en virtuell genomgång av Överdådiga rörlighet. Jag arbetar på en utställning katalog webbplats och kommer att de...

Mario tema kostymer för hundar och människor

Mario och Luigi kostymer är inget nytt, men alla det tar det rätt lurviga tillbehör steget upp till nästa nivå. Detta instructable tar dig igenom grunderna i hur kostymer gjordes och även om dessa var för hundar, mönster kan lätt anpassas för människ...