Arduino gebaseerd huis kachel Controler met SMS User Interface (7 / 8 stap)

Stap 7: Compilatie en Upload, Bibliotheken


Afhankelijk van uw besturingssysteem, de meegeleverde bibliotheken in de aangewezen map plaatsen en sla het programma naar uw map voor het schetsen van Arduino. Om het programma de Freeduino, kunt u beide programma de ATMega op een programmeur, op uw Arduino, of via een RS232-USB-kabel op de Freeduino.

Zoals de snaren van het menu op de processor van de EEPROM geheugen wonen, moeten ze eerst er worden geladen. Dit wordt gedaan door een klein programma (streeng.ino) dat moet worden geladen en voordat het compileren en installeren van het programma van de belangrijkste controller (steuerung.ino) gelanceerd. Het streeng-programma, alsmede de controler maken gebruik van de streeng class library, die het mogelijk maakt voor het opslaan en openen van tekenreeksen in EEPROM.

Enkele woorden over de bibliotheken:

Menusysteem

De functionaliteit van het apparaat vereist een gestructureerde gebruikersinterface. Ik ontwikkelde het menusysteem met drie doelstellingen: eenvoud, flexibiliteit en lage geheugen footprint. De menu's zijn hiërarchisch tot 4 niveaus. Menu-items kunnen worden gewijzigd tijdens runtime en het systeem ook biedt functionaliteit voor het invoeren van alfanumerieke en tijd gegevens. (Op/Voer/neer) is vereist voor de invoer slechts drie knoppen. Knop push tijd wordt ook gebruikt voor extra functionaliteit.

Het LCD-scherm toont een kopregel paneel (statusinformatie, tijd, temperatuur, operationele modus en de ketel staat) en 3 lijnen van menu. Afhankelijk van de displaygrootte kunnen dit meer of minder (bijvoorbeeld kop plus 1 lijn voor een kleine 16 x 2 weergave). Menunavigatie heeft geen invloed op het deelvenster voor koptekst. De huidige positie van het menu aan de linkerkant kan worden gezien meest kant en wordt aangegeven door een ' >'. De tekst voor de ingang van het menu is te zien op scherm center. In het geval dat er submenu's voor een menu-item, een ' >' wordt weergegeven aan de linkerzijde. Menu-items zijn geselecteerd door op enter te drukken, omhoog en omlaag navigeert dienovereenkomstig binnen de menustructuur. Duwen Voer voor langere keert terug naar de menu-wortel, duwen 'up' langer één menu navigeert niveau omhoog.

Tekenreeksen worden bewerkt door de waarde onder de gemarkeerde cursor met de cursor op/neer-toetsen te wijzigen. Houden ze langer, wordt de cursor verplaatst. De enter-toets wordt beëindigd bewerken met de nieuwe waarde overgenomen, houden het langer wordt ook beëindigd, maar herstelt u de oorspronkelijke tekenreekswaarde.

De menu-klassebibliotheek voorziet in drie manieren om de tekst van het menu-item op te slaan: 1) programmageheugen, 2) EEPROM, 3) voor beide van de bovenstaande dynamische berekening door een functie verstrekt. Starten van het programma moet de menustructuur worden opgebouwd met behulp van de functie van de post. In dit voorbeeld toe te schrijven aan geheugenbeperkingen wordt EEPROM meestal gebruikt voor opslag (telefoon boeken zijn dynamisch en dus gebruiken dynamische menu item schepping). Menu-items worden geïdentificeerd door een index-nummer (index om te plaatsen in EEPROM of functieargument) en enkele codering van hun positie in de menustructuur (4 hexadecimale cijfers die aangeeft van een niveau van elk). Dus zou 0x1000 betekenen het eerste menu-item op het bovenste niveau, 0x2000 de tweede hoogste niveau menu, terwijl 0x1400 het vierde submenu naar het eerste item van de menuopdracht op hoogste niveau duiden zou. Het indexnummer staat voor een verandering van menutekst tijdens runtime door herhaalde verzoeken aan de ingang functie (bijvoorbeeld On/Off knevel voorzien).

De belangrijkste functie aangeroepen vanuit het gebruikersprogramma is een gebeurtenis-handler, die terugkeert van menu-items geselecteerd en verwerkt alle menunavigatie, update en schuiven weer te geven. Tijdens het wachten voor menu gebeurtenissen, kan de gebeurtenis-handler het aanroepende programma te gebruiken van de processortijd wordt toegewezen via een aangepaste service-routine, die moet worden verstrekt.

Command Line Interface

