This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| projects:c-info-wand [2015/04/19 03:45] – uk | projects:c-info-wand [2015/04/25 01:53] (current) – [code] uk | ||
|---|---|---|---|
| Line 21: | Line 21: | ||
| < | < | ||
| /* | /* | ||
| - | Fade for c-info wall at c-base. | + | Fade for c-info wall at c-base with MQTT | 
| - | Works with TI's connected launchpad and the energia.nu IDE. | + | |
| */ | */ | ||
| + | |||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| // Apparently the preprocessor variables B0 and B1 are already taken. | // Apparently the preprocessor variables B0 and B1 are already taken. | ||
| Line 42: | Line 45: | ||
| int brightness = 50; // how bright the LED is | int brightness = 50; // how bright the LED is | ||
| int fadeAmount = 1; // how many points to fade the LED by | int fadeAmount = 1; // how many points to fade the LED by | ||
| + | int fadeCounter = 0; | ||
| + | |||
| + | // MQTTServer to use | ||
| + | char server[] = " | ||
| + | |||
| + | void callback(char* topic, byte* payload, unsigned int length) { | ||
| + |   Serial.print(" | ||
| + |   Serial.print(topic); | ||
| + |   Serial.print(" | ||
| + |   Serial.println(length); | ||
| + |   Serial.println(" | ||
| + |   Serial.write(payload, | ||
| + |   Serial.println(); | ||
| + | fadeCounter = 20; | ||
| + | } | ||
| + | |||
| + | EthernetClient ethClient; | ||
| + | PubSubClient client(server, | ||
| + | |||
| void setup()  | void setup()  | ||
| Line 53: | Line 75: | ||
|   pinMode(CBASEG2, |   pinMode(CBASEG2, | ||
|   pinMode(CBASEB2, |   pinMode(CBASEB2, | ||
| + |    | ||
| + |   Serial.begin(115200); | ||
| + |    | ||
| + |   Serial.print(" | ||
| + |    | ||
| + | // Start Ethernet with the build in MAC Address | ||
| + |   Ethernet.begin(0); | ||
| + | |||
| + |   Serial.print(" | ||
| + |   Serial.println(Ethernet.localIP()); | ||
| } | } | ||
| - | void loop() { | + | void doFade() { | 
| - | if (brightness < 90) { | + |    | 
| - | fadeAmount = 1; | + |      | 
| - | } | + | fadeAmount = 1; | 
| + |        | ||
| + | return; | ||
| + |      | ||
|    |    | ||
| - |    | + |      | 
| - | fadeAmount = -1; | + | fadeAmount = -1; | 
| - | } | + | } | 
|    |    | ||
| - |    | + |      | 
| - | // That is why we just set this one to full brightness forever. | + | // That is why we just set this one to full brightness forever. | 
| - |   analogWrite(CBASER0,  | + |      | 
| - |   analogWrite(CBASEG0,  | + |        | 
| - |   analogWrite(CBASEB0, | + |       analogWrite(CBASEG0,  | 
| + |       analogWrite(CBASEB0, | ||
| + | } | ||
| + | else { | ||
| + |       analogWrite(CBASER0, | ||
| + |       analogWrite(CBASEG0, | ||
| + |       analogWrite(CBASEB0, | ||
| + | } | ||
|    |    | ||
| - |    | + |      | 
| - |   analogWrite(CBASER1, | + |     analogWrite(CBASER1, | 
| - |   analogWrite(CBASEG1, | + |     analogWrite(CBASEG1, | 
| - |   analogWrite(CBASEB1, | + |     analogWrite(CBASEB1, | 
| - |   analogWrite(CBASER2, | + |     analogWrite(CBASER2, | 
| - |   analogWrite(CBASEG2, | + |     analogWrite(CBASEG2, | 
| - |   analogWrite(CBASEB2, | + |     analogWrite(CBASEB2, | 
| - | delay(10); | + | delay(10); | 
| + |     brightness = brightness + fadeAmount; | ||
| + | |||
| + | } | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | if (!client.connected()) { | ||
| + |     Serial.println(" | ||
| + | |||
| + |     if(!client.connect(" | ||
| + |       Serial.println(" | ||
| + | } else { | ||
| + |       Serial.println(" | ||
| + |       if(client.subscribe(" | ||
| + |         Serial.println(" | ||
| + | } | ||
| + | } | ||
| + | } | ||
|    |    | ||
| - |    | + |    | 
| + |   Serial.print(" | ||
| + |   Serial.println(fadeCounter); | ||
| + | doFade(); | ||
| + | if (fadeCounter > 0) { | ||
| + |     fadeCounter--; | ||
| + | } | ||
| + | delay(800); | ||
| } | } | ||
| + | |||
| </ | </ | ||