April 29, 2017

823 words 4 mins read

Selected Input/Output - Sensors and Actuators

Selected Input/Output - Sensors and Actuators

Selected Input/Output - Sensors and Actuators: LDR Laser Receiver, PIR Sensor, LM35, DHT11, Ultrasonic Sensor HC SR04; Local Input/Output with Processing.org.

Selected Input/Output - Sensors and Actuators:

Preparation Notes: We reuse the previous nRF24L01+ example (Simple Remote Control) with some changes i.e.: for simplicity both nodes are now Nano-based, an LCD is attached to Node-2 for a better communication and debugging experience. In the next examples, the switch will be replaced with laser and PIR sensors.

I2C LCD1602

As the pin resources of ucontroller is limited, your project may be not able to use normal LCD shield after connected with a certain quantity of sensors/actuators i.e. if you are doing more than a simple project, you may be out of pins using a normal LCD shield. With this I2C interface LCD module, you only need 2 lines (I2C) to display information.

Interface: connect the I2C LCD1602 to the I2C port of Arduino (SDA - A4 and SCL - A5) and power this module with 5V.


LDR or Light Dependent Resistor (sometimes called a photoresistor or photocell) is a two-terminal, resistive component that increases or decreases its resistance depending on the light it senses. An LDR initially has a very high resistance. But, as light falls on it, the resistance will drop, allowing more current through.

LDR sensor module is used to detect the intensity of light. It might have both analog output pin and digital output pin labelled as AO and DO respectively on the board. When there is light, the resistance of LDR will become low according to the intensity of light. The greater the intensity of light, the lower the resistance of LDR. The sensor has a potentiometer knob that can be adjusted to change the sensitivity of LDR towards light.

PIR Sensor

A PIR (Passive Infra-Red) sensor is an electronic sensor that measures infrared light radiating from objects in its field of view. Normally this type of sensor would be used as a motion or proximity sensor. Quite often they are referred to as: PIR, Motion, Proximity, or Pyroelectric sensor.

The sensor in the PIR detects or “reads” infrared radiation “emitted” from objects all around us. Each object with a temperature above absolute zero will radiate infrared, even us humans, and even though we mere humans cannot see this. Note that the PIR just uses a relatively simple sensor - it is most definitely not an IR camera!


LM35 is a linear temperature sensor with the output voltage calibrated in centigrade celsius. 1 degree celsius makes an output voltage of 10mV. So when you have room temperature at 22C the LM35 gives you a voltage of 220mV = 0.22V.

The sensor has only 3 pins: VCC which can be between +4V and +20V, GND and Vout. Vout has to be connected to one of the analog inputs and that’s all - in most cases.


DHT11 is a temperature and humidity sensor with a calibrated digital signal output. The DHT11 sensor has four pins. Connect the first pin on left of sensor (‘VCC’) to 5V of your board, the second pin (‘Data’) to a digital pin and the fourth pin (‘GND’) to ground. When the connecting cable is shorter than 20m, a 5K pull-up resistor between the second Pin of sensor and 5V is recommended.


Processing is a flexible software sketchbook and a language for learning how to code within the context of the visual arts. Since 2001, Processing has promoted software literacy within the visual arts and visual literacy within technology. There are tens of thousands of students, artists, designers, researchers, and hobbyists who use Processing for learning and prototyping.

Processing is an open source language/ development tool for writing programs in other computers. Useful when you want those other computers to talk with an Arduino, for instance to display or save some data collected by the Arduino.

How to Work with Processing?

  • Write Arduino sketch as usual, except for input/output intended to be retrieved from or sent to Processing
  • Write Processing program that receives/sends data from/to Arduino

If you just want to control an Arduino board from a Processing program, you may want to use the Arduino Library for Processing.

Ultrasonic Sensor

HC-SR04 ultrasonic ranging sensor provides 2cm to 400cm of non-contact measurement functionality with a ranging accuracy that can reach up to 3mm. It is a very affordable proximity/distance sensor that has been used mainly for object avoidance in various robotics projects.

Each HC-SR04 module includes an ultrasonic transmitter, a receiver and a control circuit. It has 4 pins: VCC, GND, Trigger and Echo pin.


  1. LDR Sensor Module Interface With Arduino
  2. Using a Photocell @Adafruit
  3. Photoresistor @ElectroSchematics
  4. Testing and Playing with PIR sensors @Tweaking4All
  5. Arduino Playground - Processing
  6. Processing Foundation
  7. Electronics - Processing.org
  8. Typography, Strings and Drawing Text
  9. Arduino library for DHT11DHT22, etc Temp & Humidity Sensors
  10. A simple and configurable plotting library for Processing
  11. Clipart - Strain Gauge
comments powered by Disqus