RGB-afstand afhankelijk licht (3 / 4 stap)

Stap 3: programmeren

De manier waarop ik ging over het programmeren van dit apparaat was nogal een reis. Ik wilde dat de led is om te reageren op de ultrasone sensor en wijzigen van de kleur volgens de afstand de ultrasone sensor geretourneerd. Wanneer de afstand tussen object en sensor laag, is zodat het object dicht is, is de kleur rood. Hoe verder gaat weg het object, hoe groener de kleur krijgt. Evrithing tussen is een mengeling van deze kleuren en is volledig schaalbaar tot de afstand groter. Dit resulteert in een kleurenspectrum tussen rood en groen.

Upload de code aan de arduino ertoe leiden dat u hoeft acces op de USB-poort, zodra de arduino wordt ingevoegd in de behuizing.

/*
RGB-cyclus met gebruikmaking van een ultrasone sensor.

Auteur: Bryan Vermaat - 2016

Zie voor een gebruik van deze code.

Deze code is openbaar en kan worden bewerkt/gewijzigd *

/ De drie primaire kleuren LEDs, gedreven zoals analgue uitgangen (eigenlijk PWM, maar / / dicht genoeg voor onze analoge ogen).

Const int ledPinRed = 11; Rode LED aangesloten op analoge uit pin const int ledPinGrn = 10; Groene LED aangesloten op analoge uit pin const int ledPinBlu = 9; Blauwe LED aangesloten op analoge uit pin

Const int trigPin = 13; Const int echoPin = 12; Const int modeSwitchPin = 12;

De Hue-potentiometer gaat op een analoge pin, nemen de pin uit / / 0V naar 5V.

Const int potPinHue = 0;

Constanten voor de bereiken definiëren.

Const int hueRedLow = 0; Const int hueRedHigh = 255; Const int hueBlue = 170;

Het minimale en maximale bereik van de ultrasone sensor.

Const int rangeMin = 0; Const int rangeMax = 200;

Const int brightMin = 0; Const int brightMax = 255;

Werken van variabelen.

De waarde van de potentiometer wordt toegewezen aan het bereik 0 tot 360 (graden). int valueHue;

De kleurtoon is het bereik 0 (rood) naar 170 (blauw) in regenboog / / modus of 255 (rood) in kleur wiel modus. De helderheid varieert van 0 (donker) tot 255 (volledige helderheid)

int tint, helderheid;

De verzadiging is vastgesteld op 255 (volledig) te verwijderen bloeden-door middel van verschillende / / kleuren. Het kan worden gekoppeld aan een potentiometer (potmeter) als een demonstratie van de tint / / gewenst is.

Const int verzadiging = 255;

De brightess van elke LED (0 tot 255).

unsigned int r, g, b;

VOID Setup {/ / moet nu nog een baud-rate, zelfs voor USB instellen. Serial.begin(9600);

Set LED pinnen om uit te voeren. pinMode (ledPinRed, OUTPUT); pinMode (ledPinGrn, OUTPUT); pinMode (ledPinBlu, OUTPUT);

Stel de pinnen voor de ultrasone sensor. pinMode (trigPin, OUTPUT); pinMode (echoPin, INPUT); }

void loop {/ / The tint potentiometer waarde wordt toegewezen aan graden - 0 tot 360 - voor gemak. valueHue = map(MeasureDistance(), 0, 1023, 0, rangeMax);

Kleur wiel modus (rood voor rood, gewikkeld rond in een cyclus).

tint = kaart (valueHue, rangeMin, rangeMax, hueRedLow, hueRedHigh);

De helderheid wordt vastgesteld op volledig voor de kleurenster. Dit zou / / gekoppeld aan een andere poteniometer als dat is een concept dat u wilt / / laten zien. helderheid = 255;

Doen de conversie. HSBToRGB (tint, verzadiging, helderheid, r, g, & b);

analogWrite (ledPinRed, r); analogWrite (ledPinGrn, g); analogWrite (ledPinBlu, b);

Serial.Print ("helder ="); Serial.Print(Brightness); Serial.Print ("tint ="); Serial.Print(Hue); Serial.Print ("rode ="); Serial.Print(r); Serial.Print ("groene ="); Serial.Print(g); Serial.Print ("blauw ="); Serial.Print(b); Serial.println(""); delay(50); }

Deze functie genomen vanaf hier: / / http://eduardofv.com/2011/01/15/arduino-rgb-led-h...

VOID HSBToRGB (unsigned unsigned int inSaturation, unsigned int inBrightness, int inHue, unsigned int * of, unsigned int * oG, unsigned int * oB) {als (inSaturation == 0) {/ / Achromatische (grijs) * of = * oG = * oB = inBrightness;} else {unsigned int scaledHue = (inHue * 6); niet-ondertekende int sector = scaledHue >> 8; / / sector 0 tot en met 5 rond de kleur wiel unsigned int offsetInSector = scaledHue - (sector << 8); / / positie binnen de sector unsigned int p = (inBrightness * (255 - inSaturation)) >> 8; unsigned int q = (inBrightness * (255 - ((inSaturation * offsetInSector) >> 8))) >> 8; unsigned int t = (inBrightness * (255 - ((inSaturation * (255 - offsetInSector)) >> 8))) >> 8;

schakelaar (sector) {0 kast: * of = inBrightness; * oG = t; * oB = p; break; case 1: * of = q; * oG = inBrightness; * oB = p; break; case 2: * of = p; * oG = inBrightness; * oB = t; break; case 3: * of = p; * oG = q; * oB = inBrightness; break; case 4: * of = t; * oG = p; * oB = inBrightness; break; default: / / case 5: * of = inBrightness; * oG = p; * oB = q; break;}} }

Functie voor het meten van de afstand met behulp van een ultrasone sensor van HC-SR04 lange MeasureDistance() {lange duur, afstand digitalWrite (trigPin, laag); delayMicroseconds(2); digitalWrite (trigPin, hoge); delayMicroseconds(10); digitalWrite (trigPin, laag); duur = pulseIn (echoPin, hoge); afstand = (duur/2) / 29.1; als (afstand > = rangeMax || afstand < = rangeMin) {Serial.println ("bereik instellen. terugkerende Max."); retourneren van rangeMax; } else {Serial.print(distance); Serial.println ("cm"); retourneren van afstand; } }

Gerelateerde Artikelen

Geluid reactieve RGB LED Piano licht!

Geluid reactieve RGB LED Piano licht!

Hey iedereen! It's Christmas, en de laatste tijd ik been playing rond met LED's en mijn Arduino alot. Ik heb dit geweldige idee van de verlichting omhoog mijn buffetpiano terwijl knutselen met sommige RGB LED strips. De RGB-LEDs stoten licht dat word
RGB Strip vloerlamp lichte

RGB Strip vloerlamp lichte

Dit is een kleine project dat ik kwam met een 5 M 3528 RGB LED Strip om licht te gebruiken dat ik heb gewonnen in een veiling op eBay. Het licht van de strip kwam met een 24 sleutel IR-afstandsbediening en een LED-controller. Ik moest een 12V AC-Adap
RGB LED partij licht

RGB LED partij licht

Hier is hoe u kunt een RGB LED als een regenboog partij licht voortdurend reizen door het zichtbare spectrum. Wat u nodig zult hebben is:-1 of meerdere RGB-LED 's-1 Arduino UNO bestuur; het kan zijn dat andere boards Arduino merk-een breadboard-5 jum
Kerstmis licht tunnel

Kerstmis licht tunnel

hier is hoe ik mijn dertig voet PVC bogen naar beneden mijn oprit gemaakt.  Ze gebruiken slechts een paar stukken van PVC en een enkele streng van C7 bollen.  Dit is een zeer eenvoudig te bouwen die bijna iedereen kan doen en het ziet er geweldig.Sta
$5 DIY | 12V klein LEDJE Bunk of opslag licht

$5 DIY | 12V klein LEDJE Bunk of opslag licht

Dit is een artikel met een beschrijving van het proces dat ik gebruikt om te bouwen van een paar houten stapelbed ledverlichting voor mijn vriend woonboot. Ik ontwierp deze zelf. Ik ook gebouwd en geïnstalleerd hen zonder hulp, dus het is een eenvoud
RGB LED Moodlight in 10 minuten!

RGB LED Moodlight in 10 minuten!

Here is my 2nd. Instructable. Een zeer snel! ;-)Ik zal u tonen hoe te bouwen van een leuke 3-RGB-LED sfeer licht in bijna 10 minuten.Wat heb je nodig?-accu aangedreven LED touch-licht-langzaam regenboogeffect RGB LEDs met trage automatische kleur fie
Meter afstand

Meter afstand

de afstandsmeter is een goedkope en efficiënte gadget die u toelaat om het meten van de afstand tot een object. Eenvoudig en leuk om te bouwen! Laten we bouwen.Stap 1: Stap 1. Componenten en ToolsDe genoemde onderdelen zijn vervangbaar zijn afhankeli
Gloeiende LED licht ijs chrysant

Gloeiende LED licht ijs chrysant

maken een mini ice sculpture chrysant die met waterdichte rgb LED goedheid gloeit!Maak een bos & zweven ze in een glazen kom voor extra plezier.De rubberen schimmel kan worden hergebruikt & de LEDs dus kan zodra het ijs smelt!Stap 1: Verzamel mate
3D afdrukbare Ninja licht zwaard / Katana Color Changing LED Lamp

3D afdrukbare Ninja licht zwaard / Katana Color Changing LED Lamp

Dit is een volledig open source 3D afdrukbare Ninja zwaard Lamp. Het is zowel gemakkelijk op te bouwen (mits dat u toegang hebt tot een 3D-printer) en zeer betaalbaar. Mijn totale kosten te bouwen was minder dan $32, en ik heb ook links naar waar ik
LED licht op de helm van de Robot

LED licht op de helm van de Robot

Hallo costumieren, Cosplayers en Sci-fi geeks. Ik heb voor u een snelle en eenvoudige manier om het aantal spannende verlichting toevoegen aan uw sci-fi helmen. Niet alleen zal ze gloeien ik het donker, en instellen van uw helm naast de andere helmen
Hoe maak je goede regenboog en willekeurige kleuren met het RGB-kleurmodel

Hoe maak je goede regenboog en willekeurige kleuren met het RGB-kleurmodel

Het lijkt erop dat dergelijke eenvoudige dingen als een regenboogeffect of soepel willekeurige verkleuren op een RGB LED behoorlijk triviaal zijn. Echter kom keer op keer ik op projecten met behulp van vreemde benaderingen van deze kwestie. De meest
RGB LED Fishtank Light

RGB LED Fishtank Light

maken uw vissentank kleurrijke en helder met de kracht van Arduino en RGB LED'sStap 1: Verzamel materiaal u nodig:-Een RGB LED-A fishtank met vis-Arduino-Weerstanden-Jumper draden-Computer met de Arduino IDE-A USB een aan b-kabel voor het synchronise
RGB-zaklamp

RGB-zaklamp

deze zaklamp kan produceren honderden verschillende kleuren op basis van de rotatie van een potentiometer. Het maakt gebruik van een drie watt RGB led om lichte kleuren te maken.Onderdelenlijst:1 x Arduino UNO1 x Atmega328 met arduino bootloaderAls u
Hoe op te lossen het probleem van meer dan 10 meter RGB verlichting storing?

Hoe op te lossen het probleem van meer dan 10 meter RGB verlichting storing?

Het probleem van meer dan 10 meter RGB verlichting storing oplossenStap 1: Geen verlichting verval fenomeenEr is geen verlichting verval fenomeen wanneer u verbinding maakt met 5 meter RGB led strip licht:Stap 2: Verlichting verval fenomeenEr zijn ui