Beveiligingsinformatieportaal. RGB-strip aansluiten via Arduino voor bediening vanaf je telefoon

De vorige keer hebben we gekeken hoe je een LED-strip via de L298-driver op een Arduino kunt aansluiten. Kleurbeheer werd programmatisch uitgevoerd: de willekeurige functie. Nu is het tijd om uit te zoeken hoe je de kleur van de LED-strip kunt regelen op basis van de metingen van de DHT 11 temperatuur- en vochtigheidssensor.

Het voorbeeld is gebaseerd op het aansluiten van een LED-strip via de L298-driver. Bovendien heeft het voorbeeld een LCD 1602-display toegevoegd, dat de meetwaarden van de DHT 11-sensor weergeeft.

Het project vereist de volgende Arduino-elementen:

  1. Arduino UNO-bord.
  2. Weergave LCD 1602 + I2C.
  3. Temperatuur- en vochtigheidssensor DHT
  4. LED-strip.
  5. Bestuurder L298.
  6. Voeding 9-12V.
  7. Behuizing voor Arduino en display (optioneel).

Laten we eerst eens kijken naar het schakelschema (Fig. 1). Hierop kunt u zien hoe u alle bovenstaande elementen met elkaar verbindt. Er is niets ingewikkelds aan het monteren en aansluiten van het circuit, maar het is de moeite waard om één nuance te noemen die de meeste mensen vergeten, en als gevolg daarvan krijgen ze onjuiste resultaten bij het werken met LED-strips met Arduino.

Figuur 1. Schematisch diagram van het aansluiten van Arduino en LED-strip met DHT 11-sensor

Om een ​​onjuiste werking van de LED-strip te voorkomen (flikkering, kleurverschillen, onvolledige verlichting, enz.), moet de voeding van het gehele circuit gemeenschappelijk worden gemaakt, d.w.z. combineer de GND (aarde) pinnen van de Arduino-controller en de L298-driver (LED-strip). Hoe u dit doet, ziet u in het diagram.

Een paar woorden over het aansluiten van een vochtigheidssensor. Als je een kale DHT 11 koopt, zonder omsnoering, dan moet je tussen het eerste en tweede contact, respectievelijk 5V en Data, een weerstand solderen met een nominale waarde van 5-10 kOhm. Het temperatuur- en vochtigheidsmeetbereik staat op de achterkant van de DHT 11-sensorbehuizing. Temperatuur: 0-50 graden Celsius. Vochtigheid: 0-80%.


Figuur 2. Correcte aansluiting van de DHT 11 vochtigheidssensor

Nadat we alle elementen van het project volgens het schema hebben samengesteld, moeten we programmacode schrijven die ervoor zorgt dat alles werkt zoals we het nodig hebben. En we hebben de LED-strip nodig om van kleur te veranderen, afhankelijk van de metingen van de DHT 11-sensor (vochtigheid).

Om de DHT 11-sensor te programmeren, heeft u een extra bibliotheek nodig.

Arduino en RGB-programmacode - strip. Verandert de kleur van de tape afhankelijk van de luchtvochtigheid.

