Giter VIP home page Giter VIP logo

dht11's Introduction

Header Banner

Hello there 👋, I'm Dhruba Saha

✨Open Source Contributor🔹CS Grad🔹IoT Hobbyist🔹DIY Enthusiast🔹Photographer🔹Gamer✨

Header Banner

Profile Views

💫 About Me

I'm Dhruba Saha, a 21-year-old CS graduate with a passion for open-source contributions, DIY projects, IoT, photography and gaming. I love working on DIY projects and exploring the world of IoT. In my free time, I actively contribute to open-source projects, fostering collaboration and innovation within the community. Furthermore, I also have a keen interest in photography, particularly street, nature, and astrophotography. Lastly, I enjoy playing games like GTA V, CS GO, Rust, Minecraft, Fortnite, and PUBG.

💻 Tech Stack

Domain Type
Domain Knowledge Computer Science Software Development Machine Learning Badge
Language C C++ Python JavaPowershell Shell Markdown CMAKE LaTeX
Databases MySQL
CI / CD Github Badge Github Actions Badge
Web HTML5 CSS3 JavaScript PHP JWT Bootstrap
Cloud Google Cloud AWS Azure Vercel
OS Linux Windows Windows 11 Windows 10 Debian Ubuntu Kali Arch Cent OS
IDE Visual Studio Code Arduino IDE Android Studio IntelliJ Visual Studio Google Colab Windows Terminal Google Chrome Anaconda OverLeaf Jupyter Notebook VS Code Insiders
Tools TensorFlow OpenCV OpenGL Matplotlib NumPy Cloudflare Prettier DockerVirtualBox Github Pages
Prototyping Platform Raspberry Pi Arduino Espressif
Office Word Excel Powerpoint Access
Photo Editor & Design Adobe Lightroom

Coding

  • 🔭 I’m currently working on updating documentation and files structures on my existing repositories

  • 🌱 I’m currently learning TensorFlow

  • 👯 I’m looking to collaborate on Arduino Library Development

  • 👨‍💻 All of my projects are available at my GitHub

  • 🤔 I’m looking for help with ⚡ Current Projects

  • 💬 Ask me anything from 💻 Tech Stack

⚡ Current Projects

  • Website for the Department of Computer & System Sciences, Siksha Bhavana, Visva Bharati University - Full Stack: LAMP Stack: HTML, CSS (Bootstrap 5), JS, PHP, MySQL - This interactive website aims to facilitate all students, faculties, and researchers in our department. It features a login system and dynamically adjusts page formatting according to the user's device. - Ongoing since 2021

    HTML5 CSS3 JavaScript PHP JWT Bootstrap

  • Patient Health Monitoring System - A low-cost alternative for monitoring patients' vital conditions using IoT. The system incorporates features of a commercial Patient Monitoring System at only 1/8th of the cost. It utilizes various sensors such as AD8232 ECG Sensor, MAX30102 Pulse Oximeter, DS18B20 Temp Sensor, custom-made NIBP System (Sphygmomanometer) using HX710B, Air Pump & Solenoid Valve, DHT11 Temperature and Humidity Sensor, and BMP280 Air Pressure Sensor. - Ongoing since 2023

    Raspberry Pi Arduino Espressif Python TensorFlow Matplotlib NumPy

⚒️ Projects

Throughout my educational journey, I have developed a variety of DIY projects. Here are some notable ones:

Science

  • Generate electricity using a motor (dynamo) - 2014
  • Makeshift Crane - Transferring items from the ground to the first floor using a motor and cotton thread - 2014
  • DIY projector - Using a magnifying glass and smartphone - 2015
  • Telescope - 2015
  • Bicycle brake light - 2016
  • Water Boat - Using a motor and handmade propeller - 2016
  • Lit up tubelight - Using CFL Driver - 2018

Arduino

  • Bluetooth Smart Switch - Using HC-05 - 2017
  • Weather Station - Using DHT-11 - 2018
  • Calculator - Based on Arduino UNO R3 - 2018
  • Clock - Based on DS-3231 - 2019
  • 180° Object detection - Using HC-SR04 - 2019
  • Smart Dustbin - Using HC-SR04 - 2019
  • Ultrasonic Range Measurement - Using HC-SR04 - 2020

Espressif

  • Automatic Water Pump Control - Based on ESP-32 Dev Module - 2022

Raspberry Pi

  • Network firewall & Advertisement blocking - Based on Raspberry Pi Zero W - 2021

Machine Learning Badge

  • OCR Character Recognition - Using TensorFlow, OpenCV & Python (Custom-designed neural network using labeled dataset) - CUDA
  • VoiceGPT - Using OpenAI's Whisper and Da-Vinci model API for voice-based chatGPT - Python

📒 Open Source Contributions

I am an active contributor to open-source projects, dedicating my free time to enhance collaboration and innovation. Here are some of my contributions:

