Posts | Comments

Planet Arduino

Archive for the ‘ldr’ Category

Have you shopped for an appliance lately? They’re all LEDs, LEDs everywhere. You might say that manufacturers are out of touch with the utility of tactile controls. [Wingletang]’s fancy new washing machine is cut from this modern cloth. While it does have a nice big knob for selecting cycles, the only indication of your selection is an LED. This isn’t an issue for [Wingletang], but it’s a showstopper for his visually impaired wife.

They tried to make tactile signposts for her most-used cycles with those adhesive rubber feet you use to keep cabinet doors quiet. But between the machine’s 14(!) different wash cycles and the endlessly-rotating selector knob, the tactile map idea was a wash. It was time to make the machine talk.

For his very first microcontroller project, [Wingletang] designed a completely non-invasive and totally awesome solution to this problem. He’s using LDRs arranged in a ring to detect which LED is lit. Recycled mouse pad foam and black styrene keep ambient light from creating false positives, and double as enclosure for the sensor and support boards. As [Mrs. Wingletang] cycles through with the knob, an Arduino clone mounted in a nearby project box determines which program is selected, and a Velleman KA02 audio shield plays a recorded clip of [Wingletang] announcing the cycle number and description.

The system, dubbed SOAP (Speech Output Announcing Programmes), has been a great help to [Mrs. Wingletang] for about the last year. Watch her take it for a spin after the break, and stick around for SOAP’s origin story and walk-through videos.

It’s baffling that so few washers and dryers let you know when they’re finished. Don’t waste your time checking over and over again—Laundry Spy waits for the vibrations to end and sends you a text.

 

The view from America has long seen French women as synonymous with thin and/or beautiful. France is well-known for culinary skill and delights, and yet many of its female inhabitants seem to view eating heartily as passé. At a recent workshop devoted to creating DIY amusements, [Niklas Roy] and [Kati Hyyppä] built an electro-mechanical sushi-eating game starring Barbie, American icon of the feminine ideal. The goal of the game is to feed her well and inspire a happy relationship with food.

Built in just three days, J’ai faim! (translation: I’m hungry!) lets the player satiate Barbie one randomly lit piece of sushi at a time. Each piece has a companion LED mounted beneath the surface that’s connected in series to the one on the game board. Qualifying sushi are determined by a photocell strapped to the underside of Barbie’s tongue, which detects light from the hidden LED. Players must race against the clock to eat each piece, taking Barbie up the satisfaction meter from ‘starving’ to ‘well-fed’. Gobble an unlit piece, and the score goes down.

The game is controlled with a lovely pink lollipop of a joystick, which was the main inspiration for the game. Players move her head with left and right, and pull down to engage the solenoid that pushes her comically long tongue out of her button-nosed face. Barbie’s brain is an Arduino Uno, which also controls the stepper motor that moves her head.

[Niklas] and [Kati] wound up using cardboard end stops inside the box instead of trying to count the rapidly changing steps as she swivels around. The first motor they used was too weak to move her head. The second one worked, but the game’s popularity combined with the end stops did a number on the gears after a day or so. Click past the break to sink your teeth into the demo video.

Barbie can do more than teach young girls healthy eating habits. She can also teach them about cryptography.

In our eyes, there isn’t a much higher calling for Arduinos than using them to make musical instruments. [victorh88] has elevated them to rock star status with his homemade electronic drum kit.

The kit uses an Arduino Mega because of the number of inputs [victorh88] included. It’s not quite Neil Peart-level, but it does have a kick drum, a pair of rack toms, a floor tom, a snare, a crash, a ride, and a hi-hat. With the exception of the hi-hat, all the pieces in the kit use a piezo element to detect the hit and play the appropriate sample based on [Evan Kale]’s code, which was built to turn a Rock Band controller into a MIDI drum kit. The hi-hat uses an LDR embedded in a flip-flop to properly mimic the range of an actual acoustic hi-hat. This is a good idea that we have seen before.

[victorh88] made all the drums and pads out of MDF with four layers of pet screen sandwiched in between. In theory, this kit should be able to take anything he can throw at it, including YYZ. The crash and ride cymbals are MDF with a layer of EVA foam on top. This serves two purposes: it absorbs the shock from the sticks and mutes the sound of wood against wood. After that, it was just a matter of attaching everything to a standard e-drum frame using the existing interfaces. Watch [victorh88] beat a tattoo after the break.