#include #include //bibliotheek voor het werken met het LCD 1602-display #include //bibliotheek voor het werken met de vochtigheids- en temperatuursensor DHT 11 int chk; //de variabele slaat alle gegevens van de DHT11-sensor op int brom; //de variabele slaat de vochtigheidsmetingen van de DHT11-sensor dht11 DHT op; //object van het type DHT #define DHT11_PIN 4 //Datapin van de DHT11-sensor is aangesloten op ingang 4 #define LED_R 9 //pin voor kanaal R #define LED_G 10 //pin voor kanaal G #define LED_B 11 //pin voor kanaal B / /variabelen slaan kleurwaarden op //bij het mengen van alle drie de kleuren wordt de gewenste kleur verkregen int led_r=0, led_g=0, led_b=0; //een weergaveobject declareren met adres 0x27 //vergeet niet een weergave in het project te gebruiken via een I2C-bord LiquidCrystal_I2C lcd(0x27,16,2); void setup() ( //maak een display lcd.init(); lcd.backlight(); // declareer pinnen als uitgangen pinMode(LED_R, OUTPUT); pinMode(LED_G, OUTPUT); pinMode(LED_B, OUTPUT); ) void loop () ( chk = DHT.read(DHT11_PIN);//lees gegevens van de DHT11-sensor //voer gegevens uit naar het display lcd.print("Temp: "); lcd.print(DHT.temperature, 1); lcd.print( " C"); lcd.setCursor(0,1); lcd.print("Hum: "); lcd.print(DHT.humidity, 1); vereist voor polling lcd.clear(); brom = DHT.humidity; // voer vochtigheidsmetingen uit // in het bereik van 19 tot 30% vochtigheid, groen weergeven als ((brom >= 19) && (brom<= 30)) { led_r = 1; led_g = 255; led_b = 1; } //в диапозоне от 31 до 40% влажности выдать красный цвет if ((hum >= 31) && (brom<= 40)) { led_r = 255; led_g = 1; led_b = 1; } //в диапозоне от 41 до 49% влажности выдать синий цвет if ((hum >= 41) && (brom<= 49)) { led_r = 1; led_g = 1; led_b = 255; } // подача сигналов цвета на выхода analogWrite(LED_R, led_r); analogWrite(LED_G, led_g); analogWrite(LED_B, led_b); }

Labels: Labels

Dit project is gewijd aan het regelen van LED-verlichting vanuit de volgende kamer, zodat u niet van de bank hoeft op te staan. LED RGB-verlichting siert zowel een klein aquarium als een grote kamer even goed.

Met RGB-tape op Arduino kun je een bad met verschillende kleuren verlichten. Creëer als het ware een microprocessorgestuurde sauna van Arduino.

Om de RGB-achtergrondverlichting samen te stellen, hebt u alleen de volgende componenten nodig:

  1. Bluetooth-module HC-05 voor draadloze communicatie met Arduino.
  2. Arduino nano, mini, Uno-bord met microprocessor ATmega 8, ATmega 168, ATmega 328.
  3. RGB LED-strip, indien nodig, met of zonder IP65 waterdichte uitvoering.
  4. Een Android-smartphone als afstandsbediening voor RGB-verlichting.
  5. MOSFET-veldeffecttransistors, zoals P3055LD, P3055LDG, PHD3355L, maar beter met kabels voor montage in montagegaten. Bipolaire transistors presteren slechter .
  6. Weerstanden 10 kOhm, 0,125 W - 3 stuks.

Een beetje theorie over het aansluiten van RGB-tape opArduino

Je kunt de LED-strip niet rechtstreeks op het Arduino-bord aansluiten. De LED-strip gloeit vanaf 12 V, terwijl de microprocessor slechts 5 V nodig heeft om te werken.

Maar het grootste probleem is dat de uitgangen van de microprocessor niet genoeg vermogen hebben om een ​​hele strip LED's van stroom te voorzien. Een gemiddeld meter lange LED-strip verbruikt 600 mA. Deze stroom zal het Arduino-bord zeker beschadigen.

De PWM-uitgangen van de gebruikte microprocessor hebben niet genoeg vermogen om de RGB-strip te verlichten, maar kunnen nog steeds worden gebruikt om het stuursignaal te verwijderen.

Voor ontkoppeling van de voeding wordt aanbevolen om transistoren als schakelaars te gebruiken. Het is beter om MOSFET-veldeffecttransistors te gebruiken: ze hebben een magere poortstroom nodig om te openen, en ze hebben ook meer vermogen vergeleken met bipolaire schakelaars van dezelfde grootte.

RGBbanden naarArduino

In het bedradingsschema worden PWM-uitgangen gebruikt om de tape te besturen: 9 (rood), 10 (groen), 11 (blauw).

