Kwaliteit van het leven Meter (4 / 10 stap)

Stap 4: Firmware


De code wordt uitgevoerd in drie algemene stappen: 1) lezen in en verdelen de positie van de pot, 2) bepalen wat u wilt weergeven, 3) de juiste opdracht om de 595 van Output.

Stap 1 is opgenomen in zijn eigen door de gebruiker gedefinieerde functie. U leest eerst de analoge PIN aangesloten op de potmeter. Dit zal resulteren in een lezing tussen 0-682 (onthoud we op 3,3 v, niet 5). Vervolgens willen we een retourwaarde 0-11, vertegenwoordiging van de 11 segmenten op onze thermometer, aan het hoofdprogramma. Om dit te doen u integer uitvoeren op de ingang met de grootte van een segment, 62 (682/11 = 62). Het gebruik van integer divisie, die alleen gehele getallen gebruikt, is geen vergissing, staat de functie voor het retourneren van een geheel getal zonder de extra stap van afronding van het resultaat met een andere lijn van code.

Eenmaal u uitvoeren het segment dat de pot is die aangeeft voor dat de code moet correleren van dat aantal in de binaire reeks die de juiste LEDs zullen oplichten. De decimale waarden die naar de juiste binaire snaren converteren te controleren van de 595 worden opgeslagen in een matrix waar hun positie in de matrix gunstig hetzelfde als de uitvoer van de pot is.

De laatste stap is om de opdrachten voor 595 van duwen. De volgorde van de bewerkingen is uit te schakelen de klink pin, voorkomen de LEDs wijzigen terwijl de nieuwe commando's zijn geschreven, gebruik de shift opdracht uit voor het verzenden van de binaire snaren via de data pin, die gebruik maakt van de pin klok te onderscheiden van bits, en ten slotte de klink pin om de uitvoer van de nieuwe gegevens over alle pins gelijktijdig opnieuw te activeren.

LED TEST 2 w / 74HC595 //by Bwrussell 2013 / / / * * dit programma is vrije software; u kunt het herdistribueren en/of wijzigen * het onder de voorwaarden van de GNU General Public License zoals gepubliceerd door * the Free Software Foundation; ofwel versie 2 van de licentie, of * (naar uw keuze) een latere versie. ** Dit programma is gedistribueerd in de hoop dat het bruikbaar, * maar zonder enige garantie; zelfs zonder de impliciete garantie van * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Zie de * GNU General Public License voor meer details. * / //74HC595-Arduino Pin interfacedefinities //Pin verbonden met de ST_CP van 74HC595 int latchPin = 8; Pin verbonden met SH_CP van 74HC595 int clockPin = 12; Pin verbonden met DS van 74HC595 int dataPin = 11; Pin verbonden met de sweep-pin van de pot #define potPin A5 //arrays waarin de Staten van de LED voor de positie van elke pot, één voor elke 595 int ledStatesA [] = {1,2,6,14,30,62,126,254,254,254,254,254}; int ledStatesB [] = {0,0,0,0,0,0,0,0,1,3,7,15}; Variabele Defs int knobPosition; void setup {//Start Serial voor debugging doeleinden Serial.begin(9600); //set pinnen naar uitvoer, omdat zij zijn gericht in de hoofdlus pinMode (latchPin, OUTPUT); pinMode (clockPin, OUTPUT); pinMode (dataPin, OUTPUT);} void loop {knobPosition = potRead(); digitalWrite (latchPin, 0); //send gegevens naar de tweede 595 shiftOut (8-11) (dataPin, clockPin, ledStatesB[knobPosition]); //cosend gegevens naar het eerste 595 (0-7) shiftOut (dataPin, clockPin, ledStatesA[knobPosition]); //return de klink pin hoog signaal dat het chip //no langer moet luisteren voor informatie digitalWrite (latchPin , 1); } ongeldig shiftOut (int myDataPin, int myClockPin, byte myDataOut) {/ / dit verschuivingen 8 bits uit MSB eerst, //on de stijgende rand van de klok, //clock Verbreek na inactieve periode van lage //internal functie setup int ik = 0; int pinState; pinMode (myClockPin, OUTPUT); pinMode (myDataPin, OUTPUT); //clear alles uit geval tot verschuiving van het //prepare registreren voor beetje verschuiven digitalWrite (myDataPin, 0); digitalWrite (myClockPin, 0); voor (ik = 7; ik > = 0; i--) {digitalWrite (myClockPin , 0); Als (myDataOut & (1 << ik)) {pinState = 1;} else {pinState = 0;} //Sets de pin te hoog of laag afhankelijk van pinState digitalWrite (myDataPin, pinState); registreren van verschuivingen stukjes op ophaal klok pin digitalWrite (myClockPin, 1); de data pin nul na verschuiving naar voorkomen bloeden door middel van digitalWrite (myDataPin, 0); } //stop verschuiven van digitalWrite (myClockPin, 0); } / / Functie voor lezing en segmanting de pot ingang int potRead () {int potRaw = 0; //read in de positie van de ruwe pot, gemiddeld meer dan 5 monsters voor (int ik = 0; ik < 5; i ++) {potRaw = potRaw + analogRead(potPin);} potRaw = potRaw/5; //segment de onbewerkte gegevens in 12 gelijke segmants, geeft als resultaat een waarde 0-11 int potPosition = potRaw / 60; 60 //Use voor 3,3 v, 93 voor 5V in de pot //send het huidige segment de hoofdlus return potPosition;}

