Notice: wp_enqueue_script was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or login_enqueue_scripts hooks. Please see Debugging in WordPress for more information. (This message was added in version 3.3.0.) in /home/sites/arduinolearning.com/public_html/wp-includes/functions.php on line 3996 Notice: The called constructor method for WP_Widget in CTC_Widget is deprecated since version 4.3.0! Use
__construct()
instead. in /home/sites/arduinolearning.com/public_html/wp-includes/functions.php on line 3767 Notice: Undefined index: HTTP_ACCEPT_LANGUAGE in /home/sites/arduinolearning.com/public_html/wp-content/plugins/newstatpress/newstatpress.php on line 1106 Arduino Learning - Just another WordPress site

Categories

Arduino and LX1972 light sensor example

The LX1972 is a low cost silicon light sensor with spectral response that closely emulates the human eye. Patented circuitry produces peak spectral response at 520nm, with IR response less than ±5%, of the peak response, above 900nm.

The photo sensor is a PIN diode array with a linear, accurate, and very repeatable current transfer function.

High gain current mirrors on the chip multiply the PIN diode photo-current to a sensitivity level that can be voltage scaled with a standard value external resistor. Output current from this simple to use two-pin device can be used directly or converted to a voltage by placing it in series with a single resistor at either of its two pins.

Dynamic range is determined by the resistors (typically in the range of 10K to 100K) and power supply values. Typically the LX1972 needs only 1.8V of headroom to operate at 1000 Lux illumination.

Internal temperature compensation allows dark current to be kept below 200nA over the full specification temperature range (-40 to +85°), providing high accuracy at low light levels. Usable ambient light conditions range is from 1 to more than 5000 Lux.The LX1972 is optimized for controlling back lighting systems in low cost consumer products such as LCD TV, portable computers, and digital cameras.

lx1972-module

FEATURES:
1. Near Human Eye Spectral Response
2. Very Low IR Sensitivity
3. Highly Accurate & Repeatable Output Current vs. Light
4. Scalable Output Voltage
5. Temperature Stable
6. Integrated High Gain Photo Current Amplifiers
7. No Optical Filters Needed

 

Code

void setup()
{
  Serial.begin(9600); // open serial port, set the baud rate to 9600 bps
}
 
void loop()
{
      int val;
      val=analogRead(0);      //connect sensor to Analog 0
      Serial.println(val);//print the value to serial        
      delay(100);
}

Links

 

LX1972 Analog Light Sensor DIY Maker Illumination Sensor Module

FacebookTwitterGoogle+TumblrStumbleUponRedditLinkedInWhatsAppPinterestBaiduBufferDeliciousDiigoDiggOdnoklassnikiSina WeiboWordPressBlogger PostEmailShare

Nano to Uno shield adaptor

The Arduino nano is a very nice board, it has the same microcontroller as an Uno, all of its I/O come out to headers, it uses mini usb and its small size make it ideal for projects where space is an issue. its also generally slightly cheaper than Uno making it a popular choice.

There are a couple of minor problems though, if you have a collection of shields for your Arduino Uno then using these with a nano can be tricky an additional issue that as the nano is USB powered then there is a lack of power available due to the amount available through the USB bus and also the limitation of the on board voltage regulator. The nano has no external power adaptor.

To solve this there are a couple of solutions, what you need to buy is a Nano-Uno shield adaptor. Here is a picture of one that I bought

nano-to-uno

As you can see there are coloured connectors for the shield, you can also see the power connector fitted so you can use an external supply. Headers are supplied which could be populated but depending on the size of these headers then they may be close to shorting on a shield if fitted, double check if you want to fit these.

You can get one of these useful boards for under $10

Nano-UNO Shield Adapter Nano Development Board for Arduino – $9.79

FacebookTwitterGoogle+TumblrStumbleUponRedditLinkedInWhatsAppPinterestBaiduBufferDeliciousDiigoDiggOdnoklassnikiSina WeiboWordPressBlogger PostEmailShare

Keyestudio Easy plug learning kit

There are a few development systems available which are Arduino based which are designed to make it easier for beginners and young people to get started. One of these is the Grove system and the other is this one which we will look at which goes by the name of the Easy plug learning kits(s) by Keyestudio.

The basic concept of these boards is fairly straightforward, if you are plugging in devices such as sensors, components and modules to an Arduino you need to power them and also connect the data lines to them correctly. This means that of course there is a chance of incorrect wiring which can damage the Arduino and/or any devices connected to them. The developers of Grove and the Easy Plug systems have basically designed a connector system that cannot be reversed and cannot be put in incorrectly. This eradicates possibilities of faults like the one’s described earlier but also leads to an easier prototyping system. You simply connect your sensor via the cable to one of the connectors on the main board and away you go, no fiddling with breadboards and cable.