Aan de “gate” van elke transistor worden drie weerstanden van 10 kOhm, 0,125 W gehangen.

De plus van de 12 V-voeding (rode draad) gaat rechtstreeks naar de RGB-strip.

Het minpunt van de 12 V-voeding (zwarte draad) wordt verdeeld over de “bronnen” van de veldeffecttransistoren.

De "drain" van elke transistor is verbonden met een afzonderlijk contact van de tape: R, G, B. Voor een gemakkelijke aansluiting wordt het aanbevolen om rode, groene en blauwe draden te gebruiken.

De GND-aardingspin van het Arduino-bord moet worden aangesloten op de min van de ingangsstroom.

Het Arduino Uno-bord zelf wordt gevoed door een aparte netwerkadapter. Voor Arduino nano, mini moet je een eenvoudige voeding samenstellen met behulp van een 7805 geïntegreerde stabilisator.

Bluetooth-module HC-05 aansluiten:

  • VCC - 5V (voeding +5 V);
  • GND - GND (aarde, gemeenschappelijk);
  • RX - TX op Arduino nano, mini, Uno;
  • TX - RX op Arduino nano, mini, Uno;
  • LED - niet gebruikt;
  • SLEUTEL - niet gebruikt.

Onderstaande programmaschets is universeel voor het aansturen van zowel één LED als een LED-strip. Het belangrijkste is om de noodzakelijke regels te laten staan ​​en de overbodige regels te verwijderen of opmerkingen tussen schuine strepen te plaatsen.

Niet-ondertekende lange x; int-LED = 9; // groen is verbonden met pin 9 int LED2 = 10; // blauw is verbonden met pin 10 int LED3 = 11; // rood is verbonden met pin 11 int a,b,c = 0; void setup() ( Serial.begin(9600); Serial.setTimeout(4); pinMode(LED, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); ) void loop() ( if (Serial. beschikbaar()) ( x = Serial.parseInt(); if (x>=0 && x<=255) { a = x; // для RGB ленты //a = 255-x; // для светодиода analogWrite(LED, a); } if (x>=256 &&x<=511) { b = x-256; // для RGB ленты //b = 511-x; // для светодиода analogWrite(LED2, b); } if (x>=512 &&x<=767) { c = x-512; // для RGB ленты //c = 767-x; // для светодиода analogWrite(LED3, c); } /* Serial.println(x); Serial.println(a); Serial.println(b); Serial.println(c); */ } }

Als u één RGB-LED moet aansluiten, is er een bedradingsschema voor het aansluiten ervan.

De applicatie op uw telefoon installeren

Download de applicatie met de korte naam RGB naar je telefoon. .

Na de installatie start u de applicatie via het pictogram.

Klik op de inscriptie

We vinden de geïnstalleerde Bluetooth-module HC-05 in de lijst.

Als er verbinding is, worden in plaats van het opschrift het adres en de naam van de geïnstalleerde Bluetooth-module weergegeven.

Nou, dat is alles, RGB-achtergrondverlichting is ingesteld!

Hier is een videovoorbeeld van ons project in actie:

GPS-klok op Arduino Biometrisch slot - LCD-displaydiagram en montage

In deze les gebruiken we de digitale en analoge uitgangen "Pulsebreedtemodulatie" op het Arduino-bord om een ​​RGB-LED in verschillende tinten in te schakelen. Met behulp van RGB LED-strips kunt u binnenverlichting creëren met elke kleurschakering. Laten we het hebben over het apparaat en de pin-out van een full-color (RGB) LED en de richtlijn bekijken #definiëren in C++-taal.

Ontwerp en doel van een RGB-LED

Om het volledige tintenpalet weer te geven zijn drie kleuren voldoende, met behulp van RGB-synthese (rood - rood, groen - groen, blauw - blauw). Het RGB-palet wordt niet alleen gebruikt in grafische editors, maar ook bij de ontwikkeling van websites. Door kleuren in verschillende verhoudingen te mengen, kun je vrijwel elke kleur verkrijgen. De voordelen van RGB-LED's zijn hun eenvoud van ontwerp, kleine afmetingen en hoge lichtopbrengstefficiëntie.

