Using the same LED matrix as before, and swapping the Photo Resistor for a Flex (or Bend) sensor, and a slight modification to the code, I can now have a light show that can be controlled by "Bending".
I used my finger to bend the sensor, but I could have attached it to a plant, a tree or anything else that bends. The bending changes the resistance, and therefore the INPUT value at analog pin 0.
The parts required:
Arduino UNO
10 x Red LEDs
9 x 330 Ohm resistors for the LEDs
1 x 10K Ohm resistors for the flex sensor.
1 x Flex sensor
Wires and Breadboard to connect it all together
Most of the components needed for this project can be sourced from the Sparkfun Inventor's Kit
//Flex Sensor Pin (flexPin) //the analog pin the Flex Sensor is connected to int flexPin = 0;
void setup() { for (int i=4; i<14; i++){ pinMode(i, OUTPUT); //sets the led pins 4 to 13 to output } }
void loop(){ //Ensure to turn off ALL LEDs before continuing for (int i=4; i<14; i++){ digitalWrite(i, LOW); }
/* Read the flex Level Adjust the value 130 to 275 to span 4 to 13 The values 130 and 275 may need to be widened to suit the minimum and maximum flex levels being read by the Analog pin */ int flexReading = map(analogRead(flexPin), 130, 275, 4, 13);
// Make sure the value does not go beyond 4 or 13 int LEDnum = constrain(flexReading, 4, 13);
/*Call the blink function: this will turn the LED on for 10 milliseconds, and keep it off for only 1 millisecond. You can change the blink rate by changing these values, however, I want a quick response time when the flex sensor bends, hence the small values. LEDnum determines which LED gets turned on.*/ blink(LEDnum, 10,1); }
// The blink function - used to turn the LEDs on and off void blink(int LEDPin, int onTime, int offTime){ // Turn the LED on digitalWrite(LEDPin, HIGH);
// Delay so that you can see the LED go On. delay(onTime);
// Turn the LED Off digitalWrite(LEDPin, LOW);
// Increase this Delay if you want to see an actual blinking effect. delay(offTime); }
The flex sensor pins/legs are a bit fragile, so be careful when poking it into the breadboard.
Have you ever wondered if there was a way to store and retrieve data from a USB stick with an Arduino UNO? Most people choose SD cards to store their project data, but you may be surprised there IS a way! IC Station have a nice little module which allows you store and retrieve your Arduino (or other MCU) project data to a USB stick. I am not too sure why USB storage is not widely used in Arduino projects? These modules are not expensive, they have been around for quite a while, and are relatively simple to use. You do not need any libraries to get them to work, however, I must say that documentation for this module is not that easy to find. This site and this document proved to be very useful in my endevour to get this module working, and I hope my tutorial below will help you get started and bridge some of the information gaps. The...
Add sound or music to your project using the "Grove Serial MP3 Player". An Arduino UNO will be used to control the Grove Serial MP3 player by sending it specific serial commands. The Grove Base Shield allows for the easy connection of Grove sensor modules to an Arduino UNO without the need for a breadboard. A sliding potentiometer, switch and button will be connected to the Base shield along with the Serial MP3 player. A specific function will be assigned to each of the connected sensor modules to provide a useful interface: Sliding Potentiometer – Volume control Button – Next Song Switch – On/Off (toggle) Once the MP3 module is working the way we want, we can then build a simple enclosure for it. Grab a shoe-box, print out your favourite design, and ...
Guest Post Disclaimer This is a guest post by the EasyEDA team. I would like to thank EasyEDA for providing this tutorial for everyone to enjoy. All information within this post was provided by EasyEDA. Description None of us could deny the fact that we would love with to play with LED’s and lighting stuff. I love to play with LED’s and create attractive lighting effects. This project was a result of such an attempt where I created a stunning RGB light effect using the popular development platform Arduino Nano. Let’s see the circuit, code and instruction on building this project: Parts Required: An EasyEDA account (free) Arduino Nano (or compatible board) LED strip Dupont wire connectors Custom control board Image source: EasyEDA Ardui...
Comments
Post a Comment