Color Changing Larson Scanner (3 / 6 stap)

Stap 3: Code

Uit bildr artikel: http://bildr.org/2012/08/rotary-encoder-arduino/
en van Adafruit van Larson Scanner https://learn.adafruit.com/larson-scanner-shades

U moet ook de Adafruit NeoPixel bibliotheek geïnstalleerd https://github.com/adafruit/Adafruit_NeoPixel

#include

#define N_LEDS 60

#define PIN 6

Adafruit_NeoPixel strip = Adafruit_NeoPixel (N_LEDS, PIN, NEO_GRB + NEO_KHZ800);

Deze pinnen kunnen niet meer worden gewijzigd 2/3 zijn speciale pinnen

int encoderPin1 = 2;

int encoderPin2 = 3;

vluchtige int lastEncoded = 0;

vluchtige int encoderValue = 0;

lange lastencoderValue = 0;

int lastMSB = 0;

int lastLSB = 0;

VOID Setup {}

strip.begin();

int pos = 1, dir = 1; Positie, richting van "oog"

Serial.begin (9600); voor het testen van encoder

pinMode (encoderPin1, INPUT);

pinMode (encoderPin2, INPUT);

digitalWrite (encoderPin1, hoge); pullup weerstand inschakelen

digitalWrite (encoderPin2, hoge); pullup weerstand inschakelen

Bel updateEncoder() wanneer een hoog/laag gewijzigd gezien

op onderbreken (pin 2) 0 of 1 (pin 3) onderbreken

attachInterrupt (0, updateEncoder, verandering);

attachInterrupt (1, updateEncoder, verandering);

}

int pos = 1, dir = 1; Positie, richting van "oog"

void loop {}

int count = 0;

Graaf = (encoderValue / 4);

Serial.println(encoderValue); testen / debuggen van de encoder

Serial.println(Count); testen / debuggen van de encoder

int j;

lange colorb = 0;

lange colorg = 0;

lange colorr = 0;

int count;

colorb = colorb + abs(encoderValue); blauw

colorg = colorb + 2*abs(encoderValue); groen

colorr = colorb + 4*abs(encoderValue); rood

opzoektabel voor kleurwaarden 13 sets van 3 kleuren

int rood [13] = {255,255,255,255,128,0,0,0,0,0,127,255,255};

int red1 [13] = {128,128,204,204,102,0,0,0,0,0,102,204,204};

int red2 [13] = {32,16,153,153,76,0,0,0,0,0,76,153,153};

int groene [13] = {255,0,0,0,0,0,127,255,255,255,255,255,127};

int green1 [13] = {128,0,0,0,0,0,102,64,204,128,204,204,102};

int green2 [13] = {32,0,0,0,0,0,76,32,153,16,153,153,76};

int blauw [13] = {255,0,127,255,255,255,255,255,0,0,0,0,0};

int blue1 [13] = {128,0,102,204,204,128,204,32,102,0,0,0,0};

int blue2 [13] = {32,0,76,153,153,16,153,32,76,0,0,0,0};

Als (colorb > 255) colorg colorg = ++;

Als (colorg > 255) colorr = colorr ++;

Draw 5 pixels gecentreerd op pos. setPixelColor() zal een clip

pixels weg van de uiteinden van de strook, we hoeven niet om op te letten voor.

strip.setPixelColor(0,(red[count]),(green[count]),(blue[count])); encoder LED (aparte WS2811 spaander)

strip.setPixelColor (pos - 2,(red2[count]),(green2[count]),(blue2[count])); red2 green2 blue2 uit opzoektabel

strip.setPixelColor (pos - 1, (red1[count]),(green1[count]),(blue1[count])); red1 green1 blue1

strip.setPixelColor (pos, (red[count]),(green[count]),(blue[count])); Middelste pixel is helderste

strip.setPixelColor (pos + 1, (red1[count]),(green1[count]),(blue1[count])); red1 green1 blue1

strip.setPixelColor (pos + 2,(red2[count]),(green2[count]),(blue2[count])); red2 green2 blue2

strip.show();

delay(30);

In plaats van stiekeme wordt en enkel de staart pixel, wissen

het is makkelijker om te wissen alles en tekent een nieuwe een volgende keer.

voor (j =-2; j < = 2; j ++) strip.setPixelColor (pos + j, 0);

Uiteinden van strip stuiteren

POS += dir;

Als (pos < 2) {}

POS = 3;

dir = - dir;

} else if (pos > = {strip.numPixels())}

POS = strip.numPixels() - 2;

dir = - dir;

}

}

ongeldig updateEncoder() {}

int MSB = digitalRead(encoderPin1); MSB = meest significante bit

int LSB = digitalRead(encoderPin2); LSB = minste significante beetje

int gecodeerd = (MSB << 1) | LSB; de waarde 2 pin omzetten in één getal

int som = (lastEncoded << 2) | gecodeerd; naar de vorige gecodeerde waarde toe te voegen

Als (som 0b1101 == || som 0b0100 == || som 0b0010 == || som 0b1011 ==) encoderValue ++;

Als (som 0b1110 == || som 0b0111 == || som 0b0001 == || som 0b1000 ==) encoderValue--;

Als (encoderValue > 55) encoderValue = 0; Gewijzigd op 10-26-14

Als (encoderValue < 0) encoderValue = 55;

lastEncoded = gecodeerd; Deze waarde opslaan voor de volgende keer

}