RGB-LED's combineren drie kristallen van verschillende kleuren in één pakket. RGB LED heeft 4 pinnen - één gemeenschappelijke (de anode of kathode heeft de langste pin) en drie gekleurde pinnen. Op elke kleuruitgang moet een weerstand worden aangesloten. Bovendien kan de RGB LED Arduino-module rechtstreeks op het bord worden gemonteerd en ingebouwde weerstanden hebben - deze optie is handiger voor activiteiten in de klas.

Foto. RGB LED-pinout en RGB LED-module voor Arduino

De RGB LED-pinout wordt weergegeven op de bovenstaande foto. Houd er ook rekening mee dat veel full-color LED's diffusors nodig hebben, anders zijn de kleurcomponenten zichtbaar. Vervolgens sluiten we een RGB-LED aan op de Arduino en laten deze gloeien met alle kleuren van de regenboog met behulp van ‘pulsbreedtemodulatie’.

Een RGB-LED aansturen op Arduino

De analoge uitgangen op de Arduino gebruiken "pulsbreedtemodulatie" om verschillende stroomniveaus te produceren. We kunnen alle drie de kleuringangen op de LED voorzien van verschillende PWM-signaalwaarden in het bereik van 0 tot 255, waardoor we vrijwel elke tint licht op de RGB LED Arduino kunnen krijgen.

Voor deze les hebben we de volgende gegevens nodig:

  • Arduino Uno / Arduino Nano / Arduino Mega-bord;
  • broodplank;
  • RGB-LED;
  • 3 weerstanden 220 Ohm;
  • mannelijk-vrouwelijke draden.

Foto. Aansluitschema van RGB LED naar Arduino op een breadboard

De RGB LED-module kan rechtstreeks op het bord worden aangesloten, zonder kabels of breadboard. Sluit de module met full-color RGB LED aan op de volgende pinnen: Minus- GND B- Pin13, G- Pin12, R— Pin11 (zie eerste foto). Als u RGB LED (Light Emitting Diode) gebruikt, sluit deze dan aan volgens het diagram op de foto. Nadat je de module hebt aangesloten en de schakeling op Arduino hebt gemonteerd, upload je de schets.

Schets voor knipperende RGB-LED

#define ROOD 11 // Wijs de naam ROOD toe aan pin 11#define GROEN 12 // Wijs de naam GROEN toe aan pin 12#define BLAUW 13 // Wijs de naam BLAUW toe aan pin 13 ongeldige setup () ( pinMode(ROOD, UITVOER); pinMode(GROEN, UITGANG); // Gebruik Pin12 voor uitvoer pinModus(BLAUW, UITVOER); // Gebruik Pin13 voor uitvoer) lege lus () ( digitalWrite (ROOD, HOOG); // Doe het rode licht aan digitalWrite(GROEN, LAAG); digitalWrite(BLAUW, LAAG); vertraging(1000); digitalWrite(ROOD, LAAG); digitalWrite(GROEN, HOOG); // Doe het groene licht aan digitalWrite(BLAUW, LAAG); digitalWrite(ROOD, LAAG); }

