lamp.housecope.com
Tilbage

Sådan tilsluttes LED til Arduino-kort

Publiceret: 16.08.2021
0
1490

Arduino-platformen er vildt populær over hele verden. Et ideelt værktøj til de første trin i udviklingen af ​​programmering og hardwarestyring. Efterhånden som du vokser i færdigheder, kan du skalere arkitekturen op ved at tilføje ydre enheder og bygge mere komplekse systemer, der kører mere komplekse programmer. Arduino Uno og Arduino Nano boards er velegnede til indledende træning. På deres eksempel overvejes forbindelsen af ​​LED til Arduino.

Hvad er Arduino Uno og Arduino Nano

Grundlaget for Arduino Uno-kortet er ATmega328-mikrocontrolleren. Det har også yderligere elementer:

  • kvarts resonator;
  • Genstarts knap;
  • USB-stik;
  • integreret spændingsstabilisator;
  • strømstik;
  • flere LED'er til indikering af tilstande;
  • kommunikationschip til USB-kanal;
  • stik til programmering i kredsløb;
  • nogle flere aktive og passive elementer.

Alt dette giver dig mulighed for at tage de første skridt uden at bruge et loddekolbe og undgå fasen med fremstilling af et trykt kredsløb.Enheden får strøm fra en ekstern spændingskilde på 7..12 V eller via et USB-stik. Gennem den forbindes modulet til pc'en for at downloade skitsen. Kortet har en 3,3 V spændingskilde til strømforsyning til eksterne enheder. 6, 14 digitale udgange til generelle formål er tilgængelige til drift. Belastningskapaciteten af ​​den digitale udgang, når den forsynes med 5 V, er 40 mA. Det betyder, at en LED kan tilsluttes direkte til den via begrænsende modstand.

Arduino Uno.
Arduino Uno.

Arduino Nano-brættet er fuldt kompatibelt med Uno, men mindre i størrelse og har nogle forskelle og forenklinger angivet i tabellen.

BetaleControllerStik til ekstern strømforsyningMikrochip til USB-kommunikationUSB-stik
Arduino UnoATmega328Der erATmega8U2USB A-B
Arduino NanoATmega328IkkeFT232RLmikro USB
Arduino Nano.
Arduino Nano.

Forskellene er ikke grundlæggende og har ingen betydning for gennemgangens emne.

Hvad du skal bruge for at forbinde LED til Arduino board

Der er to muligheder for tilslutning af LED. I læringsøjemed kan du vælge evt.

  1. Brug indbygget LED. I dette tilfælde er der ikke behov for andet, bortset fra et kabel til tilslutning til en pc via et USB-stik - til strøm og programmering. Det giver ingen mening at bruge en ekstern spændingskilde til at drive kortet: strømforbruget er lille.

    USB A-B kabel
    USB A-B kabel til at forbinde Arduino Uno til pc.
  2. Tilslut eksterne lysdioder. Her skal du desuden bruge:
    • selve LED'en;
    • strømbegrænsende modstand med en effekt på 0,25 W (eller mere) med en nominel værdi på 250-1000 ohm (afhængig af LED);
    • ledninger og et loddekolbe til tilslutning af et eksternt kredsløb.
Tilslutning af en ekstern LED
Tilslutning af en ekstern LED direkte til controllerens udgang.

LED'er er forbundet katode til enhver digital udgang på mikrocontrolleren, anode til en fælles ledning gennem en ballast modstand. Med et stort antal lysdioder kan det være nødvendigt med en ekstra strømkilde.

Er det muligt at forbinde flere lysdioder til én udgang

Det kan være nødvendigt at tilslutte en ekstern LED eller gruppe af LED'er til enhver af udgangene. Belastningskapaciteten for én udgang på mikrocontrolleren er som nævnt lille. En eller to lysdioder med et strømforbrug på 15 mA kan kobles direkte til den parallelt. Det er ikke værd at teste outputtets overlevelsesevne med en belastning på grænsen af ​​mulighed eller overskridelse. Det er bedre at bruge en switch på en transistor (felt eller bipolar).

Forbinder LED gennem en transistorkontakt på en bipolær triode.
Forbinder LED gennem en transistorkontakt på en bipolær triode.

Modstand R1 skal vælges således, at strømmen gennem den ikke overstiger udgangens belastningskapacitet. Det er bedre at tage halvdelen eller mindre af maksimum. Så for at indstille en moderat strøm ind 10 mA, skal modstanden ved 5 volts forsyning være 500 ohm.

Hver LED skal have sin egen ballastmodstand, det er uønsket at erstatte den med en fælles. Rbal vælges således, at dens driftsstrøm indstilles gennem hver LED. Så for en forsyningsspænding på 5 volt og en strøm på 20 mA, skal modstanden være 250 ohm eller den nærmeste standardværdi.

Det er nødvendigt at sikre, at den samlede strøm gennem transistorens kollektor ikke overstiger dens maksimale værdi. Så for KT3102-transistoren bør den største Ik være begrænset til 100 mA. Det betyder, at der ikke kan tilsluttes mere end 6 lysdioder med strøm. 15 mA. Hvis dette ikke er nok, skal der bruges en kraftigere nøgle.Dette er den eneste begrænsning for at vælge en n-p-n transistor i et sådant kredsløb. Selv her er det teoretisk nødvendigt at tage højde for triodens forstærkning, men for disse forhold (indgangsstrøm 10 mA, udgang 100) bør den kun være mindst 10. Enhver moderne transistor kan producere sådan h21e.

