Arduino Tweetmas boom * bijgewerkt met code * (5 / 6 stap)

Stap 5: De code

Codering voor mij is een pijn!

Ik shearched op het web werken arduino schets.

Veel van hen niet werken, maar ik vind deze kerel op youtube:

Leroy Miller

Hij heeft een goede baan en een goed werkende code geven over zijn codebender:

codebender

Ik gekookt zijn code met meer patronen zoals: candy cane, theater stijl of regenboog wielen

Dit is mijn werkende code:

 #include <SPI.h>#include <Ethernet.h> #include <Adafruit_NeoPixel.h> // Local Network Settings byte mac[] = { 0xBC, 0x2D, 0x41, 0x70, 0x07, 0x98 }; // Must be unique on local network #define Brightness 5 //Set brightness to 5/10th // You can adjust brightness #define Full (255/Brightness) #define thingSpeakInterval 18000 // Time interval in milliseconds to get data from ThingSpeak (number of seconds * 1000 = interval) // Variable Setup long lastConnectionTime = 0; String lastCommandString = "black"; boolean lastConnected = false; int failedCounter = 0; Adafruit_NeoPixel strip = Adafruit_NeoPixel(167, 6, NEO_GRB + NEO_KHZ800); // For me 167 pixel on my strip // Initialize Arduino Ethernet Client EthernetClient client; void setup() { delay(100); // Setup Serial Serial.begin(9600); delay(100); Serial.flush(); delay(100); strip.begin(); strip.show(); // Start Ethernet on Arduino startEthernet(); } void loop() { // Process CheerLights Commands if(client.available() > 0) { delay(100); //Serial.println(client.available()); String response; char charIn; do { charIn = client.read(); // read a char from the buffer response += charIn; // append that char to the string response } while (client.available() > 0); //Serial.println(response.length()); Serial.println(response); if (response == "white" || response == "warmwhite" || response == "oldlace") { lastCommandString = "white"; theaterChaseRainbow(50); } else if (response == "black" || response == "off") { lastCommandString = "black"; theaterChase(strip.Color(0,0,0),50); } else if (response == "red") { lastCommandString = "red"; //theaterChase(strip.Color(255,0,0),50); CandyCane(30,8,50); } else if (response == "green") { lastCommandString = "green"; theaterChase(strip.Color(0, 255, 0), 50); } else if (response == "blue") { lastCommandString = "blue"; theaterChase(strip.Color(0,0,255),50); } else if (response == "cyan") { lastCommandString = "cyan"; theaterChase(strip.Color(0,255,255),50); } else if (response == "magenta") { lastCommandString = "magenta"; theaterChase(strip.Color(255,0,255),50); } else if (response == "yellow") { lastCommandString = "yellow"; theaterChase(strip.Color(255,255,0),50); } else if (response == "purple") { lastCommandString = "purple"; theaterChase(strip.Color(102,51,204),50); } else if (response == "orange") { lastCommandString = "orange"; theaterChase(strip.Color(255,153,0),50); theaterChase(strip.Color(0, 255, 0), 50); } else if (response == "pink") { lastCommandString = "pink"; theaterChase(strip.Color(255,53,153),50); } delay(200); Serial.print("CheerLight Command Received: "); Serial.println(lastCommandString); delay(200); } // Disconnect from ThingSpeak if (!client.connected() && lastConnected) { Serial.println("...disconnected"); client.stop(); } // Subscribe to ThingSpeak Channel and Field if(!client.connected() && (millis() - lastConnectionTime > thingSpeakInterval)) {subscribeToThingSpeak(); } checkcolor(lastCommandString); delay(500); // Check if Arduino Ethernet needs to be restarted if (failedCounter > 3 ) {startEthernet();} lastConnected = client.connected(); delay(100); } // End loop void subscribeToThingSpeak() { if (client.connect("api.thingspeak.com", 80)) { Serial.println("Connecting to ThingSpeak..."); failedCounter = 0; Serial.println("Sending Request"); client.println("GET /channels/1417/field/1/last.txt"); client.println(); lastConnectionTime = millis(); } else { failedCounter++; Serial.println("Connection to ThingSpeak Failed ("+String(failedCounter, DEC)+")"); Serial.println(); lastConnectionTime = millis(); } } void startEthernet() { client.stop(); Serial.println("Connecting Arduino to network..."); Serial.println(); delay(1000); // Connect to network amd obtain an IP address using DHCP if (Ethernet.begin(mac) == 0) { Serial.println("DHCP Failed, reset Arduino to try again"); Serial.println(); } else { Serial.println("Arduino connected to network using DHCP"); Serial.println(); } delay(1000); } // Fill the dots one after the other with a color void colorWipe(uint32_t c, uint8_t wait) { for(uint16_t i=0; i } //Theatre-style crawling lights. void theaterChase(uint32_t c, uint8_t wait) { for (int j=0; j<36; j++) { //do 36 cycles of chasing for (int q=0; q < 3; q++) { for (int i=0; i < strip.numPixels(); i=i+3) { strip.setPixelColor(i+q, c); //turn every third pixel on } strip.show(); delay(wait); for (int i=0; i < strip.numPixels(); i=i+3) { strip.setPixelColor(i+q, 0); //turn every third pixel off } } } } //Theatre-style crawling lights with rainbow effect void theaterChaseRainbow(uint8_t wait) { for (int j=0; j < 256; j++) { // cycle all 256 colors in the wheel for (int q=0; q < 3; q++) { for (int i=0; i < strip.numPixels(); i=i+3) { strip.setPixelColor(i+q, Wheel( (i+j) % 255)); //turn every third pixel on } strip.show(); delay(wait); for (int i=0; i < strip.numPixels(); i=i+3) { strip.setPixelColor(i+q, 0); //turn every third pixel off } } } } // rainbow wheel void rainbowCycle(uint8_t wait) { int i, j; for (j=0; j < 256 * 5; j++) { // 5 cycles of all 25 colors in the wheel for (i=0; i < strip.numPixels(); i++) { strip.setPixelColor(i, Wheel( ((i * 256 / strip.numPixels()) + j) % 256) ); } strip.show(); // write all the pixels out delay(wait); } } void rainbow(uint8_t wait) { int i, j; for (j=0; j < 256; j++) { // 3 cycles of all 256 colors in the wheel for (i=0; i < strip.numPixels(); i++) { strip.setPixelColor(i, Wheel( (i + j) % 255)); } strip.show(); // write all the pixels out delay(wait); } } /* Helper functions */ // Create a 24 bit color value from R,G,B uint32_t Color(byte r, byte g, byte b) { uint32_t c; c = r; c <<= 8; c |= g; c <<= 8; c |= b; return c; } //Input a value 0 to 255 to get a color value. //The colours are a transition r - g -b - back to r uint32_t Wheel(byte WheelPos) { if (WheelPos < 85) { return Color(WheelPos * 3, 255 - WheelPos * 3, 0); } else if (WheelPos < 170) { WheelPos -= 85; return Color(255 - WheelPos * 3, 0, WheelPos * 3); } else { WheelPos -= 170; return Color(0, WheelPos * 3, 255 - WheelPos * 3); } } void checkcolor(String colors) { if (colors == "white") { theaterChaseRainbow(50); } else if (colors == "black") { theaterChase(strip.Color(0,0,0),50); } else if (colors == "red") { //theaterChase(strip.Color(255,0,0),50); CandyCane(30,8,50); //30 sets, 8 pixels wide, 50us delay } else if (colors == "green") { theaterChase(strip.Color(0, 255, 0), 50); } else if (colors == "blue") { theaterChase(strip.Color(0,0,255),50); } else if (colors == "cyan") { theaterChase(strip.Color(0,255,255),50); } else if (colors == "magenta") { theaterChase(strip.Color(255,0,255),50); } else if (colors == "yellow") { theaterChase(strip.Color(255,255,0),50); } else if (colors == "purple") { theaterChase(strip.Color(102,51,204),50); } else if (colors == "orange") { theaterChase(strip.Color(255,153,0),50); theaterChase(strip.Color(0, 255, 0), 50); } else if (colors == "pink") { theaterChase(strip.Color(255,53,153),50); } } 