vertraging(1000);

  1. // Stel een pauze in voor het effect
  2. digitalWrite(ROOD, LAAG);
  3. digitalWrite(GROEN, LAAG);
  4. digitalWrite(BLAUW, HOOG);

    // Doe het blauwe licht aan

    vertraging(1000);

    Uitleg voor de code: Met behulp van de #define-richtlijn hebben we de pincodes 11, 12 en 13 vervangen door de overeenkomstige namen ROOD, GROEN en BLAUW. Dit wordt voor het gemak gedaan, om niet in de war te raken in de schets en te begrijpen welke kleur we opnemen; in de void setup() procedure hebben we pinnen 11, 12 en 13 toegewezen als uitgangen; in de void loop()-procedure schakelen we alle drie de kleuren op de RGB-LED één voor één in. Soepele RGB LED-bediening Het aansturen van een RGB-LED op een Arduino kan soepel worden gedaan met behulp van analoge uitgangen met “pulsbreedtemodulatie”. Om dit te doen, moeten de kleuringangen op de LED worden aangesloten op analoge uitgangen, bijvoorbeeld op pin 11, 10 en 9. En deze verschillende PWM-waarden voor verschillende tinten invoeren. Nadat u de module hebt aangesloten met behulp van mannelijk-vrouwelijke draden, uploadt u de schets. Schets voor vloeiend knipperen van een RGB-LED #define ROOD 9// Wijs de naam ROOD toe aan pin 9 #define GROEN 10 pinModus(BLAUW, UITVOER); // Gebruik Pin11 voor uitvoer) lege lus () ( analogWrite (RED, 50); // Doe het rode licht aan analoogSchrijven(GROEN, 250); digitalWrite(BLAUW, LAAG); analoogSchrijven(BLAUW, 150); // Doe het groene licht aan }

    vertraging(1000);

    1. Met behulp van de #define-richtlijn hebben we de pincodes 9, 10 en 11 vervangen door de overeenkomstige namen ROOD, GROEN en BLAUW. Dit wordt voor het gemak gedaan, om niet in de war te raken in de schets en te begrijpen welke kleur we opnemen;
    2. We gebruikten pinnen 11, 12 en 13 als analogWrite-uitgangen.

LED RGB strip is een flexibele strip waarop geleiders en RGB LED's (full colour) zijn gedrukt. Onlangs zijn LED-strips wijdverspreid geworden in de architectuur, het tunen van auto's en motorfietsen, kostuums, decoraties, enz. Er zijn ook waterdichte tapes die bijvoorbeeld in zwembaden kunnen worden gebruikt.

LED-strips zijn er in twee soorten: analoog en digitaal.
Bij analoge strips zijn alle LED's parallel geschakeld. U kunt dus wel de kleur van de gehele LED-strip instellen, maar u kunt geen specifieke kleur voor een specifieke LED instellen. Deze tapes zijn eenvoudig aan te sluiten en niet duur.
Digitale LED-strips zijn iets ingewikkelder. Voor elke LED wordt een extra microschakeling geïnstalleerd, waardoor het mogelijk is om elke LED aan te sturen. Dergelijke tapes zijn veel duurder dan gewone tapes.

In dit artikel zullen we overwegen om alleen met analoge LED-strips te werken.

Analoge RGB LED-strips

Gegevensblad:
- 10,5 mm breed, 3 mm dik, 100 mm lengte van één segment
- waterdicht
- 3M-tape aan de onderkant
- max. stroomverbruik (12V, wit) - 60mA per segment
- Gloedkleur (golflengte, nm): 630 nm/530 nm/475 nm

RGB LED-strip schakelschema

De tape wordt geleverd op rollen en bestaat uit secties van 10 cm lang. Elke sectie bevat 3 RGB-LED's, maat 5050. Elke sectie blijkt 9 LED's te bevatten: 3 rode, 3 groene en 3 blauwe. Sectiegrenzen zijn gemarkeerd en bevatten koperen kussentjes. Daarom kan de tape, indien nodig, worden gesneden en gemakkelijk worden gesoldeerd. LED-stripschema:

Energieverbruik

In elk deel van de tape zijn 3 LED's in serie geschakeld, dus 5V-voeding is niet geschikt. De voeding moet 12V zijn, maar je kunt ook 9V leveren, maar dan branden de LED's niet zo fel.

Eén segment LED-lijn verbruikt ongeveer 20 mA bij voeding op 12 V. Dat. als u de witte kleur inschakelt (d.w.z. rood 100%, groen 100% en blauw 100%), dan zal het stroomverbruik van de sectie ongeveer 60mA zijn.