If you hate Arduinos but are still reading for some reason, here’s a kit made with a Pi.


Filed under: Arduino Hacks, musical hacks
Mar
05

Solar Panel System Monitoring Device Using Arduino

arduino, arduino hacks, electricity, LCD, ldr, LED, meter, panel, photo resistor, photocell, photoresistor, power, solar, utilities Commenti disabilitati su Solar Panel System Monitoring Device Using Arduino 

[Carl] recently upgraded his home with a solar panel system. This system compliments the electricity he gets from the grid by filling up a battery bank using free (as in beer) energy from the sun. The system came with a basic meter which really only shows the total amount of electricity the panels produce. [Carl] wanted to get more data out of his system. He managed to build his own monitor using an Arduino.

The trick of this build has to do with how the system works. The panel includes an LED light that blinks 1000 times for each kWh of electricity. [Carl] realized that if he could monitor the rate at which the LED is flashing, he could determine approximately how much energy is being generated at any given moment. We’ve seen similar projects in the past.

Like most people new to a technology, [Carl] built his project up by cobbling together other examples he found online. He started off by using a sketch that was originally designed to calculate the speed of a vehicle by measuring the time it took for the vehicle to pass between two points. [Carl] took this code and modified it to use a single photo resistor to detect the LED. He also built a sort of VU meter using several LEDs. The meter would increase and decrease proportionally to the reading on the electrical meter.

[Carl] continued improving on his system over time. He added an LCD panel so he could not only see the exact current measurement, but also the top measurement from the day. He put all of the electronics in a plastic tub and used a ribbon cable to move the LCD panel to a more convenient location. He also had his friend [Andy] clean up the Arduino code to make it easier for others to use as desired.


Filed under: Arduino Hacks
Set
06

Very accurate master clock synchronized to the DCF77 time signal

arduino, bluetooth, clock, dcf77, ldr Commenti disabilitati su Very accurate master clock synchronized to the DCF77 time signal 

master_clock_16a

by embedded-lab.com:

Brett’s new masterclock is Arduino-controlled and keeps very accurate time by periodically synchronizing with the DCF77 “Atomic” Clock in Mainflingen near Frankfurt, Germany. The DCF77  library for Arduino is used to decode the time signal broadcasted from the atomic clock. The time is displayed as hours, minutes, and seconds on six 1″ seven segment LEDs. A 4×20 I2C LCD display is also used in the project to display additional info such as display brightness, sync information, signal quality, auto tune’d frequency, auto tuned quartz accuracy, etc. Both the displays are auto-dimmed based on the surrounding light intensity using an LDR sensor and pulse width modulation technique. His clock also includes a bluetooth link for updating the Arduino firmware from a PC without an USB cable.

Very accurate master clock synchronized to the DCF77 time signal - [Link]

Mar
30

Simple technique of sensing colors using Arduino

arduino, ldr, LED, OLED, RGB Commenti disabilitati su Simple technique of sensing colors using Arduino 

dsc07095

ZXLee built a simple sensor for Arduino which allows him to detect colors. The idea lies behind using red, green, blue LEDs and Light Dependent Resistor (LDR). Lee Zhi Xian writes:

Previously I have made a colour sensor using Arduino but don’t have the time to update it on my blog. Today I am going to share the details of this mini project. Basically, the sensor consists of three LEDs and Light Dependent Resistor (LDR). The LDR will detect the colour and display it to another RGB LED. Besides display it on the RGB LED, the colour will also display on PC. RGB LED is commonly used in display colours on LCD or OLED such as the monitor and television.

[via]

Simple technique of sensing colors using Arduino - [Link]

Feb
25

Using a flashing LCD monitor to transfer data

arduino hacks, data transfer, flashing, ldr, light sensor, monitor, screen, temt6000 Commenti disabilitati su Using a flashing LCD monitor to transfer data 

lcd-screen-data-transferWe love the concept of using an LCD screen to transfer data. The most wide-spread and successful method we know of is the combination of a QR code and the camera on a smart phone. But for less powerful/costly devices data can be transferred simply by flashing colors on the screen. That’s what [Connor Taylor] is testing out with this project. He’s using a TEMT6000 light sensor to turn a white and black flashing monitor into binary data.

