Introduction: Aurora Alerts Ring
While visiting the north part of Scotland, I came across websites and apps that shows alerts for the Aurora (northern lights). After reading Uri Shaked article "How to Connect Your T-Shirt to Slack Using Arduino", I decided to create an Aurora alerts ring, using WeMos board and 24 NeoPixel LED and gets the alerts from AuroraWatch UK API.
I won’t explain here how the software works, you can read Shaked article for that.
Step 1: Step 1: Materials
For this project you will need:
Software:
- WebSockets - WebSocket Server and Client for Arduino (v2.0.2 or newer)
- ADAFRUIT_NeoPixel - Controlling single-wire-based LED pixels
- SimpleTimer - A simple library to launch timed actions
Hardware:
- WeMos D1 Mini - A tiny ESP8266-based board that run Arduino code, and has built-in WiFi support
- An RGB LED Ring, I recommend using the 24 NeoPixel LED
I used 24 NeoPixel LED but you can use any type of display you like. Gust modify the code as needed.
I decided to frame it all so I can put it on a wall. And use a standard USB cable to power it up.
Step 2: Step 2: Installation
Arduino Environment Configuration
Make sure you have Arduino 1.6.7 or newer. You can download the latest version from www.arduino.cc. You will need to set up your Arduino environment for ESP8266 development, I use the AdaFruit tutorial. From the Arduino IDE, install the WebSockets and AdaFruit NeoPixel libraries (Sketch> Include Library> Manage Libraries)
Connecting the NeoPixel Ring to the WeMos D1 Mini
Connect the NeoPixel Ring to your WeMos D1 Mini as follows:
- NeoPixel VCC ↔ WeMos 5V
- NeoPixel GND ↔ WeMos G
- NeoPixel IN / DI ↔ WeMos D2 pin
Step 3: Step 3: Setting Up the Code
Download the code from https://github.com/kulaone/aurora_ring
Update aurara_ring.ino with your Wi-Fi network id and password.
const char* networks[][2] = {
{ "ssid", "password"}
};
* if you need to set up more than one network, read the project's readme file.
Testing
If you like only to test the ring, change testRingMode to true.
const boolean testRingMode = true;
Step 4: Step 4: Make It Pretty
I use a nice frame, so I can put it on the wall.
If you don't like to expose the led's ring you can use a thin paper in front of it.