Weather Lamp

Weather Lamp is a RGB lamp made using Wiznet Pico WizFi360 and WS2812B LED's. The lamp simulates the real-time weather using the openweathermap.org API. It read parameters like cloud intensity, temperature, time and try to mimic the cloud colors, sun/moon and change the base color as temperature range.

 

Thank You NextPCB:

This project is successfully completed because of the help and support from NextPCB. NextPCB is one of the most experienced PCB manufacturers in Global, has specialized in the PCB and assembly industry for over 15 years. Not only could NextPCB provide the most innovative printed circuit boards and assembly technologies in the highest quality standards, the fastest delivery turnaround as fast as 24 hours.

Weather Lamp

Guys if you have a PCB project, please visit their website and get exciting discounts and coupons.

Only 0$ for 5-10pcs PCB Prototypes:Nextpcb.com/pcbprototype

Register and get $100 from NextPCB: Nextpcb.com/coupon

Supplies

1 x WizFi360-EVB-Pico

1 x WS2812B LED Strip

3D Printer

White Filament

Solder Kit

Connecting Wire

Step 1: Designing & 3D Printing

Designing & 3D Printing
  • I have designed the model in Fusion360.
  • Download the STL Files and 3D print them.

Step 2: Circuit Connection

Circuit Connection
  • Connect the WizFi 360 and WS2812B LEDs as shown in circuit diagram.

Step 3: Assembly

Assembly
  • Assemble all the parts together using quick glue.

Step 4: Getting Openweathermap API Key

Getting Openweathermap API Key
  • Go to openweathermap.org and create your account and verify it.
  • Now login to your account and click on you profile or right-top corner and go to My API Keys.
  • Copy the API Key that you see this will be used later in Step 6.

Step 5: Arduino Libraries Setup

Arduino Libraries Setup
  • First go to Files->Preferences and copy paste the following URL in Additional Boards Manager URLs:
https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json
  • Go to Tools->Boards->Boards Manager and search for Raspberry Pi Pico/RP2040 and dinstall it.
  • Now got to Sketch->Include Library->Manage Libraries and Search for ArduinoJson, Adafruit_NeoPixel and install them.

Step 6: Code Changes

Code Changes
  • At Line.No 20 you have to edit your Wifi Name(SSID) and Password.
/* Wi-Fi info */
char ssid[] = "SSID";       // your network SSID (name)
char pass[] = "PASWORD";   // your network password
  • At line 153 I have added 5 to hour and 30(Indian time zone IST 5:30) to Minutes and applied a maths to convert the APIs GMT time into ISt time zone.
  • You may have to change the number(5 and 30) according to your tiem zone.
      h = (h + 5) % 24;
      Serial.println(h);
      minute = (m + 30) % 60;
  • At line 282 you have to enter your locations Longitude, Latitude and You accounts openweathermap API key.
    // send the HTTP PUT request
    client1.println(F("GET /data/2.5/weather?lat=17.6795&lon=77.6051&appid=43f22249d3d42ec***********ca809b HTTP/1.1"));

Source: Weather Lamp


About The Author

Muhammad Bilal

I am highly skilled and motivated individual with a Master's degree in Computer Science. I have extensive experience in technical writing and a deep understanding of SEO practices.

Scroll to Top