ElectricianExp.com
Terug naar

Hoe sluit je een LED aan op een Arduino-bord

Gepubliceerd: 16.08.2021
0
1490

Het Arduino-platform is over de hele wereld enorm populair. Het is het ideale instrument voor de eerste stappen in het leren programmeren en bedienen van de hardware. Naarmate uw vaardigheden groeien, kunt u de architectuur uitbreiden door perifere kaarten toe te voegen en complexere systemen maken die complexere programma's uitvoeren. De Arduino Uno en Arduino Nano boards zijn geschikt voor de eerste training. We zullen deze borden gebruiken als voorbeeld om een LED aan te sluiten op de Arduino.

Wat is Arduino Uno en Arduino Nano?

De basis van het Arduino Uno bord is de ATmega328 microcontroller. Er zitten ook extra elementen op:

  • een kwarts resonator;
  • resetknop;
  • USB-aansluiting;
  • geïntegreerde spanningsregelaar;
  • power connector;
  • Verschillende LED's voor mode-indicatie;
  • USB communicatie chip;
  • On-chip programmeerconnector;
  • Verscheidene andere actieve en passieve elementen.

Dit alles stelt u in staat de eerste stappen te zetten zonder een soldeerbout te gebruiken en de stap van het maken van een printplaat te vermijden. Het toestel wordt gevoed door een externe 7...12V voeding of via een USB-aansluiting. Het verbindt de module ook met een PC om de sketch te laden. Het bord heeft een 3,3V voeding voor externe apparaten. Er zijn 6, 14 digitale uitgangen voor algemeen gebruik beschikbaar voor bediening. De belastingscapaciteit van de digitale uitgang bij een spanning van 5 V bedraagt 40 mA. Dit betekent dat een LED er rechtstreeks op kan worden aangesloten via een begrenzingsweerstand.

Arduino Uno.
Arduino Uno.

Het Arduino Nano board is volledig compatibel met de Uno, maar is kleiner en heeft enkele verschillen en vereenvoudigingen zoals aangegeven in de tabel.

De raadControllerConnector voor externe voedingUSB-communicatiechipUSB-aansluiting
Arduino UnoATmega328Kijk hier.ATmega8U2USB A-B
Arduino NanoATmega328GeenFT232RLmicro USB
Arduino Nano.
Arduino Nano.

De verschillen zijn niet fundamenteel en zijn niet belangrijk voor het onderwerp van dit overzicht.

Wat je nodig hebt om de LED aan te sluiten op het Arduino bord

Er zijn twee mogelijkheden om de LED aan te sluiten. Voor leerdoeleinden kunt u beide kiezen.

  1. Gebruik de ingebouwde LED. In dit geval is niets anders nodig dan een kabel voor aansluiting op een PC via USB - voor voeding en programmering. Het heeft geen zin een externe voeding te gebruiken om de printplaat van stroom te voorzien: het stroomverbruik is laag.

    USB A-B snoer
    Een USB A-B kabel om de Arduino Uno op de PC aan te sluiten.
  2. Sluit de externe LED's aan. Je hebt ook nog het volgende nodig:
    • De LED zelf;
    • een stroombegrenzende weerstand van 0,25 W (of meer) met een nominale waarde van 250-1000 ohm (afhankelijk van de LED);
    • Draden en een soldeerbout voor het aansluiten van het externe circuit.
Aansluiten van een externe LED
Sluit externe LED rechtstreeks aan op de uitgang van de controller.

De kathode van de LED's wordt verbonden met een digitale pen van de microcontroller, de anode met de gemeenschappelijke draad via een voorschakelweerstand. Een extra voeding kan ook nodig zijn als het aantal LED's groot is.

Is het mogelijk om meerdere LED's op één pin aan te sluiten

Het kan nodig zijn een externe LED of groep LED's op een van de pennen aan te sluiten. De belastbaarheid van één pin van de microcontroller is, zoals gezegd, gering. Een of twee LED's met een stroomverbruik van 15 mA kunnen er rechtstreeks parallel op worden aangesloten. Het is geen goed idee om de overlevingskansen van een pen te testen met een belasting die op of boven de grens van zijn mogelijkheden ligt. Een transistorgebaseerde schakelaar (veld of bipolair) is een betere keuze. (veld of bipolair).

Het aansluiten van een LED via een bipolaire triode schakeltransistor.
LED-aansluiting via een transistorschakelaar op een bipolaire triode.

Weerstand R1 moet zo worden gekozen dat de stroom erdoor niet groter is dan de stroombelastbaarheid van de uitgang. Het is beter om de helft of minder van het maximum te nemen. Dus, om een gematigde stroom van 10 mA.moet de weerstand bij 5 volt voeding 500 Ohm..

Elke LED moet zijn eigen voorschakelweerstand hebben; vervanging door één gemeenschappelijke weerstand is ongewenst. De Rbal moet zo worden gekozen dat de bedrijfsstroom door elke LED wordt ingesteld. Dus, voor een voedingsspanning van 5 volt en een stroom van 20 mAmoet de weerstand 250 ohm zijn of de dichtstbijzijnde standaardwaarde.

Er moet op worden gelet dat de totale stroom door de collector van de transistor de maximumwaarde niet overschrijdt. Bijvoorbeeld, voor een KT3102-transistor moet de hoogste Ik worden beperkt tot 100 mA. Dit betekent dat er niet meer dan 6 LED's kunnen worden aangesloten met een stroom van 15 mA. Als dit niet voldoende is, moet een sterkere schakelaar worden gebruikt. Dit is de enige beperking voor de keuze van een n-p-n transistor in een dergelijke schakeling. Theoretisch moet rekening worden gehouden met de triodeversterking, maar voor de gegeven omstandigheden (ingangsstroom 10mA, uitgang 100mA) moet deze ten minste 10 zijn. Deze h21e kan door elke moderne transistor worden geproduceerd.

