Een beginnersgids voor Arduino (5 / 15 stap)

Stap 5: Knipperen: digitale uitgangen


Blink: eerste Arduino code

Wanneer u de stekker in uw Arduino voor de eerste keer, ziet u een groen licht (met 'ON' volgende geschreven-dit is de voedings-LED) en een oranje licht dat (met 'L knippert' geschreven ernaast). Dit is de standaard 'Blink' programma, het de interne LED inschakelt voor een tweede, dan schakelt deze weer uit voor een tweede, voor eeuwig herhalende.

Neem een blik bij de code: de Arduino IDE Open en ga naar bestand > voorbeelden > 01. Basics > knipperen.

Het eerste ding u zult opmerken, zijn de eerste 14 lijnen die lichter zijn dan de rest. Al tekst geplaatst tussen de * / / * ondertekent, is een opmerking. Dit is een commentaar van meerdere regels. Op regel 17, er zijn enkele meer opmerkingen, ze gebruiken de / / exploitant, alles op die lijn, die komt na de / / is een opmerking. De volgende regel is gewoon normaal code weer, je niet hoeft te sluiten deze opmerking van één regel, in tegenstelling tot de opmerking van de multi-lijn.

Opmerkingen worden gebruikt om uw code beter leesbaar, dus het sterk aanbevolen is dat u ze in uw eigen programma's gebruiken. Het is niet echt nodig in een klein programma, zoals Blink, maar wanneer u code van over duizend lijnen schrijft, zult u zeer dankbaar zijn als u hebt toegevoegd enkele opmerkingen, zodat u kunt begrijpen wat een bepaald stuk van code doet en hoe het werkt.
U kunt ook de commentaar-exploitanten (tijdelijk) een stukje code, zonder het te verwijderen permanent uitschakelen. Dit werkt, omdat de opmerkingen niet doen krijgen geüpload naar de Arduino. (Ze worden genegeerd door de compiler, het stuk van software dat converteert de code die u schrijft in de Arduino IDE op opdrachten die de Arduino begrijpt.) Dit betekent ook dat zij doen niet elke ruimte innemen in de Arduino de (beperkte) geheugen, alleen op de vaste schijf van uw computer.

Arduino Referentie: opmerkingen

Het volgende stukje code die we tegenkomen is 'void setup {'
Dit is de setup routine, het slechts éénmaal uitgevoerd, telkens wanneer de Arduino wordt opgestart. (ongeldig is een gegevenstype, het betekent dat geen informatie wordt geretourneerd door de setup, meer hierover later. De twee haakjes worden gebruikt in elke functie, doorgeven van gegevens via; Setup hoeft niet alle gegevens, dus de haken leeg zijn. Maak je geen zorgen als je niet dit begrijpt nog, zullen wij het in detail in de stap over functies behandelen.)
Alles tussen de twee gekrulde haakjes of accolades na 'void setup' de code is die wordt uitgevoerd tijdens de installatie. Zorg ervoor dat u altijd uw haakjes sluiten, anders krijg je vreemde fouten. De IDE helpt u met dit door te wijzen op de andere beugel, als u één selecteert.

Arduino Referentie: nietig

Arduino Referentie: setup

Arduino Referentie: accolades

De eerste echte opdracht is 'pinMode (13, OUTPUT);'. Zoals u al geraden misschien, dit heeft te maken met de twee rijen van pinnen op elke Arduino: deze pinnen kunnen worden gebruikt als een ingang of als uitgang. Het eerste getal is de pincode die we gebruiken als uitgang, 13 in dit geval willen, aangezien alle Arduino boards Arduino boards een ingebouwde LED aangesloten op pin 13 hebben. OUTPUT, het tweede argument van de functie van de pinMode, is een constante. Dit is een waarde die is gedefinieerd door de software zelf, en een gemakkelijke naam heeft gekregen. Constanten zal hebben een blauwe kleur.
(De waarde van de OUTPUT is 1, die is een beetje contra-intuïtief, sinds haar O ziet eruit als een 0, en de I van de INPUT-constante ziet eruit als een 1. pinMode(13,OUTPUT) precies hetzelfde als pinMode(13,1) )

Standaard hebben van de Arduino pinnen zijn ingesteld als een input, maar met behulp van de functie van de pinMode, wij nu pin 13 als uitgang. Wij nog niet verteld welke waarde die we output nog, willen dus het zal gewoon 0. Dit betekent dat binnen de chip, pin 13 is aangesloten op de 0v, dit is de grond. Als u met de 5 v-pin pin 13 nu verbinden wilt, maakt u een -kortsluiting! Wees voorzichtig!

