lamp.housecope.com
Rug

Hoe LED op Arduino-bord aan te sluiten

Gepubliceerd: 16.08.2021
0
1490

Het Arduino-platform is razend populair over de hele wereld. Een ideaal hulpmiddel voor de eerste stappen in de ontwikkeling van programmering en hardwarebeheer. Naarmate je vaardigheden toenemen, kun je de architectuur opschalen door randapparatuur toe te voegen en complexere systemen te bouwen die complexere programma's uitvoeren. Arduino Uno en Arduino Nano boards zijn geschikt voor initiële training. In hun voorbeeld wordt de aansluiting van de LED op de Arduino overwogen.

Wat is Arduino Uno en Arduino Nano?

De basis van het Arduino Uno-bord is de ATmega328-microcontroller. Het heeft ook extra elementen:

  • kwarts resonator;
  • reset knop;
  • USB-aansluiting;
  • geïntegreerde spanningsstabilisator;
  • stekker;
  • meerdere LED's voor het aangeven van modi;
  • communicatiechip voor USB-kanaal;
  • connector voor in-circuit programmering;
  • nog een paar actieve en passieve elementen.

Dit alles stelt u in staat om de eerste stappen te zetten zonder een soldeerbout te gebruiken en de fase van het vervaardigen van een printplaat te vermijden.Het apparaat wordt gevoed door een externe spanningsbron van 7..12 V of via een USB-connector. Hierdoor is de module verbonden met de pc om de schets te downloaden. Het bord heeft een spanningsbron van 3,3 V voor het voeden van externe apparaten. 6, 14 universele digitale uitgangen zijn beschikbaar voor gebruik. De belastingscapaciteit van de digitale uitgang bij voeding van 5 V is 40 mA. Dit betekent dat er direct een LED op kan worden aangesloten via beperkende weerstand:.

Arduino Uno.
Arduino Uno.

Het Arduino Nano-bord is volledig compatibel met de Uno, maar kleiner van formaat en heeft enkele verschillen en vereenvoudigingen die in de tabel worden aangegeven.

BetalenControllerConnector voor externe voedingMicrochip voor USB-communicatieUSB-connector
Arduino UnoATMega328Er bestaatATMega8U2USB A-B
Arduino NanoATMega328NietFT232RLmicro USB
Arduino Nano.
Arduino Nano.

De verschillen zijn niet fundamenteel en doen er niet toe voor het onderwerp van de review.

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

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

  1. Gebruik ingebouwde LED. In dit geval is er niets anders nodig, behalve een kabel voor aansluiting op een pc via een USB-connector - voor voeding en programmering. Het heeft geen zin om een ​​externe spanningsbron te gebruiken om het bord van stroom te voorzien: het stroomverbruik is klein.

    USB A-B-kabel
    USB A-B-kabel om Arduino Uno op pc aan te sluiten.
  2. Externe LED's aansluiten. Hier heb je bovendien nog nodig:
    • de LED zelf;
    • stroombegrenzende weerstand met een vermogen 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 een extern circuit.
Een externe LED aansluiten
Een externe LED rechtstreeks aansluiten op de uitgang van de controller.

LED's zijn kathode verbonden met elke digitale uitgang van de microcontroller, anode met een gemeenschappelijke draad via een ballastweerstand. Bij een groot aantal LED's kan een extra stroombron nodig zijn.

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

Het kan nodig zijn om een ​​externe LED of een groep LED's aan te sluiten op een van de uitgangen. Het laadvermogen van één uitgang van de microcontroller is, zoals gezegd, klein. Een of twee LED's met een stroomverbruik van 15 mA kunnen er direct parallel op worden aangesloten. Het is niet de moeite waard om de overlevingskansen van de output te testen met een belasting die op de rand van de mogelijkheid staat of deze overschrijdt. Het is beter om een ​​schakelaar op een transistor te gebruiken (veld of bipolair).

LED aansluiten via een transistorschakelaar op een bipolaire triode.
LED aansluiten via een transistorschakelaar op een bipolaire triode.

Weerstand R1 moet zo worden gekozen dat de stroom erdoorheen het laadvermogen van de uitgang niet overschrijdt. Het is beter om de helft of minder van het maximum te nemen. Dus, om een ​​matige stroom in te stellen in 10 mA, moet de weerstand bij 5 volt voeding . zijn 500 ohm.

Elke LED moet zijn eigen ballastweerstand hebben, het is onwenselijk om deze te vervangen door één gemeenschappelijke. Rbal is zo gekozen dat de bedrijfsstroom door elke LED wordt ingesteld. Dus voor een voedingsspanning van 5 volt en een stroom van 20 mA, moet de weerstand 250 ohm zijn of de dichtstbijzijnde standaardwaarde.

Het is noodzakelijk om ervoor te zorgen dat de totale stroom door de collector van de transistor zijn maximale waarde niet overschrijdt. Dus voor de KT3102-transistor moet de grootste Ik worden beperkt tot 100 mA. Dit betekent dat er niet meer dan 6 LED's met stroom op aangesloten kunnen worden. 15 mA. Als dit niet genoeg is, moet een krachtigere sleutel worden gebruikt.Dit is de enige beperking voor het kiezen van een n-p-n-transistor in een dergelijke schakeling. Zelfs hier is het theoretisch noodzakelijk om rekening te houden met de versterking van de triode, maar voor deze omstandigheden (ingangsstroom 10 mA, uitgang 100) zou dit slechts ten minste 10 moeten zijn. Elke moderne transistor kan zo'n h21e produceren.