Een essentieel kenmerk van de gebruikersinterface is de command line interface, waarmee voor de inbreng van de platte tekstopdrachten. Terwijl het wordt gebruikt voor invoer van SMS, kan het ook worden gebruikt en aangepast voor andere opdrachtsyntaxis en doeleinden (bijvoorbeeld input via IP).
In wezen de opdrachtregel wordt geparseerd voor sleutelwoorden (woonachtig in programma ruimte), die worden vervolgens vertaald naar een compacte middencode, die vervolgens eenvoudig syntaxis wordt gecontroleerd. Argumenten zoals tijd en temperatuur informatie worden verwacht in een bepaalde vorm (UU: mm voor tijd, tt.t voor temperatuur). In geval dat een syntaxisfout worden gedetecteerd, wordt een foutbericht weergegeven geproduceerd.

Telefoonlijst

Het telefoonboek ingangen in de telefoonlijst beheert en slaat ze in de controleur EEPROM. De bibliotheek is sterk afhankelijk van de menu-bibliotheek, die functies als de ruggengraat van de menustructuur van het telefoonboek bewerken.
De telefoonboek-bibliotheek maakt een menustructuur met dynamische menu-items, die elk submenu's hebben voor het bewerken en verwijderen. Routines voor het bewerken en verwijderen zijn beschikbaar zijn in de objectbibliotheek van het menu. In het algemeen, telefoonnummers wellicht 16 cijfers en worden opgeslagen in het internationale formaat begint bij het starten van een '+' en de landcode.

Controler

De ketel aan/uit contact wordt beheerd door de controller-software. De bibliotheek schakelt de kachel afhankelijk van de relevante setpoint, die is ofwel handmatig ingestelde (via de menukeuze temperatuur), gebruikt standaardwaarden (Comfort, economie of antivries, die op hun beurt worden ingesteld door het instellingen menu-item) of wordt bepaald door de schema's die door de gebruiker geprogrammeerd. De schema's kunnen worden geprogrammeerd met één minuut tijd resolutie. Maximaal vijf tijdsintervallen met individuele temperatuur kunnen instellingen worden geprogrammeerd.
De bibliotheek ervoor zorgt dat de beheersing van de ketel, om niet uit te voeren van de kachel voor minder dan de pre instelt voor minimale runtime en ook controles voor eventuele storingen, d.w.z. Wanneer de kamertemperatuur niet toeneemt tijdens de werking van de kachel. In het geval dat een storing is opgetreden of de temperatuur (Alert 0) onderschrijdt of overschrijdt (Alert 1) geprogrammeerd basiswaarden, waarschuwing berichten worden verzonden via SMS. Tot slot probeert de controller te verzekeren op alle tijden die de gemeten temperatuur nooit valt onder de antivries-niveau gedefinieerd.

GSM

De GSM-bibliotheek voert de communicatie tussen Freeduino en Modem. De bibliotheek voert basic IO met de modem, biedt een methode voor het verzenden van AT-opdrachten naar de modem en voorziet van de basisfunctionaliteit controleren van inkomende oproepen en beheren van de inkomende SMS-berichten, alsmede het initiëren van uitgaande SMS-berichten.

Gerelateerde Artikelen

Arduinos: Arduino gebaseerd toetsenbord voor controle van Sonos streaming

Arduinos: Arduino gebaseerd toetsenbord voor controle van Sonos streaming

