
Arduino is geworden in een van de elektronica-projecten meest succesvolle ter wereldHet werd voornamelijk gemaakt voor studenten in het jaar 2005 in Italië, Dit alles was erop gericht om elektronica gebruiksvriendelijker te maken, zodat iedereen die geïnteresseerd was in het vakgebied kon ervaren hoe het is. het creëren van elektronische projecten voor gebruik in de praktijk.
Om dit platform te gebruiken is het daarom niet nodig om te beschikken over... noch geavanceerde kennis van elektronica, noch een succesvolle programmeur zijn, aangezien het idee Arduino hoofd Het doel is om dit alles zo toegankelijk mogelijk te maken, zodat duizenden mensen er gebruik van kunnen maken. Maak je eigen projecten vanuit huis.
Een van de sleutels tot succes hier is weten schrijf de instructies voor microcontroller in de programmeertaalDat is voor velen misschien niet zo eenvoudig. Daarom gaan we je er wat meer over vertellen. De Arduino-programmeertaal en de basisprincipes ervan.Volg hiervoor zorgvuldig elk van de stappen die we hieronder in dit bericht zullen laten zien.
Wat is de Arduino-programmeertaal en waarvoor wordt deze gebruikt in de elektronica?
In dit geval moet worden vermeld dat de Arduino-programmeertaal is gebaseerd op C + + hoewel de referentie voor deze programmeertaal van Arduino is binnen “Arduino”, tegenwoordig kun je ook Gebruik standaard C++-commando's bij het programmeren van het bord..
Zo laten we je de meest opvallende kenmerken van C zien:
- Het wordt beschouwd als een programmeertaal. algemeen doel dat ermee verband houdt naar het UNIX-besturingssysteem.
- Het is een taal van gemiddeld niveau.Het heeft basisdoelstellingen zoals getallen, tekens, bits, geheugenadressen, en meer.
- Rekening met een geweldige draagbaarheid.
- Het wordt gebruikt voor systeemprogrammering. zoals het is tekstverwerkers, interpreterbouwers, compilers, oa.
C + + wordt beschouwd als un programmeertaal die midden jaren tachtig werd ontworpen door Bjarne Stroustrup, Het werd gecreëerd met de bedoeling dit uit te breiden. taal C met mechanismen die de manipulatie van objecten mogelijk maken. Dienovereenkomstig, en vanuit het perspectief van objectgeoriënteerde talen, C++ Het wordt beschouwd als een hybride taal.
Na verloop van tijd werden er generieke programmeerfuncties toegevoegd, die allemaal een aanvulling vormden op de twee andere paradigma's die al werden ondersteund. (Objectgeoriënteerd programmeren en gestructureerd programmeren). Daarom wordt aangenomen dat C++ is een programmeertaal. multiparadigma programmering en er bestaat momenteel een standaard die bekend staat als ISO C++.
C# is een Microsofts eigen programmeertaal die verantwoordelijk is voor het mengen van de basisfuncties van C++ ze vereenvoudigen Java-stijl en tegelijkertijd een aanbod doen kader. Tenslotte moet nog vermeld worden dat C# is onderdeel van het .NET-platform
Welke andere programmeertalen gebruikt Arduino-boards?
Het team dat verantwoordelijk is voor Arduino creëerde een taal Geschikt voor het programmeren van deze kaart, de genoemde taal is te vinden gebaseerd op bedradingDit gaat allemaal over een kader, Dit is een soort sjabloon, structuur of conceptueel schema gebaseerd op technologie waarmee je op een veel eenvoudigere manier kunt werken, en het is ook... Open source voor microcontrollerprogrammering.
Laten we het eens nader bekijken:
Bedrading
Het staat geschreven in de programmeertalen C en C++, Dat is waar de syntaxis van beide behoorlijk op elkaar begint te lijken. Het belangrijkste voordeel van het gebruik hiervan is... kader is de grote verscheidenheid aan microcontrollers die het ondersteunt, omdat het daartoe in staat is ondersteuning voor microcontrollers die gebruikt worden door de Arduino-bordfamilies.
Tot slot, net zoals de arduino bord, Bedrading heeft een IDE die is gebaseerd op verwerkingsoplossingen waardoor het programmeren van microcontrollers mogelijk wordt. Je hoeft dus alleen maar naar de officiële website van te gaan. Bedrading en download deze ontwikkelomgeving, die beschikbaar is voor Linux-, Windows- en Mac-besturingssystemen.
verwerkingsoplossingen
Om het hem te geven Instructies en schrijf de code op de microcontroller of het ontwikkelingsbord. Een omgeving is noodzakelijk. Deze omgevingen staan bekend als “Geïntegreerde ontwikkelingsomgeving” of zoals het ook wel bekend staat onder de afkorting IDE en dat wordt gedefinieerd als een geïntegreerde ontwikkelomgeving.
Bij Arduino-IDEHet programma, waarin de code wordt geschreven, wordt ontwikkeld met behulp van een programmeertaal die bekend staat als verwerkingsoplossingen. Por lo tanto, Verwerking is een Java-gebaseerde programmeertaal en ontwikkelomgeving, Het wordt voornamelijk gebruikt voor de ontwikkeling van digitale multimediaprojecten.
C/C++-taal
Zoals eerder vermeld, is de taal van Arduino gebaseerd op Bedrading en die ook gebaseerd is op C/C++. Dit maakt het mogelijk om aan Arduino-projecten te werken, maar vereist wel enige kennis ervan. de programmeertaal C. Het moet worden opgemerkt dat niet alle functies hiervan taal Ze worden gebruikt, maar alleen als de structuurtypen en variabelen worden gebruikt.
Echter het voordeel dat C biedt Het is een programmeertaal van gemiddeld niveau, die een efficiënt beheer van alle resources mogelijk maakt. microcontroller Het is bovendien een gecompileerde taal waarmee je een bestand kunt maken dat later kan worden gecompileerd. geladen in de microcontroller.
Arduino IDE: Ontdek de ontwikkelomgeving voor open source hardware!
El Arduino-IDE of zoals het ook wel bekend staat “Geïntegreerde ontwikkelomgeving” Het is een computerprogramma dat bestaat uit een reeks programmeertoolsDit kan uitsluitend aan één persoon worden gewijd. programmeertaal Of het kan door verschillende soorten talen worden gebruikt.
Aldus de IDE Het is uitgegroeid tot een programmeeromgeving die is verpakt als een applicatieprogramma, wat betekent dat het een code-editor, een compiler, een debugger en een constructor grafische gebruikersinterface (GUI). In het geval van de plaat Arduino De tools om het gecompileerde programma in het flashgeheugen van de hardware te laden zijn ingebouwd.
Men kan dus stellen dat de Arduino IDE Het is het hulpmiddel dat gebruikt wordt om met Arduino te werken, dus het is noodzakelijk om te begrijpen hoe het werkt. In het geval van Arduino-programma's Deze bestaan uit één enkel bestand met de extensie “Informatie”, Hoewel het ook mogelijk is om ze in verschillende bestanden te organiseren. Het hoofdbestand moet zich in ieder geval altijd in een map met dezelfde naam bevinden.
Tot slot moet nog worden vermeld dat voorafgaand aan versie 1.x De extensie werd gebruikt “pde”, Deze versie is echter bijgewerkt met aanzienlijke wijzigingen, waarmee rekening moet worden gehouden bij gebruik. de oude code. Dat moet ook worden vermeld De IDE is volledig gratis. en het is mogelijk Downloaden via de officiële Arduino-website en wat betreft uw installatieproces Het is heel eenvoudig, dus je zult geen problemen ondervinden.
Basisprincipes van Arduino-programmering: Wat zijn de belangrijkste dingen die je moet weten?
Arduino-programmering Het platform kent een aantal fundamentele principes die belangrijk zijn om te kennen en toe te passen, omdat ze je zullen helpen betere resultaten te behalen. Daarom zullen we je die hieronder uitleggen. Wat zijn de belangrijkste basisprincipes die je moet kennen over Arduino-programmering?
Volg hiervoor nauwgezet elk van de volgende aspecten:
Syntaxis
Bij programmeertalen Het is verplicht om een syntaxisHet is dezelfde die het mogelijk zal maken. communicatie met de compilerDe missie van de compiler is Het programma leest de code en vertaalt deze naar machinecode. zodat hij het begrijpt microcontroller. Daarom kan men stellen dat de compiler alle informatie die hij ontvangt perfect moet hebben, want dat is de enige manier waarop hij kan... in staat zijn om de code te lezen en te vertalen..
opmerkingen
De opmerkingen zijn simpelweg merkt op dat De programmeur laat het in de code staan. Dit helpt je een groot deel daarvan te begrijpen. code. Het is belangrijk dat het doel in dit geval niet is om een uitgebreid rapport over de code zelf te maken, maar eerder een beschrijvend overzicht dat helpt te begrijpen hoe deze werkt. Het is de moeite waard om te vermelden dat dit een fundamenteel onderdeel is wanneer... Er wordt een programma voor Arduino geschreven.
Het is echter belangrijk om in gedachten te houden dat De reacties worden niet verzameld.Het vertaalt zich niet naar machinecodeDaarom slaat de compiler elke regel over wanneer hij een commentaar tegenkomt.
Momenteel zijn er twee manieren om een reactie te schrijven, namelijk:
// Dit is een commentaar. Int myvariable = 0;
Dat alles bevindt zich rechts van de dubbele streep (//) wordt beschouwd als een Als je het aanzet, wordt het grijs..
In dit geval zal de Arduino IDE de kleur wijzigen om aan te geven dat het een commentaar is:
/* Dit is een commentaar */ Int mijn variabele = 0;
Er is nog een andere manier om een te plaatsen. commentaar en het plaatsen van /* om te openen en */ om te sluiten. Daarom wordt alles tussen deze twee openings- en sluitingsmarkeringen als commentaar beschouwd. Omdat het een De opmerking wordt grijs gekleurd.
Puntkomma
En In de programmeertaal C++ fungeert de puntkomma (;) als een alinea-einde.Dit symbool geeft aan dat een reeks is beëindigd en dat vanaf dat moment iets nieuws wordt gezegd dat syntactisch gezien geen verband houdt met het voorgaande.
Laten we eens kijken:
// Dit is een commentaar. Int variabele = 0:
van puntkomma geleverd in de vorige regel, de compiler Hij interpreteert alles wat geschreven is als een nieuwe zin.wat niets te maken zal hebben met het vorige. Daarom is het nu al mogelijk om een test uit te voeren om te zien hoe de compiler zich gedraagt.
Om dit te doen, moet u een nieuw programma openen in de Arduino IDE en de volgende code kopiëren; u hoeft het bord niet op de computer aan te sluiten:
//Geen puntkomma int variable1 = 0 void setup() { // Voeg hier je code in; } void loop() { // Plaats hier je hoofdcode, zodat deze herhaaldelijk wordt uitgevoerd; }
Vervolgens moet u op de knop "Verifiëren" klikken; dit is de eerste snelkoppeling naar de editor:
Sketch_may29a:4: fout: verwacht ',' of ';' vóór 'void' Void setup() { Exit status 1 Verwacht ',' of ';' vóór 'void'
Zoals je kunt zien, verschijnt het hier. de eerste fout. Om dit op te lossen, is het belangrijk om het te analyseren. Als je naar het bericht kijkt, zie je dat de foutmelding in het Engels staat, maar wel heel beschrijvend is. “Verwacht” “,” “Of” “, “voordat het ongeldig wordt”, Dit betekent dat een een komma of een punt en zoals eerder het woord void.
Laten we eens kijken:
Sketch_may29a:4: fout: verwacht ',' of ';' vóór 'void' Void setup() { Exit status 1 Verwacht ',' of ';' vóór 'void'
Eindelijk, en el De redacteur zal een rode strook zien. Dit geeft aan op welke regel de fout zich bevindt en waar deze in de console wordt weergegeven. De volgende stap is... Wijzig de code en plaats een puntkomma aan het einde van regel 2, zodat de code compileert. Zoals je ziet, is de compiler niet alleen veeleisend, maar helpt hij ook bij het corrigeren van fouten.
Variabelen
Variabelen Ze behoren tot de belangrijkste concepten in wat Programmeren in de Arduino-taal. Deze bestaan uit een programmeertool die Het stelt je in staat om informatie op te slaan en op te halen. van de programma's.
Gegevenstypen
Het gaat niet alleen om het hebben van een Geef de variabele een naammaar om het type te kunnen aangeven gegevens die moeten worden opgeslagenDaarom zijn gegevenstypen verantwoordelijk voor het aangeven van de op te slaan informatie, waarbij elk type wordt gespecificeerd. gegevenstypen.
Dit zal het proces van gegevensopvraging en -verwerving aanzienlijk vereenvoudigen; het is immers niet hetzelfde om naar iets onbekends te zoeken als om vooraf te weten wat je zoekt. Het is ook belangrijk te vermelden dat elke variabele slechts aan bepaalde criteria kan voldoen. een specifiek gegevenstype opslaan wanneer die variabele wordt gedeclareerd.
funciones
In het geval van functies vereisen sommige functies parameters zoals de digitalWrite-functiewaarbij het belangrijk is om twee dingen te kunnen weten, zoals el toestand (HOOG of LAAG) en het pincode.
U vraagt zich zeker af Hoe weet ik welke parameters de functie accepteert? In dit geval is het raadzaam om de taalreferentie te raadplegen; dit is vergelijkbaar met een handleiding of gebruikershandleiding. Vrijwel elke taal heeft zijn eigen referentie. Na het raadplegen van... “DigitalWrite” U zult merken dat de website in het Engels is.
Dit is dan ook het grootste nadeel, maar je kunt wel het volgende zien:
In het gedeelte met referenties vindt u alles wat u moet weten over het gebruik van de functie:
- Syntaxis: Geef aan hoe de functie is geschreven en hoeveel parameters deze accepteert.
- Parameters: Hier wordt elke parameter uitgelegd en de betekenis ervan beschreven.
- Retourneert: Als er een waarde wordt geretourneerd, zal de functie het gegevenstype aangeven. De digitalWrite-functie Het retourneert geen waarde, dus er wordt niets geplaatst.
Arduino setup() en loop() functies
Uiteindelijk vinden we wat De setup- en loop-functies van ArduinoBeide worden beschouwd als de belangrijkste functies van een programma en zijn essentieel wanneer... Leer Arduino.
setup() functie
Het is een Arduino-programma, waarbij sommige dingen maar één keer hoeven te worden gedaan, zoals het volgende:
- Beginnen la seriële communicatie met de computer via de USB-poort.
- tonen un Welkoms bericht op een lcd-scherm.
- Configureer de welkomstpincodes op een lcd-scherm.
- Beginnen un teller naar nul.
- Draai een servomotor naar een lineaire positie. standaard.
Houd er rekening mee dat dit taken zijn die slechts eenmaal worden uitgevoerd. Daarom kunnen ze worden omschreven als... de beginvoorwaarden van het programma, Dit soort taken zijn de taken die erin gaan setup() functie. Om dit alles beter te begrijpen, zullen we deze functie hier nader bekijken.
In dit geval de setup() functie Het heeft een speciale kleur in de Arduino IDEnet zoals bij anderen gebeurt grondbeginselen van taal. Deze kleur geeft aan dat de Arduino-IDE kan de functie identificeren als een speciaal type dat wordt gebruikt voor de controle over de codestructuur. Net als elke functie heeft het een openingshaakje en een sluitingshaakje.
Maar in tegenstelling tot de meeste functies heeft setup() in dit geval geen argumenten nodig om te werken:
Void setup() { }
Zoals je aan de linkerkant kunt zien het woord instellen is gevonden het woord leegte, wat aangeeft dat dit De functie retourneert geen waarde of gegevens. Daarom, zei Deze functie vereist geen argumenten en retourneert geen waarde. Maar het doet wel degelijk iets.
In dit geval is het de taak van het programma om alle code binnenin uit te voeren; dit wordt tussen accolades weergegeven als volgt:
void setup() { //Modi voor pinnen 5 en 8 pinMode(5, INPUT); pinMode(8, INPUT); //Welkombericht op het LCD-scherm LCD.write("Welkom bij Arduino Pizzeria"); //Standaardpositie van de servomotor Servo.move(90); }
Aldus de instelfunctie Het is het eerste dat in werking treedt wanneer de Arduino-programmaZodra het is uitgevoerd de instelfunctieHet programma voert elke regel één voor één uit. Het belangrijkste van de setup is dat deze slechts één keer wordt uitgevoerd, precies zoals hierboven beschreven. Dit is dus erg belangrijk. De code tussen die twee accolades wordt slechts één keer uitgevoerd..
loop() functie
zoals setup is een Arduino-programmamaar deze keer loopt het erachteraan. de instelfunctie.
De betekenis van 'loop' is herhaling, en is vergelijkbaar met die van 'setup':
Void loop () } {
Het vereist geen enkele vorm van argumentatie, ook al heeft het dat wel. openende en sluitende haakjes. In dit geval retourneert het geen waarde, dus het heeft het woord leegte links ervanZo laten we u nu zien hoe het openen en sluiten van de sleutel werkt. ({}).
Hetzelfde gebeurt hier als in de setup-functie; wanneer de loop-functie wordt uitgevoerd, doorloopt deze regel voor regel, zoals te zien is in de volgende code:
void loop() { Lees pin 5 Int pinCinco = digitalRead(5); //Pin 8 in hoge toestand Digitalwrite(8, HIGT); //Servomotor naar positie 180° Servo.mode(180); }
Men kan stellen dat het grote verschil dat bestaat tussen de setup- en loopfunctie Het is dat wanneer je bent De code van de lusfunctie uitvoerenHet programma keert terug naar het begin en herhaalt alles. Het komt in een oneindige lus terecht en herhaalt het hele proces. Nu is het belangrijk om te kijken naar de snelheid waarmee de functie wordt uitgevoerd, aangezien deze voornamelijk wordt bepaald door elke... microcontroller.
Bij la Arduino UNO-bordde microcontroller gebruikt wordt de ATmega328P en heeft een snelheid van 20 MHz (megahertz). Dit alles is gelijk aan een een totaal van 20.000.000 instructies per seconde, Maar dit betekent niet dat het zo is. 20 miljoen regels codeHet is belangrijk om te onthouden dat de code die je schrijft, wordt omgezet in machinecode.
Elk regel code dat je schrijft kan vertalen naar meerdere vertalingenMaar zelfs dan, als je tenminste hebt 1.000 instructies zouden 0,00005 seconden duren. De snelheid is dus ongelooflijk. In het geval van het Arduino-programma gebeurt dit elke keer wanneer de laatste regel code wordt bereikt... de lusfunctieHierdoor keert het proces terug naar het begin en wordt alles opnieuw uitgevoerd; er wordt dus niet gewacht op externe invoer.