So far this is just a proof of concept that takes measurements from the light sensor which is held in front of a Macbook Retina display with different backlight levels. At 3/4 and full brightness it provides more than enough contrast to reliably differentiate between black and white when measuring the sensor with the Arduino’s ADC. What he hasn’t gotten into yet is the timing necessary to actually transfer data. The issue arises when you need to have multiple 1′s or 0′s in a row. We’ve tried this ourselves using an LDR with limited success. We know it’s possible to get it working since we’ve seen projects like this clock which can only be programmed with a flashing screen.

[Connor's] choice of the TEMT6000 should prove to be a lot more sensitive than using just an LDR. We figure he could find a way to encode using multiple colors in order to speed up the data transfer.


Filed under: arduino hacks
Gen
18

Humble beginnings of a home automation project

arduino hacks, Home automation, ldr, milling, pcb, Relay Commenti disabilitati su Humble beginnings of a home automation project 

humble-beginnings-to-a-home-automation-project

This board is the start of [Steven Pearson's] quest to automate his home. The module will be used to prototype the rest of the project. Right now it uses an ATmega328 chip running the Arduino bootloader. This connects to one mechanical relay which we would wager is mains rated. The module will be controlled wirelessly via the wireless module seen in the foreground. That is a nRF24L01 board which he chose because of it’s bargain basement price tag of around $1.50.

There is much room for expansion in the system. You can see that a light-dependent resistor has been added to some of the microcontroller’s breakout pins. We would guess that [Steven] will use the hardware to develop for many different functions and will design more task-specific modules as the project progresses.

If you’re a fan of PCB milling and population you won’t want to miss the video after the break. [Steve] posted a fast-motion video of the entire process.


Filed under: arduino hacks
Nov
23

Simple Light Reading With LDR + Arduino

arduino, ldr, light, tutorials Commenti disabilitati su Simple Light Reading With LDR + Arduino 

The LDR (light dependent resistor) also know as the Photo-resistor (and many other things) is supposed to be day 1 of electronics. But I guess I missed the note because I never used one with my arduino maybe until now. So I guess I’m weird. But the LDR is super cheap, probably one of the easiest parts to find / use, and certainly has to have the simplest code. You can find these at any electronics store ever I imagine, or do what I did and add a few to your next sparkfun order.

If you need precise light measurement check out the TEMT6000 or the TSL230R

The LDR / Photo-resistor is basically a very simple light sensor that changes its resistance with light, lowering with more light. You can find these used in everything from the furby to automatic night lights and things like that. The LDR isn’t very precise, so you cant get a quantitative LUX reading or anything like that. But it is good enough to tell the difference between light and shadow, or know if the light in your room is on/off. So if you just need to know if the light in the room has changed, or someone walked by (casting a shadow) this is your part.

Hooking it up, and why

The LDR changes its resistance with light so we can measure that change using one of the Arduino’s analog pins. But to do that we need a fixed resistor (not changing) that we can use for that comparison (We are using a 10K resistor). This is called a voltage divider and divides the 5v between the LDR and the resistor. Then we measure how much voltage is on the LDR using the analog read on your arduino, and we have our reading. The amount of that 5V that each part gets is proportional to its resistance.

With the arduino analogRead, at 5V (its max) it would read 1023, and at 0v it read 0.

So if the the LDR and the resistor have the same resistance, the 5V is split evenly (2.5V), to each part. (analogRead of 512)

But if the LDR is hit with a ton of light and is reading only 1K of resistance, the 10K resistor is going to soak up 10 times as much of that 5V. So the LDR would only get .45V (analogRead of 92).

And if it is in a dark room, the LDR may be 40K or resistance, so the LDR will soak up 4 times as much of that 5V as the 10K resistor. So the LDR would get 4V (analogRead of 818).

Code

The arduino code for this just could not be easier. We are adding some serial prints and delays to it just so you can easily see the readings, but they dont need to be there if you dont need them.

int LDR_Pin = A0; //analog pin 0

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

void loop(){
  int LDRReading = analogRead(LDR_Pin); 

  Serial.println(LDRReading);
  delay(250); //just here to slow down the output for easier reading
}
Unless otherwise stated, this code is released under the MIT License – Please use, change and share it.


  • Newsletter

    Sign up for the PlanetArduino Newsletter, which delivers the most popular articles via e-mail to your inbox every week. Just fill in the information below and submit.

  • Like Us on Facebook