Árbol de Arduino Tweetmas * actualizado con código * (5 / 6 paso)

Paso 5: El código

Codificación para mí es un dolor!

Me shearched en el sketch de arduino de trabajo web.

Muchos de ellos no funcionan pero me parece a este hombre en youtube:

Leroy Miller

Hace un buen trabajo y dar un buen código de trabajo en su codebender:

codebender

Cociné su código con más modelos como: candy cane, teatro estilo o arco iris rueda

Este es mi código de trabajo:

 #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); } } 

Artículos Relacionados

Añadir soporte de Arduino a ESP8266 con el código de prueba de muestra

Añadir soporte de Arduino a ESP8266 con el código de prueba de muestra

ESP8266 paquetes de un montón de golpe. No es sólo un módulo de WiFi, también tiene un regulador micro decente en construido. Ahora la mejor parte es la comunidad ha hecho programar este microcontrolador incorporado muy fácil añadiendo soporte de Ard
¿Cómo programar Arduino chips sobre LPT con código c ++?

¿Cómo programar Arduino chips sobre LPT con código c ++?

Hi otra vez!Hoy te muestro cómo programar Arduino chip(like ATtiny85) con código c ++ (también conocido como código en el IDE de Arduino)Ya que se puede utilizar BSD(aka LPT) programador con el IDE de Arduino, hice este tutorital :)Nota: Este tutorit
Brazo robótico de Arduino y seguimiento con el proceso

Brazo robótico de Arduino y seguimiento con el proceso

el brazo robótico agarra un objeto después de que detecta con el detector de movimiento y luego se mueve en un lugar específico.lista de partes:1,3 servos2. detector de movimiento infrarrojo pasivo: http://www.sparkfun.com/products/86303. arduino uno
Arduino - Control LEDs con un Control remoto

Arduino - Control LEDs con un Control remoto

Hola chicos,Estoy compartiendo con ustedes un proyecto que he hecho recientemente. Es acerca de cómo usted puede controlar algunos LED con control remoto y su Arduino. Pero se puede aplicar esto a dispositivos electrónicos tales como motores, luces p
Control de Arduino inalámbricamente con MATLAB

Control de Arduino inalámbricamente con MATLAB

estado viendo unos DIYs en cómo establecer una comunicación entre la aplicación de MATLAB y Arduino que viene conectado a la PC. Sin embargo, no he encontrado nada que controlar Arduino mediante MATLAB inalámbricamente utilizando el escudo de Etherne
Autónoma de Arduino de coches con Sensor de proximidad infrarrojo

Autónoma de Arduino de coches con Sensor de proximidad infrarrojo

Este Instructable muestra cómo modificar un coche RC preloved para que puede ser controlado por un Arduino. Entonces el Instructable le mostrará cómo hacer el RC funciona que un código simple figura 8 desde allí el Instructable le mostrará cómo agreg
Alimentado por USB árbol de Navidad de LED con sonido

Alimentado por USB árbol de Navidad de LED con sonido

Aquí está el producto terminado.El árbol de Navidad se hace con un chip ATMEGA 168 de arduino.Utilizarlo como un regalo de Navidad tardío para alguien en un intercambio de regalos.Primer instructivo para que por favor, tómalo con calma me debo hacer
Voz de Arduino controlar Robot con LED RGB

Voz de Arduino controlar Robot con LED RGB

Hola este es mi primer proyecto en instructable. se trata de un robot arduino controlado en tres ways.you puede controlar por medio de voz, botón de control y control de la dirección usando aplicaciones para androides. también podemos controlar un RG
Interfaz de Arduino a MySQL con Python

Interfaz de Arduino a MySQL con Python

aquí es un breve tutorial que debe levantarse y correr entretela su Adruino con una base de datos MySQL. Por este tutorial, supongo que sabes cómo configurar y utilizar MySQL. Este tutorial no requiere de mucha experiencia de Python, pero se le pedir
Árbol de Navidad de madera con cambio de color luces

Árbol de Navidad de madera con cambio de color luces

aquí es cómo construimos una decoración árbol de Navidad de madera con luces de LED cambio de color.Paso 1: Herramientas y piezas requeridas Se necesita las piezas siguientes:-1 pieza de MDF (cualquier tamaño que usted quiere su árbol - nuestra era d
LED mod pickup guitarra eléctrica *** actualizado con esquema para parpadear leds y video! ¿

LED mod pickup guitarra eléctrica *** actualizado con esquema para parpadear leds y video! ¿

Ever quería que su guitarra sea único? ¿O una guitarra que hace todo el mundo celoso de él? ¿O estás cansado del look antiguo llano de la guitarra y quieren ataviar encima? Bueno, en este muy simple Ible te voy a mostrar cómo se iluminan las pastilla
Cómo programar Arduino Pro Mini con Arduino Uno y ArduShield - sin los cables de

Cómo programar Arduino Pro Mini con Arduino Uno y ArduShield - sin los cables de

El objetivo principal de esta instrucción es mostrar cómo programar más fácil manera de Arduino Mini o Arduino Pro Mini con Arduino UNO y ArduShield – sin los cables.Paso Tutorial paso, con ninguna medida para saltar por PCB impresionante.Paso 1 - ¿q
Utilizando un Arduino dibujo Robot con horas de tutoriales de código

Utilizando un Arduino dibujo Robot con horas de tutoriales de código

He creado un Arduino robot para un taller de dibujo para ayudar a las adolescentes que se interese en temas de tallo (ver). El robot fue diseñado para utilizar comandos programación tortuga-estilo como forward(distance) y turn(angle) para crear inter
Como subir códigos a Lilypad Arduino sin FTDI con usando Arduino Uno

Como subir códigos a Lilypad Arduino sin FTDI con usando Arduino Uno

Hoy, voy a demostrarte que yo había diseñado un problema con mi módulo FTDI mientras estoy tratando de subir a cualquiera - en el IDE de Arduino - códigos desde mi computadora a la placa Lilypad Arduino Atmega328.En realidad, debe utilizar los módulo