Maker.io main logo

Rain Detector Using Arduino and Raindrop Sensor

29

2026-09-02 | By Ron Cutts

License: GNU Lesser General Public License Arduino ESP32

In this tutorial, we will learn how to detect rain using a rain sensor and make a sound using a buzzer module and OLED display and Visuino.

Watch the video.

Learn more about Visuino: What is Visuino

What You Will Need

Arduino UNO (or any other Arduino)

Rain sensor module

Jumper wires

Breadboard

OLED display

Piezo buzzer

Visuino program: Download Visuino

What You Will Need

What You Will Need photo 2

What You Will Need photo 3

What You Will Need photo 4

What You Will Need photo 5

What You Will Need photo 6

The Circuit

  • Connect OLED Display pin[VCC] to Arduino pin[5V]

  • Connect OLED Display pin[GND] to Arduino pin[GND]

  • Connect OLED Display pin[SDA] to Arduino pin[SDA]

  • Connect OLED Display pin[SCL] to Arduino pin[SCL]

  • Connect Arduino 5V to piezo buzzer module pin VCC

  • Connect Arduino GND to piezo buzzer module pin GND

  • Connect Arduino digital pin 2 to piezo buzzer module pin S (signal)

  • Connect Arduino 5V to rain sensor module pin VCC

  • Connect Arduino GND to rain sensor module pin GND

  • Connect Arduino analog pin 0 to rain sensor module pin A0

The Circuit

Start Visuino, and Select the Arduino UNO Board Type

To start programming the Arduino, you will need to have the Arduino IDE installed from here: https://www.arduino.cc/.

Please be aware that there are some critical bugs in Arduino IDE 1.6.6. Make sure that you install 1.6.7 or higher; otherwise, this will not work! If you have not done so, follow the steps to set up the Arduino IDE to program Arduino UNO! The Visuino: https://www.visuino.eu also needs to be installed. Start Visuino as shown in the first picture. Click on the "Tools" button on the Arduino component (Picture 1) in Visuino. When the dialog appears, select "Arduino UNO" as shown in Picture 2

Start Visuino, and Select the Arduino UNO Board Type

Start Visuino, and Select the Arduino UNO Board Type photo 2

In Visuino ADD Components

  • Add "OLED Display" component

  • Add "Digital (Boolean) Inverter (Not)" component

  • Add "Delay" component

In Visuino ADD Components

In Visuino ADD Components photo 2

In Visuino ADD Components photo 3

In Visuino Set Components

  • Double click on the DisplayOLED1 and in the elements window drag "Draw text" to the left side..

  • In the properties window set size to 2, text to: RAINING! and Y to 20
    Close the elements window

  • Select Delay1 and in the properties window change interval to 3000000

In Visuino Set Components

In Visuino Set Components photo 2

In Visuino Set Components photo 3

In Visuino Connect Components

  • Connect Arduino analog pin 0 to Inverter1 pin In

  • Connect Inverter1 pin Out to Delay1 pin Start and DisplayOLED1>Draw Text1 pin Clock and Arduino Digital pin 2

  • Connect Delay1 pin Out to DisplayOLED1>Fill Screen1 pin Clock

  • Connect DisplayOLED1 pin I2C Out to Arduino board pin I2C In

In Visuino Connect Components

In Visuino Connect Components photo 2

Generate, Compile, and Upload the Arduino Code

In Visuino, at the bottom click on the "Build" Tab, make sure the correct port is selected, then click on the "Compile/Build and Upload" button.

Generate, Compile, and Upload the Arduino Code

Play

If you power the Arduino UNO module, and drop some water on the rain sensor the LED display should start showing the text "RAINING!" and the buzzer module should make a sound.

Congratulations! You have completed your project with Visuino. Also attached is the Visuino project that I created for this; you can download it here and open it in Visuino: https://www.visuino.eu

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.