Project tutorial
Mobile Weather Station Being Powered by Solar Energy

Mobile Weather Station Being Powered by Solar Energy © GPL3+

Get the weather information through an Android app constantly and use the solar energy generating by the PV panel to charge devices.

  • 3,986 views
  • 0 comments
  • 16 respects

Components and supplies

Necessary tools and machines

09507 01
Soldering iron (generic)
Hy gluegun
Hot glue gun (generic)

Apps and online services

About this project

Description

I had been working on a circuit being powered by the solar energy to charge my phone battery and I realized I could make it more efficient by turning the circuit into a portable weather station sending data to my phone through an Android app (Station) over Bluetooth, so I used LiPo Rider V1.3 to charge a lithium battery with the solar energy generating by a solar panel and to power Arduino Nano with the lithium battery as a current source.

To support my projects and articles, you can visit my website here :)

How to connect Lipo Rider V1.3 to a solar panel and a lithium battery?

Components outside of the range may cause a circuit overload to Arduino, according to Lipo Rider V1.3 page on SeeedStudio.com so that make sure the solar panel and the lithium battery you have are in the right specifications for LiPo Rider.

Solder a JST connector to the solar panel and the lithium battery if it was not attached them one.

Connect the solar panel and the lithium battery to JST inputs and turn the control button on, then it is ready to charge either a phone battery or Arduino Nano.

Mobile Weather Station

Make the connections by taking the steps at the code and the schematic below.

In addition to the features of the project, I made a laser module controlled by Station (Android app), just for fun.

When the code is uploaded to Arduino Nano, Station (Android app for the project) is ready to collect the data packet being send by HC-06 Bluetooth Module.

Station (Android App)

Features:

  • Get the weather information constantly.
  • Control the laser module

For more information: https://www.theamplituhedron.com/projects/Mobile-Weather-Station-Being-Powered-by-Solar-Energy/#h-4

Download Station.apk: https://www.theamplituhedron.com/projects/Mobile-Weather-Station-Being-Powered-by-Solar-Energy/#apk

Download Station.aia: https://www.theamplituhedron.com/projects/Mobile-Weather-Station-Being-Powered-by-Solar-Energy/#aia

Conclusion

After I finished the project, I put it on the top of my rope hat by using a hot glue gun and therefore sunlight strikes the solar panel at close to a right angle. Now, I use my improved rope hat as a test device for my experiments on the outside.

Code

Mobile Weather StationArduino
      
      /////////////////////////////////////////////  
     //   Mobile Weather Station Being Powered  //
    //            by Solar Energy              //
   //               (Android)                 //           
  //             by Kutluhan Aktar           // 
 //                                         //
/////////////////////////////////////////////


// Get the weather information through an Android app constantly and use the solar energy generating by the PV panel to charge devices. 
//
// Features: 
//
// -Get the weather information constantly. 
//
// -Control the laser module. 
//
//
// Connections:
//
// Arduino Uno
//                           DHT11 Temperature and Humidity Sensor
// Pin 2  -------------------
//                           Laser Module
// Pin 3  -------------------
//                           HC-06 Bluetooth Module
// Pin 4  ------------------- TX
// Pin 5  ------------------- RX

#include <SoftwareSerial.h> // Include Arduino libraries.
#include <DHT.h>

int LaserPin = 3; // Define the sensors pins.
int Connect_RX = 4;
int Connect_TX = 5; 

int humidity;    // DHT11 variables.
int temperatureC;
int temperatureF;

SoftwareSerial Connect(Connect_RX, Connect_TX); // Connect the bluetooth module.

DHT dht; // Start DHT11.

void setup() {
Serial.begin(9600); // Initial serial connections.
Connect.begin(9600);
dht.setup(2);  // Define DHT11 pin.
pinMode(LaserPin, OUTPUT);

}

void loop() {
  getDataToDHT(); 
if(Connect.available()){
  char c = Connect.read();
  Laser(c);
 }
  sendDataToConnect();
}

void Laser(char i){ // Commands when Arduino gets a char.
 switch(i){
  case '1':
  digitalWrite(LaserPin, HIGH);  
  break;
  case '2':
  digitalWrite(LaserPin, LOW);
  break;
  } 
}
void getDataToDHT(){ // Collect data and create the data packet.
 humidity = dht.getHumidity();
 temperatureC = dht.getTemperature();
 temperatureF = dht.toFahrenheit(temperatureC);
 delay(dht.getMinimumSamplingPeriod());

}

void sendDataToConnect(){ // Sending function.
 Connect.print(temperatureC);
 Connect.print("C");
 Connect.print("\n");  
 Connect.print(temperatureF);
 Connect.print("F");
 Connect.print("\n");  
 Connect.print(humidity);
 Connect.print("%");
 delay(1000);
  
}

Custom parts and enclosures

Fritzing.fzz
weather_station_mru8rKdhR7.fzz

Schematics

Schema
Schema uugacr78uq

Comments

Similar projects you might like

Wireless weather station (Arduino + ESP8266 + Thingspeak)

Project tutorial by Alin-Constantin Paun

  • 8,864 views
  • 2 comments
  • 11 respects

Personal Weather Station (Arduino+ ESP8266 + Thingspeak)

Project tutorial by Jayraj Desai

  • 51,519 views
  • 32 comments
  • 107 respects

Light Intensity and Solar Panel Energy Detector

Project tutorial by Kutluhan Aktar

  • 1,729 views
  • 4 comments
  • 10 respects

Integrated Solar ChargeController, Inverter, PowerBank, Lamp

Project tutorial by Shahariar

  • 7,736 views
  • 16 comments
  • 30 respects

Weather Station for Drones

Project tutorial by Giuseppe Caccavale

  • 11,514 views
  • 4 comments
  • 35 respects

Weather Station v.1.0

Project showcase by derapados

  • 10,388 views
  • 3 comments
  • 36 respects
Add projectSign up / Login