Arduino Referentie: pinMode

Arduino tutorials: digitale pennen

In de Arduino IDE, en andere programmeertalen C-achtige, wordt elke verklaring beëindigd met een puntkomma (;), zoals u in dit voorbeeld Blink zien kunt. Als je cryptische fouten wanneer het proberen om te uploaden, zijn een van de eerste dingen om te controleren de puntkomma's. Allermeest naar de tijd, krijg je een foutmelding als deze: Blink: 16: fout: verwacht ',' of ';' voor...
16 is niet de lijn waar er een ontbreekt een puntkomma, maar de regel met de volgende opdracht/instructie.

Arduino Referentie:; puntkomma

Het volgende element van de structuur is 'void loop {'
De code tussen de gekromde haken wordt uitgevoerd nadat de installatie voltooid is, en voor eeuwig zal herhalen (ten minste totdat u opnieuw opstarten van de Arduino, of een ander programma uploaden).

Arduino Referentie: lus

De volgende functie is 'digitalWrite (13, hoge)'
Dit 'schrijft' pin 13 hoge, met andere woorden, verbindt het intern aan op de 5v pin. De LED op de Arduino is aangesloten tussen de grond en pin 13, dus nu er 5 v over de LED is, en het omhoog zal aansteken.

Wees niet worden te kort nu pin 13 op de grond, zal het een kortsluiting maken!

Kunt u dezelfde functie met de lage constante zo goed wordt gebruikt, zal dit pin 13 sluit aan op de grond (binnen de chip). Nu is er geen spanningsverschil over de LED, en het zal gaan.

In plaats van hoog en laag, kunt u ook gebruiken 1 en 0, of waar en ONWAAR.

Arduino Referentie: digitalWrite

De laatste functie is een zeer intuïtief: delay(1000)
Hij wacht alleen op een bepaalde hoeveelheid tijd, in milliseconden. In dit geval zal het wachten 1000 ms, of 1 seconde, voordat de volgende opdracht wordt uitgevoerd.

Arduino Referentie: vertraging

Als we bij de lijn 29 aankomen, beginnen we op lijn 25, omdat we in de lus.

Samenvatting:

  1. In het Configuratiemenu, die alleen worden uitgevoerd als wanneer het programma wordt gestart, we pin 13 ingesteld als uitgang.
  2. In de lus, we maken de output van de led HIGH (5v), wachten 1,000ms, het laag (0v) en wachten op een ander tweede. Deze lus zal voor altijd worden herhaald (tenminste totdat u opnieuw opstarten van de Arduino, of uploaden van een ander programma)
  • / * Dit is een commentaar * / dit is niet
  • Dit is niet een commentaar / / dit is een reactie
  • iedere instructie eindigt met een puntkomma;
  • void setup {} is de functie die wordt uitgevoerd zodra, wanneer de Arduino opstart
  • void loop {} is de functie die wordt herhaald voor eeuwig, nadat de setup is uitgevoerd
  • pinMode(pin,OUTPUT); of pinMode(pin,1); de bepaalde pin ingesteld als uitgang
  • digitalWrite (pin, staat); Hiermee stelt u een bepaalde pin high (5v) of laag (0v). Staat kunnen hoog of laag, 1 of 0, waar of onwaar zijn.
  • Delay(time); wacht op een bepaalde hoeveelheid tijd, in milliseconden.

Gerelateerde Artikelen

Een beginnersgids voor Kolrosing, door een beginner.

Een beginnersgids voor Kolrosing, door een beginner.

* Dit is mijn inzending voor de wedstrijd "Houtbewerking". Als je van wat ik hier heb gedaan gelieve te stemmen! Bedankt! *Dus je zo ongeveer klaar met uw houtbewerkingsproject bent, hebt misschien je gemaakt enkele lepels, een mooie doos, een m
Visie: Een fakkel voor de personen met gezichtsstoornissen

Visie: Een fakkel voor de personen met gezichtsstoornissen

Visie is een apparaat van de fakkel gevormd om te helpen blinden navigeren met meer comfort, snelheid en vertrouwen, terwijl maken gebruik van ultrasone golven te detecteren in de buurt van hindernissen en hoogte te stellen van de gebruiker door midd
Digitale multimeter shield voor Arduino

Digitale multimeter shield voor Arduino

Dit instructable beschrijft een schild, die "Arduino" board in een digitale multimeter (DMM converteert).Het schild kan worden ingevoegd in "Arduino" UNO und Duemilanove planken. Het kan werken in drie modi:standalone - de meting gegev
How to Build een schild voor de Linkit One

How to Build een schild voor de Linkit One