Gerelateerde Artikelen

Hoe te programmeren van de Arduino chips over LPT met c ++ code?

Hoe te programmeren van de Arduino chips over LPT met c ++ code?

Hi weer!Vandaag laat ik zien hoe te programmeren van de Arduino chip(like ATtiny85) met c ++ code (aka code in de Arduino IDE)Aangezien u niet BSD(aka LPT) programmeur met Arduino IDE gebruiken, maakte ik deze tutorital :)Opmerking: Deze tutorital ha
Arduino zelf evenwicht Controller met behulp van digitale IMU, eindelijk!

Arduino zelf evenwicht Controller met behulp van digitale IMU, eindelijk!

Wat is het?DIY Segway/balans controller met moderne digitale IMU sensor.Software voor een Arduino waarmee het standpunt om gegevens te lezen van een van de nieuwere digitale accelerometer/gyroscoop eenheden, processen, de gegevens met behulp van Kalm
Arduino High speed oscilloscoop met PC-interface

Arduino High speed oscilloscoop met PC-interface

Uw Arduino en PC gebruiken als een Snelle geheugenoscilloscoop.De Arduino kunt spanning lezingen met een frequentie van betrouwbaar verzamelen tussen 141 en 153 KiloHertz.1000 kan data worden afgelezen in ongeveer 6.8ms.Overgedragen aan een PC, deze
Arduino robotarm en monitoring met verwerking

Arduino robotarm en monitoring met verwerking

