background preloader

Arduino & microcontroller projects

Facebook Twitter

A Horizon-Stabilized Camera For Motorcycle Photography. A Horizon-Stabilized Camera For Motorcycle Photography This is a video camera accessory that I've been developing for use in motorcycle photography. Comprised of a microcontroller, gyroscopic sensor, servo motor and battery, this device rotates a camera's lens assembly to keep the image fixed with respect to the horizon as the motorcycle leans left or right. Popularly called a "gyrocam", a broadcast TV version of a similar device was first seen on Valentino Rossi's MotoGP bike in 2010. The one I've developed performs just as well as Rossi's but was built on an r/c modelling and robotics hobbyist's budget. My design is based around a ContourROAM camera. These cameras have a rotatable barrel housing the lens and image sensor and also provide an integrated tee rail style mounting system on the sides of the camera.

A control box mounts to the side of the camera using the tee rail to hold everything in alignment. CAD model Closeups Construction Results Resources More Contact. Home page. Arduino board as ATtiny programmer. This tutorial shows you how to wire up an Arduino used as an ISP (programmer) to an ATtiny45 or ATtiny85. To find out how to write code for the microcontroller, see the the tutorial on programming an ATtiny using the Arduino 1.0.1 software (or the older version for Arduino 0022 ). Materials and Tools For this tutorial, you’ll need: Arduino Uno or Duemilanove (w/ an ATmega328, not an older board with an ATmega168) ATtiny45 or ATtiny85 (8-pin DIP package) a 10 uF capacitor (e.g. from Sparkfun or from Digi-Key ) a breadboard jumper wires For more information, see our list of materials and parts and our list of prototyping supplies . Download and Install the Arduino Software You’ll need the Arduino software (version 1.0.1 or 0022).

Turning the Arduino board into a programmer We’re going to use the Arduino board to program the ATtiny. Run the Arduino development environment. Connecting the Arduino board and the ATtiny We’ll connect the Arduino board to the ATtiny as shown in the following diagram. Arduino. Top 40 Arduino Projects. Arduino Tutorials. Infrared Remote Library. Do you want to control your Arduino with an IR remote? Do you want to use your Arduino to control your stereo or other devices? This IR remote library lets you both send and receive IR remote codes in multiple protocols.

It supports NEC, Sony SIRC, Philips RC5, Philips RC6, and raw protocols. If you want additional protocols, they are straightforward to add. The library can even be used to record codes from your remote and re-transmit them, as a minimal universal remote. To use the library, download from github and follow the installation instructions in the readme. How to send This infrared remote library consists of two parts: IRsend transmits IR remote packets, while IRrecv receives and decodes an IR message. #include <IRremote.h> IRsend irsend; void setup() { Serial.begin(9600); } void loop() { if (Serial.read() ! This sketch sends a Sony TV power on/off code whenever a character is sent to the serial port, allowing the Arduino to turn the TV on or off. How to receive Hardware setup. Girino - Fast Arduino Oscilloscope. I am a Physicist and the nicest part of working in this field is that I get to build my own instruments.

With this way of thinking, I decided to build a homebrew Arduino Oscilloscope. This instructable was written with the purpose of teaching a bit about microcontrollers and data acquisition. This is an extreme project because I wanted to squeeze out from Arduino as much velocity as I could, I have not seen any other Arduino Oscilloscope as fast as this one. Some time ago I was working on an Arduino project and I needed to see if the output signal was into compliance with the specifics.

Thus I spent some time on the internet looking for Arduino Oscilloscopes already implemented, but I did not like what I found. Void setup() { Serial.begin(9600); }void loop() { int val = analogRead(ANALOG_IN); Serial.println(val); } This approach is not wrong and I do not want to insult anyone, but this is too slow for me. The name that I came up with, Girino, is a frivolous pun in Italian. Arduino Pro Mini + Wii Motion Plus.

Dimensions of the Wii Motion Plus are quite similar to Arduino Pro Mini card’s one. This is useful for designing a small and homogeneous card. The 2 PCBs are simply connected by four wires. Wii Motion Plus extension is powered by the regulated 5V of the Arduino Pro Mini. Digital PIN 12 of the Arduino is connected to VCC Wii Motion Plus. This PIN is commuted just after the Arduino boot sequence in order to fiabilize the WMP initialization and in order to fast reboot the WMP in case of a blocking state. The analog inputs A4 and A5 are connected via the I2C pins SDA and SCL. (the photo describes the old way to power WMP via VCC and not PIN 12) Note that it is not mandatory to use a Nunchuk to operate the Multicopter described in this article.It is mandatory only if you want to have an autolevel feature.

The software recognizes automatically the presence of a nunchuk connected. Only 4 wires need to be connected between the WMP and the NK. Some Arduino board example: Some IMUs example: LCD Display with a Shift Register. When I first ordered my Arduino Experimentation Kit from those nice people at oomlout I also ordered a 16 character by 2 line LCD display. It was really easy to set up and use thanks to the instructions that came with it and the LiquidCrystal library bundled with the Arduino software. The only problem is that it takes up a lot of valuable output pins, 6 in 4bit mode and 10 in 8bit mode, this makes it difficult to use in large projects, as you can quickly run out of pins. The solution to this was quite obvious; use a shift register. So I fired up Google and had a look to see what other people had done. I found a great article on the Arduino playground (here) except I could figure out how to get their circuit to work with my shift register, as they use 74*LS*164 but I had a few 74HC595 registers knocking about.

So, here are my goals This circuit will allow us to control the output of the display, as well as the LED backlight. You can download my completed ShiftLCD Library here. » ATtiny45/85 Servo Library. Recently I worked on a project where I wanted to control a servo using an ATtiny85. I checked online for ready made code that did this but I couldn’t find anything satisfactory. Not wanting to switch to a larger microcontroller I decided to write my own servo library for the ATtiny85. I call it Servo8Bit.

It supports up to 5 servos, runs on the ATtiny85 or ATtiny45 and uses only one 8 bit counter. I enjoy using ATtiny microprocessors in my projects, particular the ATtiny85. This library is modeled after then Arduino servo library and has an identical interface. The definition of the delay() function is omitted, which is needed to for this code to compile. Functions overview These are the functions that are available in this library. When a servo is attached to a pin a PWM servo control signal will start being generated on that pin. Not all servos go to the same position for each pulse length. To completely stop pulsing the servo call the detach() function.

Limitions of current version. Water Tank Depth Sensor. Water is a precious resource in many parts of the world, and many people rely on water tanks to supplement their water supply by storing collected rainwater or water pumped from a well or bore. But how do you measure how full a tank is? Tanks are constructed of opaque material to prevent algae growth and often kept closed up to prevent mosquito infestation or access by small rodents so it's inconvenient to physically look inside.

And besides, having a way to measure tank depth electronically opens up a world of possibilities such as automatic control of pumps to top up tanks when they get low or to disable irrigation systems when not enough water is available. The obvious way to measure tank depth is by placing a series of conductive pickups at various heights inside the tank and measure the resistance between them. This project works a little differently. The Arduino then reads the output of the transducer and reports the depth of the tank.

Water Tank Depth Sensor Schematic Source Code.