Hallo mensen! Pure koolstof hier met een ander Instructable. Vandaag zal ik u tonen hoe te bouwen van een aangepaste schild voor het Linkit één Board. Voordat we in dat krijgen maar moet ik u vertellen waarom ik ging op dit streven in de eerste plaat
Een Absolute beginnersgids voor de Intel Edison

Een Absolute beginnersgids voor de Intel Edison

Hey daar! Onlangs ontving ik een Intel Edison board van Instructables, als een aardige gift. Als je afvraagt wat dat is, is de Intel Edison een kleine computer de grootte van een SD-kaart (dat is serieus klein), voor elektronica en computer hobbyiste
ArduDroid: Een eenvoudige 2-weg Bluetooth gebaseerde Androïde Controller voor Arduino

ArduDroid: Een eenvoudige 2-weg Bluetooth gebaseerde Androïde Controller voor Arduino

UPDATES:19 nov. 2031: advies: de fantastische synergie tussen Arduino & Android.30 oktober 2013: Andruino is nu officieel ARDUDROID en zal binnenkort beschikbaar op Google Play. Deze naamswijziging te vermijden conflict met een andere app op Google P
Het maken van een androïde toepassing voor Arduino (LED Turn on/off)

Het maken van een androïde toepassing voor Arduino (LED Turn on/off)

hier hebben we een androïde toepassing die gebruikmaakt van ecllipsedeze toepassing inschakelen leidde op arduino.deze toepassing werkt ook in je LAN.Hardware vereist:1: arduino uno2: arduino ethernet Shield3: RJ45-kabel4: LED5. android telefoonDe so
SensoDuino: Zet uw Androïde telefoon in een draadloze sensoren Hub voor Arduino

SensoDuino: Zet uw Androïde telefoon in een draadloze sensoren Hub voor Arduino

UPDATES23 november 2013: SensoDuino 0.160 krijgt een links.19 nov. 2031: advies: de fantastische synergie tussen Arduino & Android.19 november 2013: SensoDuino 0.159 is uit. Android telefoon datum (y, m, d) en tijd (h, m, s) worden ondersteund als se
Gemakkelijk, omkeerbare Motor controle voor Arduino (of een Microcontroller)

Gemakkelijk, omkeerbare Motor controle voor Arduino (of een Microcontroller)

dit project maakt gebruik van slechts drie hoofdcomponenten voor voorwaartse en omgekeerde bepalen voor een interne motor.  U kunt het gemakkelijk interface naar een Arduino of elke andere microcontroller.Het is zo eenvoudig - u kunt het draad van "f
AVRSH: Een tolk opdrachtshell voor Arduino/AVR.

AVRSH: Een tolk opdrachtshell voor Arduino/AVR.

Ooit wilde worden "aangemeld" bij uw AVR microcontroller? Ooit gedacht dat het zou gaaf zijn aan de "kat" een register om te zien van de inhoud ervan? Hebt u altijd al wilde een manier om de nodige energie en individuele perifere sub-s
Een Complete gids voor Onboard Jumpers op de Intel Edison kit voor Arduino

Een Complete gids voor Onboard Jumpers op de Intel Edison kit voor Arduino

De Intel® Edison kit voor Arduino kunt de Intel® Edison verenigbaar met Arduino shields ontworpen voor de UNO R3. De Arduino Expansion Board omvat verschillende jumper headers configureren van de Raad van bestuur met verschillende instellingen zoals
Een kleine Tea Timer (TTT) machine voor Arduino en ATtiny

Een kleine Tea Timer (TTT) machine voor Arduino en ATtiny

De TinyTeaTimmer (TTT) is een implementatie voor een kleine accessoire die gemakkelijk kan worden gemonteerd en geprogrammeerd d.m.v. een schakelaar, een knop, 1 of 2 LED's, een kleine servomotor en een Arduino board of een ATTiny-processor.De schets
Een gids voor het beheren van dingen met wisselende inbreng (via arduino)

Een gids voor het beheren van dingen met wisselende inbreng (via arduino)

het hart van dit project is een) aansluiten van een sensor op de analoge ingang van de arduino en b) programmeren met de if... else-statement.dit specifieke project toont een computer koelsysteem te handhaven bepaalde temperatuur binnen een computer
Een gids voor Raspberry Pi Arduino mededeling in Embedded systemen

Een gids voor Raspberry Pi Arduino mededeling in Embedded systemen

Dit is een gids voor verschillende methoden voor communicatie tussen de Raspberry Pi en Arduino. Deze handleiding is gemaakt van alles wat die ik heb geleerd van de oprichting van een forest capaciteiten. De post van het project kan worden gezien, ee