de robotarm pakt een object nadat wordt gedetecteerd met behulp van de bewegingsmelder en vervolgens op een specifieke locatie verplaatst.lijst van onderdelen:1.3 servo 's2. passieve infrarood bewegingsmelder: http://www.sparkfun.com/products/86303.
Arduino DS3231 Real timerklok met kleur TFT

Arduino DS3231 Real timerklok met kleur TFT

Het bouwen van een real timerklok met een kleuren TFT display is uiterst eenvoudig met behulp van de Arduino. Het display toont de tijd, de datum, de huidige temperatuur langs de MAX en MIN temperatuur die het heeft gemeten. Laten we bouwen het!Stap
Hoe maak je een Arduino gebaseerde nacht licht met infrarood afstandsbediening!

Hoe maak je een Arduino gebaseerde nacht licht met infrarood afstandsbediening!

Hier is een Instructable die u hoe tonen zal te bouwen van een licht met een Arduino gebaseerd-nachteen kleine infrarood afstandsbediening waarmee u doorlopen 10 pre set kleuren, en een willekeurige fadingkleur routine die voor eeuwig lussen.Dit inst
Onder leiding van elektrische gitaar pick-up mod *** bijgewerkt met schematische voor knipperende LED's en video!

Onder leiding van elektrische gitaar pick-up mod *** bijgewerkt met schematische voor knipperende LED's en video!

Ooit wilde je gitaar uniek? Of een gitaar die iedereen jaloers op het? Of ben je gewoon moe van de vlakte oude look van uw gitaar en wilt het sparren? Nou, in dit zeer eenvoudige Ible leert ik u hoe om te verlichten van de pickups op uw elektrische g
Het gebruik van IR-afstandsbedieningen met Arduino (huidige en bijgewerkte)

Het gebruik van IR-afstandsbedieningen met Arduino (huidige en bijgewerkte)

Ik ben moe van deze ingewikkelde tutorials over het gebruik van bepaalde dingen. Ik hou van eenvoudige, gemakkelijk te begrijpen, stap voor stap instructies. Mijn grootste probleem was met IR en POV. Ik heb eindelijk onder de knie hoe u kunt besturen
Een Wireless Smart Home (was: At Home simulator en alarm met Arduino of Atmega328 (bijgewerkt mei 2016))

Een Wireless Smart Home (was: At Home simulator en alarm met Arduino of Atmega328 (bijgewerkt mei 2016))

Opmerking: is er nu een android bluetooth control app ibble voor dit projectOpmerking: Hoewel dit begon als een project simuleren van mijn aanwezigheid thuis, het is uitgegroeid tot een slim huis, dus als ik dit InstructableWanneer mensen op vakantie
Programma & controle Arduino + PHIRO robot gelijktijdig met Pocket Code smartphone app

Programma & controle Arduino + PHIRO robot gelijktijdig met Pocket Code smartphone app

PHIRO Pro is een educatieve robot die helpt kinderen leren code. Een van de manieren voor het programmeren en besturen van de PHIRO is via een Android app genaamd Pocket Code beschikbaar op Google Play voor gratis. Zak Code heeft de mogelijkheid voor
Met behulp van een Arduino tekening Robot met Code Tutorials uur

Met behulp van een Arduino tekening Robot met Code Tutorials uur

Ik heb een Arduino robot voor een workshop tekening om te helpen tiener meisjes krijgen interesse in de onderwerpen van de stam (zie). De robot is ontworpen met Turtle-stijl programmering opdrachten zoals forward(distance) en turn(angle) maken van in
Hookup een LCD-scherm aan een Arduino in 6 seconden met 3, niet 6 pins

Hookup een LCD-scherm aan een Arduino in 6 seconden met 3, niet 6 pins

het toevoegen van een LCD-scherm aan de Arduino projecten kan echte waarde toevoegen de kosten doen dus kan echter aanzienlijk. Niet een financiële kosten - u kunt oprapen 16 (tekens) x 2 (rijen) LCD voor zo weinig zoals £3,50. De kosten is het telle
Arduino voor Beginners, nu met gegevens uitzetten, bestuurd door Android, geen codering vereist, geen solderen vereist.

Arduino voor Beginners, nu met gegevens uitzetten, bestuurd door Android, geen codering vereist, geen solderen vereist.

IntroductionDit instructable toont u hoe u kunt lezen en schrijven van de digitale pennen op uw Arduino Uno en waarden lezen van de analoge pins alle gecontroleerde van uw Android mobiele zonder het doen van eventuele codering. Dit gehele project is
De ratPhone - 3 G FONA Arduino cellulaire mobiele telefoon met Retro drukknop toetsenblok en Rat vangen App

De ratPhone - 3 G FONA Arduino cellulaire mobiele telefoon met Retro drukknop toetsenblok en Rat vangen App

Never mind de iPhones en Androids. Hier is de ratPhone! Dit is zeker niet een slimme telefoon. Maar het is niet een domme telefoon hetzij. U zal niet zitten kundig voor eindeloze uren afval op Facebook of Twitter, maar het zal helpen u vangen van rat