De broncode is beschikbaar in het zip-bestand (de Ino zou niet uploaden) en een tekstbestand.

Gewoon een snelle plug: In enkele van de eerste testen gebruikte ik het vrij nieuwe ArduinoDroid app voor Android. Het is vrij ontzagwekkend voor wat het is. U kunt Arduino code, met kleurcodering schrijven en compileren, overal, zoals op lunchpauze op het werk. Met een goede USB-kabel kunt u ook macht en uploaden naar een Arduino board. Er zijn een aantal andere functies die ik heb niet nog als Bluetooth controle en dergelijke, maar voor een maker voor onderweg gebruikt of veldwerk dit app is fenomenaal. Ik zou sterk aanbevelen het vooral omdat het volledig gratis (ad ondersteund) en onbeperkt. Als je het dan u kunt betalen een nominale vergoeding te verwijderen van de advertenties en ontwikkeling te ondersteunen. Ik weet niet wie de ontwikkelaar is maar ze rock.

Gerelateerde Artikelen

Kwaliteit van het leven Meter Mk.2 - slimmer en aangesloten

Kwaliteit van het leven Meter Mk.2 - slimmer en aangesloten

Een tijdje geleden heb ik een Meter van de kwaliteit van leven, gebaseerd op een lopend grap waar ik werk. In wezen was het gewoon een LED versie van de versie van de whiteboard die zijn we met begonnen. Wanneer u werkt op die eerste iteratie ik wist
Tips voor het leven met hartritmestoornissen / een ICD

Tips voor het leven met hartritmestoornissen / een ICD

In juli 2008, werd ik door de Borggeassimileerd..... .not echt. Maar soort van: Ik had mijn eerste implanteerbare Cardioverter Defibrillator (ICD) geplaatst."Een Implanteerbare cardioverter-defibrillator (ICD) - een pager-sized apparaat dat geïmplant
Lamp Project.  Het toevoegen van nieuw leven met interne nachtlampje en geschilderde schaduw

Lamp Project. Het toevoegen van nieuw leven met interne nachtlampje en geschilderde schaduw

een tijdje geleden kocht ik een glas vaas tafellamp op een rommelmarkt.  Ik wilde niet het maar het was het einde van de dag en de dame wilde alleen maar om zich te ontdoen van het, zodat ze niet zou moeten het inpakken en het terug naar huis nemen. 
Lederen draagtas van het BlackBerry met de slaapstand

Lederen draagtas van het BlackBerry met de slaapstand

mijn BlackBerry kwam met een saaie, zwart, valse leer, slip-in geval met niets om het te houden daar veilig en geen middelen voor het aansluiten van een gordel. Dus heb ik besloten om een nieuwe toewijzing met sommige leer had ik liggen rond voor lee
Keuken Natuurkunde - meet de snelheid van het licht met chocolade!

