Sitemap / Advertise

Introduction

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


Tags



Share

Mobile Weather Station Being Powered by Solar Energy

Advertisement:


read_later

Read Later



read_later

Read Later

Introduction

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

Tags

Share





Advertisement

Advertisement




    Components :
  • Arduino Nano R3 [1]
  • Lipo Rider V1.3 [1]
  • Solar Panel [1]
  • HC-06 Bluetooth Sensor[1]
  • DHT11 Temperature and Humidity Sensor[1]
  • Laser Module[1]
  • Li-Ion Battery[1]
  • Mini Breadboard [2]
  • Jumper Wires [1]

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.

project-image
Figure - 8.1


project-image
Figure - 8.2

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.

project-image-slide project-image-slide project-image-slide project-image-slide project-image-slide project-image-slide
Slide


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

project-image-slide project-image-slide project-image-slide project-image-slide
Slide


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.

project-image-slide project-image-slide project-image-slide
Slide


Mobile Weather Station

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

project-image
Figure - 8.3

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

project-image
Figure - 8.4

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

project-image-slide project-image-slide project-image-slide project-image-slide project-image-slide project-image-slide
Slide


This application is created by using the source code of MIT App Inventor 2 and the app is compatible with Android version 2.1 or up.

project-image
Figure - 8.5

You can download the app and upgrade it by changing Station .aia file below.

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 at the outside.

project-image-slide project-image-slide project-image-slide project-image-slide project-image-slide project-image-slide
Slide



Schematics

Schema

Download


Fritzing.fzz

Download


project-image

Downloads

Station.apk

Download


Station.aia

Download


Codes

Mobile Weather Station.ino

Download



      
      /////////////////////////////////////////////  
     //   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  // Include Arduino libraries.
#include 

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