Nu kunt u eenvoudig het huidige verbruik van de gehele band berekenen. De lengte van de tape is dus 1 meter. De tape heeft 10 secties (elk 10 cm). Het tapeverbruik met witte kleur zal 60mA*10=600mA of 0,6A zijn. Als u een PWM-fade-effect tussen kleuren gebruikt, kan het stroomverbruik worden gehalveerd.

Het aansluiten van de band

Om de tape aan te sluiten, moet je de draden aan de 4 contactvlakken solderen. We gebruikten een witte draad voor +12V, en de rest van de kleuren overeenkomstig de kleuren van de LED's.

Snij de beschermfolie aan het uiteinde van de tape af. Van welke kant de verbinding gemaakt wordt is niet belangrijk, want... symmetrische band.

Strip de isolatielaag om de contactvlakken bloot te leggen.

Vertin ze.

Soldeer vier draden. Het is beter om meeraderige draad te gebruiken (bijvoorbeeld PV3- of PVS-kabel), dit is flexibeler.

Ter bescherming tegen water en invloeden van buitenaf kunt u gebruik maken van krimpkousen. Als de LED-strip in een vochtige omgeving wordt gebruikt, kunnen de contacten bovendien worden gecoat met siliconen.

Werken met LED-strip

De tape kan eenvoudig met elke microcontroller worden gebruikt. Voor het aansturen van LED's wordt aanbevolen om pulsbreedtemodulatie (PWM) te gebruiken. Sluit de tape-pinnen niet rechtstreeks aan op de MK-pinnen, omdat Dit is een grote stroombelasting en de controller kan doorbranden. Het is beter om transistors te gebruiken.

Je kunt NPN-transistors gebruiken of beter nog N-kanaal-mosfets. Houd er bij het selecteren van een transistor rekening mee dat de maximale schakelstroom van de transistor met reserve moet worden genomen.

LED-strip aansluiten op Arduino-controller

Laten we eens kijken naar een voorbeeld van het aansluiten van een LED-strip op een populaire strip. Om verbinding te maken, kunt u goedkope en populaire mosfets gebruiken. Je kunt ook conventionele bipolaire transistors gebruiken, bijvoorbeeld TIP120. Maar vergeleken met de mosfet heeft deze meer spanningsverlies, dus het wordt nog steeds aanbevolen om de eerste te gebruiken.
Het onderstaande schema toont de aansluiting van een RGB LED-strip bij gebruik van N-kanaals mosfets. De mosfet-poort is verbonden met pin1 van de controller, de drain met pin2 en de source met pin3.

Hieronder vindt u een aansluitschema bij gebruik van conventionele bipolaire transistors (bijvoorbeeld TIP120). De basis van de transistor is verbonden met pin1 van de controller, de collector met pin2 en de emitter met pin3. Tussen de basis en de controlleruitgang moet een weerstand met een weerstand van 100-220 Ohm worden geplaatst.

Sluit een stroombron met een spanning van 9-12 Volt aan op de Arduino-controller, en +12V van de LED-strip moet worden aangesloten op de Vin-pin van de controller. Je kunt 2 aparte voedingen gebruiken, vergeet alleen niet de aarde van de bron en de controller aan te sluiten.

Voorbeeld programma

Om de tape aan te sturen wordt gebruik gemaakt van de PWM uitgang van de controller, hiervoor kun je de analogWrite() functie gebruiken voor pin 3, 5, 6, 9, 10 of 11. Bij analogWrite(pin, 0) zal de LED niet oplichten, met analogWrite(pin, 127) zal de LED op volle sterkte branden, en met analogWrite(pin, 255) zal de LED op maximale helderheid branden. Hieronder ziet u een voorbeeldschets voor Arduino:

