NeoWeather: Ambient weer Indicator (6 / 7 stap)

Stap 6: Wat is in de apparaatcode?


De apparaatcode is lang, maar de meeste van deze is gelijkaardig, code voor de specifieke weerseffecten opgenomen herhaald. Hier is de basisonderdelen:

De Neopixel basisklasse, opgenomen door "verplichten" de NeoPixels bibliotheek. Deze klasse wordt gemaakt een blob (een gegevensstructuur, iets als een matrix maar kunnen worden gelezen en geschreven als een bestandsstroom) die wordt gebruikt als een framebuffer. De framebuffer kan worden gewijzigd op elk moment en vervolgens uitgeschreven aan de weergave. Deze klasse heeft drie hoofdfuncties:

  1. clearFrame: Schakel de framebuffer (verzamelingen de waarden voor alle drie kanalen van elke pixel terug naar nul)
  2. writePixel: schrijven van de waarde van één pixel in de framebuffer
  3. writeFrame: de huidige framebuffer verzenden in het display

De uitbreiding van de NeoWeather klasse. Deze klasse breidt de klasse base, met behulp van zijn functies als ware ze eigen, maar ook het toevoegen van sommige nieuwe degenen. De klasse NeoWeather bevat nieuwe methoden voor elke afzonderlijke animatie. Enkele van deze methoden Neem een parameter - factor. Dit aantal is een geheel getal van 0 tot en met 9 dat de "intensiteit" van de animatie regelt. In de regen en sneeuw effecten, de factor verhoogt het aantal "druppels" die verschijnt op het display. Neem een kijkje op de regen-methode als u willen zou een beetje dieper ingaan op deze klasse of toevoegen van nieuwe animaties van uw eigen.

De NeoWeather klasse instantiëren, de buffer wissen en het schrijven van pixel 0 naar full-rood ziet er als volgt:

 const NUMPIXELS = 24; // configure the SPI peripheral and use it to instantiate the class spi <- hardware.spi257; display <- NeoWeather(spi, NUMPIXELS); spi.configure(MSB_FIRST, 7500); // clear the frame buffer and write [255,0,0] (full red) to pixel 0 display.clearFrame(); display.writePixel(0,[255,0,0]); display.writeFrame(); 

Tenslotte is er een agent-handler met een grote grote stapel van voorwaardelijke instructies. Wanneer de agent een "seteffect"-bericht naar het apparaat stuurt, wordt het hier afgeleverd. Deze functie wordt gecontroleerd voor zoekwoorden in de weersverwachting in volgorde van prioriteit. Als een overeenkomst wordt gevonden, wordt het juiste effect ingesteld:

 if (cond.find("Ice") != null) {<br> display.ice(); } 

In sommige gevallen komt de prognose met een modifier (bijvoorbeeld "Heavy Rain"). Het apparaat ziet er voor dat ook, en gebruikt het om de intensiteit van het juiste effect:

 if (cond.find("Rain") != null) {<br> if (cond.find("Light") != null) { display.rain(3); } else if (cond.find("Heavy") != null) { display.rain(5); } else { display.rain(4); } } 

Tot slot, neem een blik bij de agent-code.

Gerelateerde Artikelen

Weer Indicator draadloze

Weer Indicator draadloze

Heb ik besloten met de Linkit One's GSM mogelijkheden maken een indicator weer. Dit zou mij om iets te maken zowel praktisch als visueel aangenaam, een draadloze weer indicator.Stap 1: Materialen/Tools HulpmiddelenSoldeerboutComputerLinKit OneGSM ann
Communicatie / power vak

Communicatie / power vak

Dus er veel dozen van de draagbare macht daar zijn en er zijn tal van Ham radio ga kits (radio in een doos) deze kit combineert deze samen samen met een iPad en Bluetooth luidspreker voor extra flexibiliteit. Ik heb nu een beter geordende set up neem
Hoe maak je een wolk van de Lightning

Hoe maak je een wolk van de Lightning

Ik wilde echt een beetje wolk die oplichten zou alsof het was gevuld met bliksem. Na een beetje googlen, struikelde ik op "de wolk" door Richard Clarkson. Het is een prachtig uitgevoerde concept en ik wilde om te zien of ik een ook kon maken. Er
Bureau ventilator/kachel

Bureau ventilator/kachel