Een dergelijke schakeling is niet alleen geschikt om de stroomuitgang van de microcontroller te versterken. U kunt dus voldoende krachtige actuatoren (relais, elektromagneten, elektromotoren) aansluiten die worden aangedreven door verhoogde spanning (bijvoorbeeld 12 volt). Bij het berekenen moet u de bijbehorende spanningswaarde nemen.

U kunt ook gebruiken om toetsen uit te voeren MOSFET's, maar ze hebben mogelijk een hogere spanning nodig om te openen dan de Arduino kan uitvoeren. In dit geval moeten extra circuits en elementen worden voorzien. Om dit te voorkomen, is het noodzakelijk om de zogenaamde "digitale" veldeffecttransistoren te gebruiken - ze hebben 5 . nodig volt openen. Maar ze komen minder vaak voor.

Programmatisch aansturen van een LED

Simpelweg een LED aansluiten op de uitgang van de microcontroller stelt weinig voor. Het is noodzakelijk om de besturing van de LED vanuit de Arduino programmatisch onder de knie te krijgen. Dit kan in de Arduino-taal, die is gebaseerd op C (C). Deze programmeertaal is een aanpassing van C voor initieel leren. Na het onder de knie te hebben, zal de overgang naar C ++ eenvoudig zijn. Om schetsen te schrijven (zoals programma's voor Arduino worden genoemd) en ze live te debuggen, moet je het volgende doen:

  • installeer de Arduino IDE op een pc;
  • u moet mogelijk een stuurprogramma voor de USB-communicatiechip installeren;
  • sluit het bord aan op een pc met behulp van een USB-microUSB-kabel.
Interface voor Arduino-ontwikkelomgeving
De interface van de Arduino IDE ontwikkelomgeving is een uitnodiging om een ​​programma te schrijven.

Computersimulators kunnen worden gebruikt om eenvoudige programma's en circuits te debuggen. Simulatie van de werking van Arduino Uno- en Nano-boards wordt bijvoorbeeld ondersteund door Proteus (vanaf versie 8). Het gemak van de simulator is dat het onmogelijk is om de hardware uit te schakelen met een foutief geassembleerd circuit.

Simulatie van het werk van Arduino met
Simulatie van de Arduino met een aangesloten LED in Proteus 8.23.

Sketches bestaat uit twee modules:

  • opstelling - eenmaal uitgevoerd bij het opstarten van het programma, initialiseert variabelen en werkingsmodi van de hardware;
  • lus – wordt cyclisch uitgevoerd na het setup-blok tot oneindig.

Voor LED-aansluiting je kunt elk van de 14 vrije pinnen (pinnen), die vaak ten onrechte poorten worden genoemd, gebruiken. In feite is de poort, eenvoudig gezegd, een groep pinnen. Pin is slechts een element.

Een voorbeeld van besturing wordt overwogen voor pin 13 - er is al een LED op het bord aangesloten (via een versterker-volger op het Uno-bord, via een weerstand op de Nano). Om met een poortpin te werken, moet deze in de invoer- of uitvoermodus worden geconfigureerd. Het is handig om dit in de setup-body te doen, maar niet noodzakelijk - de uitvoerbestemming kan dynamisch worden gewijzigd. Dat wil zeggen, tijdens de uitvoering van het programma kan de poort zowel voor invoer als voor gegevensuitvoer werken.

De initialisatie van pin 13 van de Arduino (pin PB5 van poort B van de ATmega 328 microcontroller) is als volgt:

ongeldige setup()

{

pinMode(13, Uitgang);

}

Na het uitvoeren van dit commando zal pin 13 van het bord in output mode werken, standaard is deze logisch laag. Tijdens de uitvoering van het programma kan er nul of één naar worden geschreven. Het eenheidsrecord ziet er als volgt uit:

lege lus()

{

digitalWrite(13, HOOG);

}

Nu zal pin 13 van het bord hoog worden gezet - een logische, en het kan worden gebruikt om de LED te verlichten.

Om de LED uit te schakelen, moet u de uitgang op nul zetten:

digitalWrite(13, LAAG);

Dus door afwisselend één en nul naar het corresponderende bit van het poortregister te schrijven, kunt u externe apparaten bedienen.

Nu kun je het Arduino-programma ingewikkelder maken om de LED te besturen en leren hoe je het lichtgevende element kunt laten knipperen:

ongeldige setup()

{

pinMode(13, Uitgang);

}

lege lus()

{

digitalWrite(13, HOOG);

vertraging (1000);

digitalWrite(13, LAAG);

vertraging (1000);

}

Team vertraging(1000) creëert een vertraging van 1000 milliseconden of één seconde. Door deze waarde te wijzigen, kunt u de frequentie of duty-cycle van de knipperende LED wijzigen. Als een externe LED is aangesloten op een andere uitgang van het bord, moet u in het programma in plaats van 13 het nummer van de geselecteerde pin opgeven.

Voor de duidelijkheid raden we een reeks video's aan.

Nadat je de LED-verbindingen met de Arduino onder de knie hebt en hebt geleerd hoe je deze moet besturen, kun je naar een nieuw niveau gaan en andere, complexere programma's schrijven. U kunt bijvoorbeeld leren hoe u met een knop twee of meer LED's kunt schakelen, de knipperfrequentie kunt wijzigen met een externe potentiometer, de helderheid van de gloed kunt aanpassen met PWM, de kleur van een RGB-emitter kunt wijzigen. Het niveau van taken wordt alleen beperkt door de verbeelding.

Opmerkingen:
Er zijn nog geen reacties. Wees de eerste!

We raden je aan om te lezen

Zelf een LED-lamp repareren