Ik vind de Sonos setup we in ons huis hebben, maar ik haat moetend brand-up van mijn smartphone of tablet wanneer ik moet verschuiven tussen internetradiostations.We luisteren normaal gesproken gewoon naar een paar lokale radiostations (en natuurlijk
Arduino gebaseerd zonne-PV energie Meter met Xively connectiviteit (kan worden gecontroleerd op android of iPhone)

Arduino gebaseerd zonne-PV energie Meter met Xively connectiviteit (kan worden gecontroleerd op android of iPhone)

Het is al ongeveer twee dagen geleden ik de Arduino PV generatie Meter maakte, maar het was een fout om niet de stap voor stap foto's te nemen alvorens voor het definitieve testproces. En het was een vreselijk idee te geven van het ruwe vak van zogen
Arduino Bluetooth Garage deur controle met sensoren en aanpasbare Android App

Arduino Bluetooth Garage deur controle met sensoren en aanpasbare Android App

Relais voor het openen garagedeuren en elektrische deursloten activeren via een arduino.Een aanpasbare Android App, verbindt met arduino via wachtwoordbeveiliging bluetooth koppeling.Een bluetooth-module voor hc-05 opdrachten ontvangt van een android
Arduino gebaseerd humanoïde robot met behulp van servomotoren

Arduino gebaseerd humanoïde robot met behulp van servomotoren

Hallo iedereen,Dit is mijn eerste mensachtige robot, gemaakt door dikke plastic folie die ik niet de naam van het blad weet. Het is beschikbaar in verschillende dikte. Hier, gebruikte ik 0,5 mm. Nu kan deze robot zomaar toen ik overgeschakeld ON. Nu
Arduino gebaseerde lijn volgeling robot met behulp van Pololu kW-8RC lijn sensor

Arduino gebaseerde lijn volgeling robot met behulp van Pololu kW-8RC lijn sensor

UPDATE FEB 2012: deze gids is featured op de Adafruit bloghttp://www.adafruit.com/blog/2012/02/14/Arduino-based-line-follower-robot/Dit is de Faz3a II, mijn eerste lijn-volgende robot, die hopelijk ook te gebruiken voor het oplossen van de doolhof. I
Een inbraakalarm gebaseerd op PIR Sensor met Sms-bericht met behulp van 8051

Een inbraakalarm gebaseerd op PIR Sensor met Sms-bericht met behulp van 8051

"Het doel van dit project is om de omgeving met de hulp van passieve infrarood sensor (PIR sensor) en gewenste informatie over het detecteren van een object verzendt naar het mobiele telefoonnummer met behulp van GSM module om te waarschuwen van de e
Motor van de controle met DIY tastbare Interfaces

Motor van de controle met DIY tastbare Interfaces

We gebruiken de MakeyMakey-boards op het Children's Museum of Houston om kinderen te leren de basisconcepten achter circuits en micro-controllers. Als u de MakeyMakey-website bladert, ziet u hoe het gebruikt kan worden om gemakkelijk omzetten elke ie
Maak kennis met Climaduino - de Arduino gebaseerde thermostaat die u van uw telefoon controleren!

Maak kennis met Climaduino - de Arduino gebaseerde thermostaat die u van uw telefoon controleren!

Update:Er is een nieuwe versie van de Climaduino en de Climaduino Controller met enkele zeer belangrijke wijzigingen.Ondersteunt meerdere zonesDe Yún van de Arduino gebruiktWerken met centrale airconditioningCommuniceert met het MQTT -protocol (kunt
BLDC Motor Control met Arduino, geborgen HD-motor en Hall sensoren

BLDC Motor Control met Arduino, geborgen HD-motor en Hall sensoren

er is veel belangstelling deze dagen onder hobbyisten bij het beheersen van Borstelloze DC (BLDC) motoren, die hebben betere prestaties en betere energie-efficiëntie overtraditionele gelijkstroommotoren, zijn maar moeilijker te gebruiken. Er bestaan
Arduino Uno en Visuino: controle van slimme auto Robot met Joystick en L298N Motor Driver

Arduino Uno en Visuino: controle van slimme auto Robot met Joystick en L298N Motor Driver

Dat Smart auto ingesteld wanneer gecombineerd met L298N Motor Driver Modules, bieden een van de gemakkelijkste manieren om robot auto's maken. De L298N Motor Driver Module is makkelijk te controleren met Arduino, en met behulp van Visuino kunt u uw a
Arduino gebaseerd Robotic Car(wireless controls+Autonomous)

Arduino gebaseerd Robotic Car(wireless controls+Autonomous)

Dit instructable is over een Arduino gebaseerd Robotic auto die gebruik maakt van Arduino Arduino,, Arduino programmeertaal, motor bestuurder, een LCD-scherm te zien wat de huidige status van de auto en zelfs een Bluetooth-module voor draadloze commu
Arduino gebaseerde robot met IR radar

Arduino gebaseerde robot met IR radar

het prototype van de robot in dit Instructable is mijn tweede Arduino gebaseerde "slumbot" die een autonome robot is. Samen met huishoudelijke artikelen en kladjes vastzit. De robot ziet"" met een IR sensor gedraaid door een servo scan
InPace - een Arduino gebaseerde GPS gegevens vastleggen van fitness armband met bluetooth en een iOS-app

InPace - een Arduino gebaseerde GPS gegevens vastleggen van fitness armband met bluetooth en een iOS-app

InPace is een Arduino gebaseerde fitness armband, met een begeleidende iOS applicatie, die live kan feedback over hoe de gebruiker pacing zelf tijdens een run, lopen of fietsen route. Zij sporen GPS-locaties en huidige tijden de huidige prestaties va
Arduino en ultrasone sensor control servo en afstand meter

Arduino en ultrasone sensor control servo en afstand meter

Arduino en ultrasone sensor control servo en afstand meterIn dit project kunt u bekijken hoe u kunt besturen servomotor en tu Bereken afstand met behulp van de arduino en ultrasone sensor. U nodig hebt: 1. Arduino (uno, nano, mini pro)HardwareZet de