Lets look at the Easy plug learning kit

easy-plug-learning-kit

The main part is obviously the large board in th top right of the picture above, its basically an Arduino Uno with all of the I/O pins coming out to connectors. 1 I/O pin per connector the other pins being power. The type of connectors are similar to RJ45 network connectors, you then plug in of the devices to the board and away you go.

Here are a list of the boards supplied

3 * EASY plug Digital White LED Module

1 * EASY plug Active Buzzer Module

1 * EASY plug Passive Buzzer module

1 * EASY plug Analog Temperature Sensor

1 * EASY plug Analog Sound Sensor

1 * EASY plug Photocell Sensor

1 * EASY plug Water Sensor

1 * EASY plug Soil humidity Sensor

1 * EASY plug Analog Rotation Sensor

1 * EASY plug Hall Magnetic Sensor

1 * EASY plug Collision Sensor

1 * EASY plug Digital Push Button

1 * EASY plug Capacitive Touch Sensor

1 * EASY plug Knock Sensor

1 * EASY plug Digital Tilt Sensor

1 * EASY plug Flame Sensor

1 * EASY plug Vibration Sensor

1 * EASY plug Reed Switch Module

1 * EASY plug LM35 Temperature Sensor

 

You can see its quite easy to create some interesting projects with this collection, for example connect a sensor and an led, when the sensor is activated light the LED

This looks a really good system for beginners and I could also see this being used in a classroom / learning environment as a starter step.

The kit retails at about $40 which seems pretty good value

 

Links
AliExpress.com Product – 2016 NEW! EASY-plug starter learning kit for Arduino w/ controller+sensors+USB+Cables+PDF

FacebookTwitterGoogle+TumblrStumbleUponRedditLinkedInWhatsAppPinterestBaiduBufferDeliciousDiigoDiggOdnoklassnikiSina WeiboWordPressBlogger PostEmailShare

Arduino and HDC1008 using no 3rd party libraries

In a previous example we took a look at the HDC1008 – http://arduinolearning.com/code/hdc1008-sensor-example.php

This example used a library from Adafruit but we wanted to show you how to do the same thing with no libraries., here is a reminder of how to connect the HDC1008 to your Arduino

Layout

arduino-and-hdc1008_bb

Code

#include<Wire.h>
 
// HDC1008 I2C address is 0x40(64)
#define hdcAddr 0x40
 
void setup()
{
  Wire.begin();
  Serial.begin(9600);
 
  // Starts I2C communication
  Wire.beginTransmission(hdcAddr);
  // Select configuration register
  Wire.write(0x02);
  // Temperature, humidity enabled, resolultion = 14-bits, heater on
  Wire.write(0x30);
  // Stop I2C Transmission
  Wire.endTransmission();
  delay(300);
}
 
void loop()
{
  unsigned int data[2];
 
  Wire.beginTransmission(hdcAddr);
  // Send temp measurement command
  Wire.write(0x00);
  Wire.endTransmission();
  delay(500);
 
  // Request 2 bytes of data
  Wire.requestFrom(hdcAddr, 2);
 
  // Read 2 bytes of data for temperature
  if (Wire.available() == 2)
  {
    data[0] = Wire.read();
    data[1] = Wire.read();
  }
 
  int temp = (data[0] * 256) + data[1];
  float celsTemp = (temp / 65536.0) * 165.0 - 40;
  float fahrTemp = celsTemp * 1.8 + 32;
 
 
  Wire.beginTransmission(hdcAddr);
  // Send humidity measurement command
  Wire.write(0x01);
  Wire.endTransmission();
  delay(500);
 
  // Request 2 bytes of data
  Wire.requestFrom(hdcAddr, 2);
  // Read 2 bytes of data to get humidity
  if (Wire.available() == 2)
  {
    data[0] = Wire.read();
    data[1] = Wire.read();
  }
 
  // Convert the data
  float humidity = (data[0] * 256) + data[1];
  humidity = (humidity / 65536.0) * 100.0;
 
  Serial.print("Humidity : ");
  Serial.print(humidity);
  Serial.println(" %RH");
  Serial.print("Celsius : ");
  Serial.print(celsTemp);
  Serial.println(" C");
  Serial.print("Fahrenheit : ");
  Serial.print(fahrTemp);
  Serial.println(" F");
  delay(500);
}

 

Links
HDC1008 Temperature Humidity Sensor Breakout Board for Arduino

FacebookTwitterGoogle+TumblrStumbleUponRedditLinkedInWhatsAppPinterestBaiduBufferDeliciousDiigoDiggOdnoklassnikiSina WeiboWordPressBlogger PostEmailShare