/ * stijldefinities * / tabel. MsoNormalTable {mso-stijl-naam: Standaardtabel; mso-tstyle-rowband-grootte: 0; mso-tstyle-colband-grootte: 0; mso-stijl-noshow:yes; mso-stijl-prioriteit: 99; mso-stijl-ouder: "";" mso-padding-alt: 0 cm 5.4pt 0
SODAQ zonne-aangedreven autonome regen observatie station

SODAQ zonne-aangedreven autonome regen observatie station

Dit is de eerste in een serie tutorials we in de komende paar weken op het gebruik van het SODAQ-bord voor autonome, outdoor zonne-aangedreven sensor stations schrijven zal.Wij gebruiken de SODAQ, een Arduino compatibel zonne-aangedreven board (www.s
Zorg voor Cochin kuikens & vrienden in koude, natte weer - voorzichtig kippen op het werk! Poules sous serre! Como commandoregel un ambiente seguro para nuestros pollos Orgánicos nl invierno

Zorg voor Cochin kuikens & vrienden in koude, natte weer - voorzichtig kippen op het werk! Poules sous serre! Como commandoregel un ambiente seguro para nuestros pollos Orgánicos nl invierno

hoe we zorgen voor een beschutte omgeving voor onze vrije uitloop pluimvee in de Winter en hoe ze op hun beurt bepalen van ongedierte en werken van de bodem in de serre. Als u wilt weten hoe we een serre voor 5 dollar/euro/pond gemaakt, volg deze lin
Spectrographic Auroral Indicator - een Noorderlicht waarschuwing apparaat

Spectrographic Auroral Indicator - een Noorderlicht waarschuwing apparaat

---3/16/2011 bewerken: The Wing Kp voorspeld geomagnetische activiteit Index model wordt nu geïmplementeerd en operationele. Costello wordt nu beschouwd als niet-operationele en op 23 Mar 2011 zal worden gestaakt. Opmerkingen en vragen zijn welkom op
Arduino IoT weer klok

Arduino IoT weer klok

In dit Instructable bouwen we een klok die ook binnen en buiten de klimatologische omstandigheden toont.Ik gebruikte om een koele kleine klok die, naast het vertellend de tijd, ook de temperatuur in het huis, de datum en de buitentemperatuur via een
ESP8266 Draadloze Toilet zede Indicator (Smart Home)

ESP8266 Draadloze Toilet zede Indicator (Smart Home)

Als een ingenieur is het geluk om te werken voor een bedrijf dat make-up met een groep van de maker. Omdat wij vaak sommige problemen ondervinden in ons leven, onze manger laten toe om onze creativiteit in het volledige spel te wijten aan de geopende
IoT badkamer vacature Indicator voor Hackers

IoT badkamer vacature Indicator voor Hackers

Wanneer in de Braziliaanse deelstaat Flow, wilt creatieve mensen meestal niet nemen van een pauze voor de sterfelijke overwegingen zoals eten of badkamer pauzes. De grote Beethoven hield beroemde een kamer pot onder zijn piano, om niet verliest momen
DIY Ambient Lighting omgevingslicht met Hyperion. Werkt met HDMI/AV-bronnen || Raspberry Pi

DIY Ambient Lighting omgevingslicht met Hyperion. Werkt met HDMI/AV-bronnen || Raspberry Pi

Dit is een uitbreiding van mijn vorige Ambient Lighting lichaamsbouw. Neem een kijkje op het eerste:Ditmaal zal ik een nieuwe functie toevoegen aan mijn DIY Ambient Lighting. Tot nu toe werkt het alleen met de software van Raspbmc. Dat betekent dat i
Met behulp van een Co-axiale Dial-Indicator om te vinden van het midden van een cirkel

Met behulp van een Co-axiale Dial-Indicator om te vinden van het midden van een cirkel

ooit afgevraagd hoe iemand die perfect geboorde gaten in dat stuk van ronde voorraad of hoe die persoon op de molen de draaitafel zo perfect gecentreerd gecompenseerd?  Vraag me niet meer af.  Met behulp van een Co-axiale indicator te vinden van het
Hoe maak je een Ambient Lamp uit een kartonnen doos

Hoe maak je een Ambient Lamp uit een kartonnen doos

de volgende tutorial, oorspronkelijk geschreven voor mijn taal hacken blog, ChineseHacks.com, ziet u hoe een ambient lamp uit een doos van Taiwan bier maken door te snijden de Chinese karakters. U kunt elk soort vak echter en knip een logo of een ste
Arcade kast met Ambient licht effecten

Arcade kast met Ambient licht effecten

een zelfgemaakte arcade houten kast, met commerciële arcade kwaliteitscontroles en geïntegreerde Ambient werkelijkheid het systeem van gevolgen.Het kabinet hout is gesneden uit 4 x 8' sandwichpaneel van Home Depot. De Arcade controller is een HotRod