Arduino

  • Created Arduino libraries:
    • DHT11 Arduino Library: A simple and efficient library for reading temperature and humidity data from the DHT11 sensor without dependencies.
    • SimpleUltrasonic Arduino Library: A simple and efficient library for calculating distance data from the HC-SR04 sensor without dependencies.

Linux

  • Created tutorials:
    • How to install graphics.h in Ubuntu
    • Setting up WSL2 for C/C++/OpenGL Development - Step-by-step instructions

🌐 Gaming and Server Administration

As a passionate gamer, I have gained valuable experience in server administration and automation. I have set up Minecraft and Rust servers to enjoy gaming sessions with my friends. Through these endeavors, I have acquired knowledge of automation using shell and batch scripts, as well as managing virtual machines and networks on platforms such as AWS, Google Cloud, and Azure. Here are the highlights:

Minecraft

  • Developed an automated script for running a Java-based Minecraft server on Linux.
  • Created a texture pack to prevent X-ray exploits and enhance anti-cheating measures.
  • Operated a Minecraft server for my friends from 2019 to 2021, where I learned about Minecraft texture pack design and utilized Nvidia AI upscaling with CUDA.

Rust

  • Founded and managed Rusty India, a Rust server community.
  • Created a custom map of India using Rust Edit and World Creator.
  • Gained expertise in network security, implementing Fail2Ban, Snort, Geo-IP based IP Filtering using IP Tables.
  • Utilized bastion host for secure server connections.
  • Acquired knowledge of TCP/UDP packet routing, ports, and game world development within game engines.
  • Ran the server on Google Cloud.

🏢 Community Contributions

To foster engagement and knowledge sharing, I established the VBDCSS IoT Club during my second year of university in 2022. This club aims to teach and inspire students about IoT and DIY projects. Additionally, I manage and created our department's GitHub organization, taking the lead in utilizing advanced GitHub features and fostering collaboration among students.

This portfolio showcases my diverse skill set and demonstrates my passion for technology, gaming, DIY projects, and open-source contributions. If you have any further questions or require additional information, feel free to reach out to me using the provided contact details.

Thank you for visiting my portfolio!

Footer Banner

dht11's People

Contributors

dhrubasaha08 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

dht11's Issues

Enhancement: Enable fetching of both humidity and temperature at the same time

Loving the simplicity of this library. However, as the DHT11 is quite slugish and doesn't like to be polled faster than 1Hz, if you try and call readTemperature() and then readHumidity() too close together the second call returns 253.

Might this be corrected if the constructor had 2 variables say _T and _H, and a new method readSensor() was added? readSensor() contains the current content of readHumidity function but instead of returning data[0] it sets _H = data[0] and _T = data[2]

readTemperature() then becomes

readTemperature(){
return _T;
}

or similar. Would this work with the way you have designed this library? or would it break something you have planned?

The library is broken and cannot properly read humidity from the sensor.

The library is broken and can't read humidity from the sensor at all BUT it can read temperatures (and that's weird). I recorded a video (https://github.com/dhrubasaha08/DHT11/assets/43276401/c08f88ea-b9ee-4187-ba22-5e2f3c7b2dd0) showing what it looks like, using the example from the file (ReadTempAndHumidity.ino) and in the second part I used the simplest library I could find: https://github.com/adidax/dht11 and used the following code for this library:

#include <dht11.h>
#define DHT11PIN 4

dht11 DHT11;

void  setup()
{
  Serial.begin(9600);
 
}

void loop()
{
  Serial.println();

  int chk = DHT11.read(DHT11PIN);

  Serial.print("Humidity (%): ");
  Serial.println((float)DHT11.humidity, 2);

  Serial.print("Temperature  (C): ");
  Serial.println((float)DHT11.temperature, 2);

  delay(2000);

}

Error reading both temp and humidity

I was playing around with a DHT11 and a ESP8266 NodeMCU ESP-12E and could not get both temp and humidity to display. I ran the script with just temp and just humidity, and they worked fine. After much consternation, I eliminated the error by putting a delay(500) between each reading. I did not try any shorter delays. Here is what my sketch looked like:

#include <DHT11.h>

// Create an instance of the DHT11 class and set the digital I/O pin.
DHT11 dht11(2);

void setup() {
// Initialize serial communication at 115200 baud.
Serial.begin(115200);
}

void loop() {
// Read the temperature from the sensor.
float temperature = dht11.readTemperature();

delay(500); // Required to get both readings consecutively

// Read the humidity from the sensor.
float humidity = dht11.readHumidity();

// If the temperature and humidity readings were successful, print them to the serial monitor.
if (temperature != -1 && humidity != -1) {
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" C");

Serial.print("Humidity: ");
Serial.print(humidity);
Serial.println(" %");

} else {
// If the temperature or humidity reading failed, print an error message.
Serial.println("Error reading data");
}

// Wait for .5 seconds before the next reading.
delay(500);
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.