#define REDPIN 5 #define GREENPIN 6 #define BLUEPIN 3 #define FADESPEED 5 // hoe hoger het getal, hoe langzamer het fade-effect ongeldig wordt setup() ( pinMode(REDPIN, OUTPUT); pinMode(GREENPIN, OUTPUT); pinMode (BLUEPIN, OUTPUT); void loop() ( int r, g, b; // vervagen van blauw naar paars voor (r = 0; r 0; b--) ( analogWrite(BLUEPIN, b); delay(FADESPEED ) // vervagen van rood naar geel voor (g = 0; g 0; r--) ( analogWrite(REDPIN, r); delay(FADESPEED); ) // vervagen van groen naar groenblauw voor (b = 0; b 0; g--) ( analoog schrijven(GREENPIN, g); vertraging(FADESPEED); ) )

Om deze apparaten te bedienen wordt een RGB-controller gebruikt. Maar daarnaast wordt de laatste jaren het Arduino-bord gebruikt.

Arduino - werkingsprincipe

Arduino-bord

Een Arduino-bord is een apparaat waarop een programmeerbare microcontroller is geïnstalleerd. Er worden verschillende sensoren, besturingen of encoders op aangesloten en volgens een gegeven schets (programma) stuurt het bord motoren, LED's en andere actuatoren, waaronder andere Arduino-borden, aan via het SPI-protocol. Het apparaat is te bedienen via een afstandsbediening, Bluetooth-module, HC-06, Wi-Fi, ESP of internet en knoppen. Enkele van de meest populaire borden zijn Arduino Nano en Arduino Uno, evenals Arduino Pro Mini - een apparaat gebaseerd op de ATmega 328-microcontroller


Uiterlijk van Arduino Pro Mini
Uiterlijk van Arduino Uno
Uiterlijk van Arduino micro

Het programmeren gebeurt in de open source Arduino-omgeving die op een gewone computer is geïnstalleerd. Programma's worden gedownload via USB.

Het principe van lastregeling via Arduino


Arduino-besturing

Het bord heeft veel uitgangen, zowel digitaal, met twee statussen - aan en uit, en analoog, bestuurd via een PWM-controller met een frequentie van 500 Hz.

Maar de uitgangen zijn ontworpen voor een stroom van 20 - 40 mA met een spanning van 5 V. Dit is voldoende om een ​​RGB-indicatie-LED of een 32x32 mm matrix LED-module van stroom te voorzien. Voor een krachtigere belasting is dit niet genoeg.

Om dit probleem in veel projecten op te lossen, moet je extra apparaten aansluiten:

  • Relais. Naast individuele relais met een voedingsspanning van 5V zijn er complete samenstellingen met verschillende aantallen contacten, maar ook met ingebouwde starters.
  • Versterkers op basis van bipolaire transistors. De kracht van dergelijke apparaten wordt beperkt door de stuurstroom, maar je kunt een circuit uit verschillende elementen samenstellen of een transistorsamenstel gebruiken.
  • Veldeffect- of MOSFET-transistoren. Ze kunnen belastingen besturen met stromen van verschillende ampères en spanningen tot 40 - 50 V. Bij het aansluiten van de mosfet op PWM en een elektromotor of andere inductieve belasting is een beschermende diode nodig. Bij aansluiting op LED’s of LED-lampen is dit niet nodig.
  • Uitbreidingskaarten.

LED-strip aansluiten op Arduino


LED-strip verbinden met Arduino

Deskundige mening

Alexey Bartosh

Specialist in reparatie en onderhoud van elektrische apparatuur en industriële elektronica.

Stel een vraag aan een deskundige

Arduino Nano's kunnen meer besturen dan alleen elektromotoren. Ze worden ook gebruikt voor LED-strips. Maar omdat de uitgangsstroom en -spanning van het bord niet voldoende zijn om er direct een strip met LED's op aan te sluiten, moeten er extra apparaten tussen de controller en de LED-strip worden geïnstalleerd.

Via relais


Verbinding via relais