Gerelateerde Artikelen

De Color-Changing sportdrank

De Color-Changing sportdrank

deze blauwe drank paarse draait dan rood/roze bij toevoeging van een citroenzuur-versterkt blikje Sprite. Het smaakt goed en heeft een soortgelijke chemische profiel naar een hypotone sportdrank (zie dit zelfgemaakte sport ook drinken Recept). Het is
Omkeerbare Color Changing Zip-Tie Lamp

Omkeerbare Color Changing Zip-Tie Lamp

Vandaag ik u hoe tonen zal te maken van een hangende veelkleurige LED lamp gemaakt volledig uit de zip-banden en hardware doek (vierkante kippengaas). Deze lamp is omkeerbaar, zodat wanneer u zwenking op een manier die de banden liggen vlak en glad m
Color-Changing Cocktails

Color-Changing Cocktails

blauwe voedingsmiddelen zijn opvallende (en zeldzaam) alle door zelf, maar een beetje limoensap en deze emerald blauwe elixer zal toevoegen * magisch * omzetten in een briljante paars. Ik heb mijn kleine cocktail noemde de Indigo blos. De intense kle
Bouw de ultieme Larson-Scanner!

Bouw de ultieme Larson-Scanner!

ik zag de beschikbaarheid van hoog vermogen (> 10W) LED's sprong over het afgelopen jaar of zo en... dalen in prijs.  Ik kwam over sommige zeer goedkoop 10W wit LED's van Deal Extreme die werden in het bereik van $3 dollar en stak 900lumens, dat is m
Color-Changing LED Skateboard-verlichting

Color-Changing LED Skateboard-verlichting

kleur veranderende LED-verlichting mogen onze eigen Dan Kidd aan vamp zijn eigen skateboard voor de December werknemer DIY-project. Kidd geïnstalleerd 3 feet van batterij-aangedreven, waterdicht, veranderende kleuren ledverlichting op zijn skateboard
De Cylon - Larson Scanner Kit - met Charlieplexing!

De Cylon - Larson Scanner Kit - met Charlieplexing!

Dit instructable dekt bouwen de kit die het resultaat van verschillende bouwstijlen, en vele herhalingen. Als u wilt meer informatie over eerdere pogingen en/of het ontwerp proces reactie hieronder en ik graven zal uit de oudere (en nog veel kleiner)
Ping Pong Larson Scanner

Ping Pong Larson Scanner

dus ik zag het nieuwe instrument voor de opbouw van de circuits in http://123d.circuits.io, heb ik besloten om het te proberen. En tot mijn verbazing vond dat ik aan een wedstrijd hier op instructables deelnemen kon.Het circuit ik maakte werd geïnspi
Charlieplexing Larson Scanner

Charlieplexing Larson Scanner

De Larson-Scanner is een oude prop die werd populair dankzij shows zoals Battlestar Galactica en Knight Rider. In dit voorbeeld zullen we charlieplexing gebruiken voor bedrading zodat we 4 pinnen waarmee alle 12 LED's kunnen gebruiken. Deze build was
Minimale larson scanner/cyclon

Minimale larson scanner/cyclon

ongetwijfeld je hebben gezien velen een instructable op hoe maak je een larson-scanner.  Er zijn ook een heleboel kits beschikbaar die er ook.  Ik heb net gedaan een uit schroot delen, en ik denk dat het gebruikt de minste delen van om het even wie d
8-LED Larson Scanner met Arduino

8-LED Larson Scanner met Arduino

dit is een eenvoudige manier om een Larson-Scanner met behulp van een Arduino, met de toegevoegde mogelijkheid van het instellen van het scannen interval met een potentiometer.Lijst van minimale onderdelen:(1) de Arduino Duemilanove (of gelijkwaardig
Larson scanner leds (kitt) met arduino

Larson scanner leds (kitt) met arduino

De scanner larson is bekend door knigth renner in de jaren 80. In deze tutorial zal ik u vertellen hoe te maken van une. Dus probeer ik om mijn versie van het project te maken. Het bestaat uit een matrix met LED's die over het verplaatsen van links n
Infrarood nabijheid Sensing koffietafel Module & Color Changing gloeiende kraan

Infrarood nabijheid Sensing koffietafel Module & Color Changing gloeiende kraan

Deze video kan worden gevonden op youtube.http://www.YouTube.com/watch?v=h5n0rw8wo14Check out de andere één, en enkele andere van mijn video 'sDit is slechts een instructable uitleggen hoe deze apparaat werkt. Ik hoop dat alles is niet te obscure.Dit
Golf JT - Larson Scanner met Joule dief

Golf JT - Larson Scanner met Joule dief

Ik hou van LED chasers. Een stelletje LEDs netjes draaien in- en uitschakelen op een precieze timing - lichten draait unidirectioneel, dan de andere kant... Het is ontspannen, rustgevende en hypnotische.Er zijn zoveel LED chaser/scanner/sequencer cir
Hack een goedkope usb-speelgoed in een Crystal Color-Changing Klok!

Hack een goedkope usb-speelgoed in een Crystal Color-Changing Klok!

ik zag deze coole gadget "Droom brutale Webmail Notifier" online en wist dat ik moest om het te kappen. De meeste plaatsen verkopen voor $15, maar ik heb toevallig dit vinden op ebay voor $6. Hij wordt aangedreven door usb; een slimme beetje van