Hackster is hosting Hackster Holidays, Ep. 7: Livestream & Giveaway Drawing. Watch previous episodes or stream live on Friday!Stream Hackster Holidays, Ep. 7 on Friday!
Kutluhan Aktar
Published © GPL3+

Mobile Weather Station Being Powered by Solar Energy

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

IntermediateFull instructions provided3 hours9,919
Mobile Weather Station Being Powered by Solar Energy

Things used in this project

Hardware components

Arduino Nano R3
Arduino Nano R3
×1
Lipo Rider V1.3
×1
Solar Panel
×1
HC-06 Bluetooth Module
×1
DHT11 Temperature & Humidity Sensor (4 pins)
DHT11 Temperature & Humidity Sensor (4 pins)
×1
Laser Module
×1
Li-Ion Battery 1000mAh
Li-Ion Battery 1000mAh
×1
SparkFun Solder-able Breadboard - Mini
SparkFun Solder-able Breadboard - Mini
×2
Jumper wires (generic)
Jumper wires (generic)
×1

Software apps and online services

Arduino IDE
Arduino IDE
MIT App Inventor 2
MIT App Inventor 2

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)
Hot glue gun (generic)
Hot glue gun (generic)

Story

Read more

Custom parts and enclosures

Fritzing.fzz

Schematics

Schema

Code

Mobile Weather Station

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

Credits

Kutluhan Aktar
82 projects • 311 followers
AI & Full-Stack Developer | @EdgeImpulse | @Particle | Maker | Independent Researcher

Comments