Het relais is via een digitale uitgang met het apparaat verbonden. De ermee bestuurde strip heeft slechts twee toestanden: aan en uit. Om het rood-blauw-groene lint aan te sturen zijn drie relais nodig. De stroom die zo'n apparaat kan regelen, wordt beperkt door het vermogen van de spoel (een spoel met laag vermogen kan geen grote contacten sluiten). Om meer vermogen aan te sluiten, worden relaissamenstellen gebruikt.

Met behulp van een bipolaire transistor


Verbinding met behulp van een transistor

Een bipolaire transistor kan worden gebruikt om de uitgangsstroom en -spanning te versterken. Het wordt geselecteerd op basis van de belastingsstroom en -spanning. De stuurstroom mag niet hoger zijn dan 20 mA en wordt daarom geleverd via een stroombegrenzende weerstand van 1 - 10 kOhm.

Het is beter om een ​​transistor te gebruiken n-p-n met een gemeenschappelijke zender. Voor een hogere versterking wordt een circuit met meerdere elementen of een transistorsamenstel (versterkermicroschakeling) gebruikt.

Met behulp van een veldeffecttransistor

Naast bipolaire transistoren worden veldeffecttransistors gebruikt om de strips te besturen. Een andere naam voor deze apparaten is MOS of MOSFET-transistor.

Zo'n element wordt, in tegenstelling tot een bipolair element, niet bestuurd door stroom, maar door spanning aan de poort. Hierdoor kan de lage poortstroom grote belastingsstromen aandrijven, tot tientallen ampère.

Het element is verbonden via een stroombegrenzende weerstand. Bovendien is hij gevoelig voor ruis, dus de controlleruitgang moet met een weerstand van 10 kOhm met aarde worden verbonden.

Uitbreidingskaarten gebruiken


Arduino aansluiten met behulp van uitbreidingskaarten

Naast relais en transistors worden kant-en-klare blokken en uitbreidingskaarten gebruikt.

Dit kan Wi-Fi of Bluetooth zijn, een motorbesturingsdriver zoals de L298N-module, of een equalizer. Ze zijn ontworpen om belastingen met verschillende vermogens en spanningen te regelen. Dergelijke apparaten zijn eenkanaals - ze kunnen alleen een monochrome strip aansturen, en meerkanaals - ontworpen voor RGB- en RGBW-apparaten, evenals strips met WS 2812 LED's.

Voorbeeld programma


Arduino en LED-strip

Arduino-boards zijn in staat LED-structuren aan te sturen volgens vooraf gedefinieerde programma's. Hun bibliotheken kunnen worden gedownload van de officiële website, gevonden op internet, of zelf een nieuwe schets (code) schrijven. U kunt zo'n apparaat met uw eigen handen in elkaar zetten.

Hier zijn enkele opties voor het gebruik van dergelijke systemen:

  • Controle van de verlichting. Met behulp van een lichtsensor gaat het licht in de kamer onmiddellijk aan en geleidelijk aan in helderheid naarmate de zon ondergaat. Inschakelen kan ook via wifi, met integratie in het ‘smart home’-systeem of verbinding via telefoon.
  • Het licht aandoen op de trap of in een lange gang. De LED-verlichting van elke trede afzonderlijk ziet er erg mooi uit. Wanneer een bewegingssensor op het bord wordt aangesloten, zal de activering ervan leiden tot een sequentiële, tijdvertraagde inschakeling van de verlichting van de trap of gang, en het uitschakelen van dit element zal tot het omgekeerde proces leiden.
  • Kleur muziek. Door via filters een audiosignaal op de analoge ingangen aan te leggen, ontstaat er een kleur- en muziekinstallatie.
  • Computermodificatie. Met behulp van geschikte sensoren en programma's kan de kleur van de LED's afhangen van de temperatuur of belasting van de processor of RAM. Dit apparaat werkt met behulp van het dmx 512-protocol.
  • Regelen van de snelheid van looplichten met behulp van een encoder. Soortgelijke installaties worden gemonteerd op WS 2811-, WS 2812- en WS 2812B-microcircuits.

Video-instructies