Deze schakeling is niet alleen geschikt om de uitgang van de microcontroller stroomopwaarts te versterken. U kunt op deze manier voldoende krachtige actuatoren (relais, solenoïden, elektromotoren) aansluiten die door een hogere spanning worden gevoed (b.v. 12 volt). Neem bij de berekening de juiste spanningswaarde.

Het is ook mogelijk om MOSFET transistorsmaar ze kunnen een hogere spanning nodig hebben om te openen dan de Arduino-uitgang kan leveren. In dat geval moet in extra circuits en elementen worden voorzien. Om dit te vermijden moet u zogenaamde "digitale" veldeffecttransistoren gebruiken - deze hebben slechts 5 5 volt om te openen. Maar ze komen minder vaak voor.

Softwarebesturing van LED's

Alleen een LED aansluiten op de uitgang van de microcontroller stelt niet veel voor. Je moet leren hoe je de LED vanaf de Arduino programmatisch kunt aansturen. Je kunt dit doen met de Arduino taal die gebaseerd is op C (C). Deze programmeertaal is een aanpassing van C voor de basisopleiding. Als u het eenmaal hebt geleerd, zal de overgang naar C++ niet moeilijk zijn. Om sketches (zo worden programma's voor Arduino genoemd) te schrijven en ze live te debuggen, moet je het volgende doen:

  • installeer de Arduino IDE omgeving op de personal computer;
  • moet u misschien het stuurprogramma voor de USB-communicatiechip installeren;
  • sluit de printplaat aan op de PC met een USB-microUSB kabel.
Interface van Arduino ontwikkelingsinterface
De Arduino IDE interface is een uitnodiging om een programma te schrijven.

Computersimulatoren kunnen worden gebruikt om eenvoudige programma's en schakelingen te debuggen. Proteus (vanaf versie 8) ondersteunt bijvoorbeeld de simulatie van Arduino Uno en Nano boards. Het gemak van de simulator is dat het niet mogelijk is het ijzer te breken als de schakeling verkeerd is gemonteerd.

Arduino simulatie met
Een simulatie van de Arduino met een aangesloten LED in Proteus 8.23.

De schema's bestaan uit twee modules:

  • setup - wordt eenmaal uitgevoerd wanneer het programma wordt gestart en initialiseert de variabelen en modi van het ijzer;
  • lus - loopt cyclisch na de setup tot in het oneindige.

Voor LED Elk van de 14 vrije pinnen, vaak ten onrechte poorten genoemd, kan worden gebruikt om de LED aan te sluiten. Een poort is eigenlijk, simpel gezegd, een groep pinnen. De speld is slechts een element.

Een voorbeeld van aansturing wordt overwogen voor pen 13 - een LED is er al mee verbonden op het bord (via een versterker op het Uno bord, via een weerstand op het Nano bord). Om met de poortpen te werken moet je deze configureren in ingangs- of uitgangsmodus. Dit is handig om te doen in de setup body, maar niet noodzakelijk - de pintoewijzing kan dynamisch veranderd worden. Dit betekent dat tijdens de uitvoering van het programma de poort kan werken voor invoer of uitvoer.

De initialisatie van pin 13 van de Arduino (pin PB5 van poort B van de ATmega 328) ziet er als volgt uit:

void setup ()

{

pinMode (13, Uitgang);

}

Na het uitvoeren van dit commando zal pin 13 van het bord in uitgangsmodus werken en standaard een laag logisch niveau hebben. U kunt er nul of één naar schrijven tijdens de uitvoering van het programma. Het schrijven van één ziet er zo uit:

lus ()

{

digitalWrite (13, HIGH);

}

Pen 13 van de printplaat wordt nu ingesteld op een hoog niveau, een logische één, en kan worden gebruikt om de LED te laten oplichten.

Om de LED te doven, moet de uitgang op nul worden gezet:

digitalWrite (13, LOW);

Door afwisselend één en nul te schrijven naar de overeenkomstige bits van het poortregister kunt u externe apparaten aansturen.

Nu kunnen we het Arduino-programma compliceren om de LED te besturen en leren hoe we het lichtgevende element kunnen laten knipperen:

void setup ()

{

pinMode (13, Uitgang);

}

lus ()

{

digitalWrite (13, HIGH);

vertraging(1000);

digitalWrite (13, LOW);

vertraging(1000);

}

Opdracht vertraging(1000) commando creëert een vertraging van 1000 milliseconden of een seconde. Door deze waarde te veranderen kunt u de frequentie of de knipperfrequentie van de LED veranderen. Als u een externe LED op een andere pen van het bord aansluit, moet u in het programma ook het nummer van de gekozen pen opgeven in plaats van 13.

Wij bevelen een reeks video's aan voor de duidelijkheid.

Als je eenmaal de LED-aansluitingen op de Arduino onder de knie hebt en hebt geleerd hoe je ze moet aansturen, kun je naar het volgende niveau gaan en andere, complexere programma's schrijven. U kunt bijvoorbeeld leren hoe u twee of meer LED's schakelt met een knop, de knipperfrequentie wijzigt met een externe potentiometer, de helderheid van de gloed aanpast met PWM, of de kleur van een RGB-emitter verandert. Het niveau van de uitdaging wordt alleen beperkt door de verbeelding.

Opmerkingen:
Nog geen commentaar. Wees de eerste!

Tips voor het lezen

Hoe repareer je zelf een LED armatuur