Et sådant kredsløb er ikke kun egnet til at øge mikrocontrollerens strømudgang. Så du kan tilslutte tilstrækkeligt kraftige aktuatorer (relæer, solenoider, elektriske motorer) drevet af øget spænding (for eksempel 12 volt). Når du beregner, skal du tage den tilsvarende spændingsværdi.

Du kan også bruge til at udføre nøgler MOSFET'er, men de kræver muligvis en højere spænding for at åbne, end Arduino kan udsende. I dette tilfælde skal der leveres yderligere kredsløb og elementer. For at undgå dette er det nødvendigt at bruge de såkaldte "digitale" felteffekttransistorer - de skal bruge 5 volt at åbne. Men de er mindre almindelige.

Programmatisk styring af en LED

Blot at tilslutte en LED til udgangen af ​​mikrocontrolleren gør ikke meget. Det er nødvendigt at mestre styringen af ​​LED'en fra Arduino programmæssigt. Dette kan gøres på Arduino-sproget, som er baseret på C (C). Dette programmeringssprog er en tilpasning af C til indledende indlæring. Efter at have mestret det, vil overgangen til C ++ være let. For at skrive skitser (som programmer til Arduino kaldes) og debugge dem live, skal du gøre følgende:

  • installer Arduino IDE på en personlig computer;
  • du skal muligvis installere en driver til USB-kommunikationschippen;
  • tilslut kortet til en pc ved hjælp af et USB-microUSB-kabel.
Arduino udviklingsmiljø interface
Grænsefladen i Arduino IDE-udviklingsmiljøet er en invitation til at skrive et program.

Computersimulatorer kan bruges til at fejlsøge simple programmer og kredsløb. Simulering af driften af ​​Arduino Uno og Nano boards understøttes for eksempel af Proteus (startende fra version 8). Simulatorens bekvemmelighed er, at det er umuligt at deaktivere hardwaren med et fejlagtigt samlet kredsløb.

Simulering af arbejdet i Arduino med
Simulering af Arduino med en tilsluttet LED i Proteus 8.23.

Skitser består af to moduler:

  • Opsætning - udføres én gang ved programstart, initialiserer variabler og driftstilstande for hardwaren;
  • sløjfe – udføres cyklisk efter setup-blokken til det uendelige.

Til LED tilslutning du kan bruge en hvilken som helst af de 14 frie stifter (stifter), som ofte forkert kaldes porte. Faktisk er porten ganske enkelt en gruppe stifter. Pin er kun et element.

Et eksempel på kontrol overvejes for ben 13 - en LED er allerede forbundet til den på kortet (gennem en forstærker-følger på Uno-kortet, gennem en modstand på Nano). For at arbejde med en portpin skal den konfigureres i input- eller outputtilstande. Det er praktisk at gøre dette i opsætningsteksten, men ikke nødvendigt - outputdestinationen kan ændres dynamisk. Det vil sige, at under afviklingen af ​​programmet kan porten fungere enten til input eller til dataoutput.

Initialiseringen af ​​ben 13 på Arduino (ben PB5 på port B på ATmega 328 mikrocontroller) er som følger:

ugyldig opsætning()

{

pinMode(13, Output);

}

Efter at have udført denne kommando, vil ben 13 på kortet arbejde i output-tilstand, som standard vil det være logisk lavt. Under afviklingen af ​​programmet kan der skrives nul eller én til det. Enhedsposten ser således ud:

void loop()

{

digitalWrite(13, HIGH);

}

Nu vil pin 13 på kortet blive sat højt - en logisk en, og den kan bruges til at tænde LED'en.

For at slukke for LED'en skal du indstille udgangen til nul:

digitalWrite(13, LAV);

Så ved at skrive skiftevis en og nul til den tilsvarende bit i portregisteret, kan du styre eksterne enheder.

Nu kan du komplicere Arduino-programmet for at styre LED'en og lære at blinke det lysemitterende element:

ugyldig opsætning()

{

pinMode(13, Output);

}

void loop()

{

digitalWrite(13, HIGH);

forsinkelse(1000);

digitalWrite(13, LAV);

forsinkelse(1000);

}

Hold forsinkelse (1000) skaber en forsinkelse på 1000 millisekunder eller et sekund. Ved at ændre denne værdi kan du ændre frekvensen eller driftscyklussen for LED'ens blink. Hvis en ekstern LED er forbundet til en anden udgang på kortet, skal du i programmet i stedet for 13 angive nummeret på den valgte pin.

For klarhedens skyld anbefaler vi en række videoer.

Efter at have mestret LED-forbindelserne til Arduino og lært at styre den, kan du flytte til et nyt niveau og skrive andre, mere komplekse programmer. For eksempel kan du lære at skifte to eller flere lysdioder med en knap, ændre blinkefrekvensen ved hjælp af et eksternt potentiometer, justere lysstyrken på gløden ved hjælp af PWM, ændre farven på en RGB-emitter. Niveauet af opgaver er kun begrænset af fantasien.

Kommentarer:
Der er ingen kommentarer endnu. Vær den første!

Vi råder dig til at læse

Sådan reparerer du selv LED-lampe