Keuken Natuurkunde - meet de snelheid van het licht met chocolade!

Mijn 6-jarige dochter berekent ter ere van het internationale jaar van het licht, de snelheid van het licht met behulp van chocoladerepen en magnetron.Microgolven zijn onderdeel van licht of elektromagnetische spectrum. Wij zijn geweestdeze straling
LED matrix - spel van het leven

LED matrix - spel van het leven

Dit project zal het uitvoeren van Conway's spel van het leven op een 8 x 8 LED matrix.Het heeft 2 knoppen, een voor het opzetten van een willekeurig veld, de andere starten of stoppen van de iteraties.Stap 1: materialen Een 8 x 8 LED matrix2 x aprox.
Het creëren van een IOT monitor voor de kwaliteit van de lucht met de Intel Edison

Het creëren van een IOT monitor voor de kwaliteit van de lucht met de Intel Edison

Schone lucht wordt een luxe in de maatschappij van vandaag. Vertrouwd raken met uw onzichtbare omgeving met behulp van een Intel Edison met Arduino breakout board, een Grove Starter Kit en IBM Bluemix - een online bron voor geeks, knutselaars en wete
Een nieuwe huur van het leven aan een oude stoel met schroot binnenbanden

Een nieuwe huur van het leven aan een oude stoel met schroot binnenbanden

het is altijd leuk om een luie stoel om op te zitten, en een van mijn favoriete soorten stoel is de Ercol.Dit zijn grote stoelen, zeer goed gemaakt en nog steeds beschikbaar nieuw, maar omdat ze zo populair waren zeer goedkoop tweedehands beschikbaar
Draagbare Petrifilm™ Incubator voor goedkope In het veld analyse van de kwaliteit van het Water

Draagbare Petrifilm™ Incubator voor goedkope In het veld analyse van de kwaliteit van het Water

We zijn gedreven door de ervaring van onze leden in de ontwikkelingslanden ver van betrouwbare elektrische rasters maken een Petrifilm™ incubator voor snelle bacteriële analyse van het watergebruik. Dit instructable is een verzameling van open-source
De willekeurige feiten van het leven

De willekeurige feiten van het leven

Je zal nooit weten alles over het leven, en je hoeft alleen te accepteren. Maar dat betekent niet dat je kunt niet leren een paar trucjes...Stap 1: hoestsiroopIedereen heeft een ernstige hoest en de hoestsiroop niet altijd lekker smaken. Dus in plaat
Hoe te meten van de snelheid van het geluid met twee bulten van hout...

Hoe te meten van de snelheid van het geluid met twee bulten van hout...

... een stopwatch en een handige muur.Stap 1: Het ideeSnelheid is hoe ver iets reist in een bekende tijd snelheid = afstand / tijd.In het dagelijks leven, de snelheid wordt over het algemeen gemeten in beide mijl per uur (of kilometer per uur; het gr
Het levensspaarder voor het leven met tiener

Het levensspaarder voor het leven met tiener

MOM! Ik kan niet vinden mijn sokken, kan ik gebruiken uw van??? Gelieve???Ik kan me niet herinneren waar ik zag de foto van het BORDUURWERK HOEPEL met NYLONTASHet was een tijdschrift of een van de Online sites die ik doorlezen.Een licht ging in mijn
De muis van de erkenning van het gebaar met Matlab beeldverwerking.

De muis van de erkenning van het gebaar met Matlab beeldverwerking.

Ooit denken dat wearables belangrijke positie in de behandeling van de computer bezetten zal?Gebaar doet het allemaal.Welkom op mijn nieuwe project met de muis van de erkenning van het gebaar.Hier zijn de projectvereisten:1) kleur penningen/markering
Het kruid van het leven: zelfgemaakte Salsa

Het kruid van het leven: zelfgemaakte Salsa

Kruidenieren en voorraad ton van verschillende soorten salsa. Sommige hete, sommige milde. Wat mollig, wat glad. Enkele groene en enkele rode. Maar hoe krijg je een salsa die speciaal voor u gemaakt? Een salsa die hoe weet om perfect uw smaakpapillen