Inhoudsopgave:

RC-gestuurde RGB-ledstrip - Ajarnpa
RC-gestuurde RGB-ledstrip - Ajarnpa

Video: RC-gestuurde RGB-ledstrip - Ajarnpa

Video: RC-gestuurde RGB-ledstrip - Ajarnpa
Video: AutoStyle SY ILED4 interieur LED strips met smartphone controle 2024, November
Anonim
RC-gestuurde RGB-ledstrip
RC-gestuurde RGB-ledstrip

Creëer je eigen rc-gestuurde led-strip voor individuele kamerverlichting!

De meeste rgb-led-strips worden aangestuurd door een infrarood afstandsbediening. Om het aan of uit te zetten of de kleur te veranderen, moet je voor de ontvanger blijven. Dit is saai en niet echt slim. Om het licht op een koelere manier te regelen, heb ik een rc-gestuurd bord ontwikkeld om de juiste kleur van de strip in te stellen. De rc-code kan worden verzonden vanaf een raspberry pi, denk aan IFTTT. Dat is een stuk slimmer dan de ir-afstandsbediening.

Dingen die je nodig hebt:

  • rgb-led-strip, dit zou bijvoorbeeld voldoende zijn
  • ATtiny85
  • 433 MHz ontvanger (en optioneel zender)
  • 5v regelaar (L7805)
  • 3 NPN-transistoren, ik heb een darlingtonarray gebruikt
  • 1 µF condensator
  • 10 µF condensator
  • 12v voeding
  • strip printplaat
  • meerdere draden
  • ATTiny programmeur, arduino-mega of arduino-uno
  • optioneel raspberry pi om signalen te verzenden

Stap 1: Soldeer de printplaat

Soldeer de printplaat
Soldeer de printplaat
Soldeer de printplaat
Soldeer de printplaat
Soldeer de printplaat
Soldeer de printplaat

Als je alle componenten hebt, moet je de printplaat solderen.

De led-strip heeft 12v nodig, de ATTiny en de rc ontvanger hebben 5v nodig, daardoor krijgt het circuit 12v.

Voor de ATTiny en de rc-ontvanger gebruik ik de 5v-regelaar, mijn circuit is geïnspireerd door sooraj619

Het bord schakelt de drie kleuren rood, groen en blauw in een tijdschema van 3 ms naar de led-strip. Elke kleur in het juiste percentage om de opgegeven kleur te bereiken. Door een tijdsduur van de dienstregeling met 3 ms zie je niet de drie kleuren rood groen en blauw verwisselen, maar juist de juiste kleur (bijvoorbeeld geel gemengd door rood en groen). In mijn gereedschapskist zat een darlingtonarray, daarom heb ik deze array gebruikt om de kleuren te wisselen. U kunt elke NPN-transistor gebruiken.

Vergeet niet een antenne van 17 cm op de ontvanger.

Stap 2: Flash de ATTiny

Nu is het tijd om de ATTiny te flashen met de juiste Arduino-schets.

Om de microcontroller te flashen, heb ik de arduino ide gebruikt. Ik heb geen programmeur, dus ik gebruikte mijn arduino-mega. Je kunt je arduino-uno of je arduino-mega gebruiken om de ATTiny te flashen, zoals hier of hier beschreven

De sketch gebruikt de rc switch library om het signaal te ontvangen, deze kun je hier downloaden.

De rc-switchbibliotheek is geschreven voor de arduino-kaarten en gebruikt daarom enkele routines die niet beschikbaar zijn in de ATTiny-microcontroller. Vanwege de ATTiny initialiseert de regel 153 tot 165 de interrupt op een zeer radicale manier. Je moet ook de methode 'handleInterrupt' van 'private' naar 'public' maken in de rc switch bibliotheek.

Stap 3: Stuur een code vanaf uw Raspberry Pi

Stuur een code vanaf uw Raspberry Pi
Stuur een code vanaf uw Raspberry Pi
Stuur een code vanaf uw Raspberry Pi
Stuur een code vanaf uw Raspberry Pi

Nu is het tijd om het licht aan te doen.

Om een signaal te sturen moet je de rasperry pi verbinden met de rc zender. Verschillende websites demonstreren het verzenden van rc-codes met de raspberry pi. Bijvoorbeeld hier, hier en hier. De afbeelding toont de ledstrip achter een tv-scherm, maar dit is een fotomontage van drie afbeeldingen met één kleur.

Een minimaal c programma om een code te versturen kan er als volgt uitzien:

#include "RCSwitch.h" #include

#erbij betrekken

int main(int argc, char *argv) {

int-PIN = 0;

int bericht = atoi(argv[1]);

if (wiringPiSetup () == 1) retourneer 1;

printf("bericht wordt verzonden[%d]\n", bericht);

RCSwitch mijnSwitch = RCSwitch();

mySwitch.enableTransmit(PIN);

mySwitch.send(bericht, 32);

}

De kleur is gecodeerd in een geheel getal met 4 byte. De meest linkse byte moet gelijk zijn aan 10, zie 178 in de schets. De volgende drie bytes bevatten de kleurintensiteit voor elke kleur (rood, groen en blauw).

Om een groen licht met een intensiteit van 66% in te stellen, voert u het commando in: sudo sendInt 167815680, waarbij sendInt het hierboven gecompileerde programma is.

Schakel de led uit met het commando: sudo sendInt 167772160

Stel je de mogelijkheden voor met IFTTT, bijvoorbeeld 3 seconden blauw licht voor een e-mail, groen voor een google-kalendermelding. Dat is een beetje slimmer dan de ir afstandsbediening voor de ontvanger te drukken;)

Stap 4: Maak een Behuizing

Een bijlage maken
Een bijlage maken
Een bijlage maken
Een bijlage maken
Een bijlage maken
Een bijlage maken

Maak een 3D-geprinte behuizing.

Het ontwerp heeft een gat voor de stroomkabel en gaten in de bovenkant om de ledstrip aan te sluiten.

Ik heb Fusion 360 gebruikt om de behuizing te ontwerpen en het resultaat geëxporteerd als een.step-bestand.

Netfabb maakt zowel de vlakvulling als de voorbereiding van de bouwopdracht mogelijk. Ik heb de 3mf bevestigd die de boven- en onderkant van de behuizing bevat. Netfabb ondersteunt ook het maken van gcodes.

Als laatste heb ik een prusa i3 mk2 gebruikt om de behuizing te printen.

Aanbevolen: