View allAll Photos Tagged Arduino
Our almost-five-year-old asked for a "one-eyed robot" for Christmas this year. Jumping at the chance to start his electronics education, I have assembled a robot kit for him. I could have just given him one of the Lego NXT or Parallax BOE-bot kits I have laying around, but I want him to get the full experience and satisfaction of building a robot from more basic parts and I also want his first robot to be something that stays assembled forever, and is not scrapped for parts when he wants to make something else.
The parts I've gathered include a pair of Solarbotics gear motors with matching wheels and tires, a sheet of expanded PVC foam for structure, battery compartments, switches and circuit board stand-offs, a Sharp infrared distance sensor (the one eye he requested), an Arduino Uno to act as the brain, and a motor driver circuit that I soldered up last night to allow the Arduino to drive the gear motors.
Do I expect him to assemble this himself? I will do my best to get him as involved as possible in the building and programming, but I'll be happy if he just turns the occasional screw and squirts a dab of glue now and then. When we get to the programming phase, I don't expect him to learn C yet, but I will ask him what he wants the robot to do and show him how we tell it to do that.
It'll be educational and a lot of fun at the same time, the two reasons I picked up the robotics hobby in the first place.
Here's the diagram of my arduino photolab box. More details here (in french) :
www.equinoxefr.org/post/2009/02/11/arduino-photolab-schema/
and
This is the first iteration of my Arduino ( a user programmable micro controller) powered flash trigger. There is an IR beam over the end of the barrel, the pellet breaks the beam and fires the flash gun to freeze the motion of the bullet. All I need to do now is set it up in the dark, and find a suitable target.
Arduino Mega 2560, with wires soldered to headers. This is a prototype, the finished project will be much cleaner.
Connecting an Arduino and Raspberry Pi to create a webpage with temperature and humidity measurements.
Using two 4051 multiplexer ICs I am able to simulate the electric typewriter's keyboard matrix and can control the entire functionality of this machine via the Arduino board.
This example shows the result of a tool that tries to recreate an image with the available letters on the daisy wheel. It types several layers of type over each other and also uses half-letter spacing and half-line feeds to cover more paper with carbon. The principle of this is demonstrated here: incubator.quasimondo.com/DarwinCss.html
3rd iteration of "Counter Intelligence" project. For best results with Maxbotic rangefinders I'd recommend the Lilypad. Parts from Sparkfun. Backlit 2x17 driven from serial interface of Lilypad.
My latest addition, 2 Arduino boards. Intended to learn the C language and the new hardware tools. I hope to have everything still working together with Lego and Fischertechnik. The top picture is the Arduino Giga R1 Wifi, the bottom one is the Arduino Due.
Both boards are already working and I am now making measurements with the PicoScope. I also still have the old Arduino Uno to make comparisons. Both new boards are 3.3V, the old Arduino Uno is still 5V. That's going to take some attention!
Monitoring Japanese stock (dashi) with Arduino Uno R3 and thermocouple. Kitchen folklore says that boiling the dashi ingredients leads to bitterness, so the sensor and electronics alert me when the dashi temperature reaches 180 F. More information on this project on my blog, Mental Masala. (Dashi recipe at the bottom of this blog post at Mental Masala.)
I made this housing for an Arduino Pro that will control my waveguide relay in my 47 GHz radio. This housing is made from 6061 billet aluminum. The cover is held on with a dozen 0-80 screws. There i a cutout for the programming connection and a filtered DC feedthrough. Later I will add other connectors for the servo and transmit/receive switch, etc.
This lovely little shield is the best way to add a small, colorful and bright display to any project. We took our popular 1.8" TFT breakout board and remixed it into an Arduino shield complete with microSD card slot and a 5-way joystick navigation switch (with a nice plastic knob)! Since the display uses only 4 pins to communicate and has its own pixel-addressable frame buffer, it can be used easily to add a display & interface without exhausting the memory or pins.
The 1.8" display has 128x160 color pixels. Unlike the low cost "Nokia 6110" and similar LCD displays, which are CSTN type and thus have poor color and slow refresh, this display is a true TFT! The TFT driver (ST7735R) can display full 18-bit color (262,144 shades!). And the LCD will always come with the same driver chip so there's no worries that your code will not work from one to the other.
The shield has the TFT display soldered on (it uses a delicate flex-circuit connector) as well as a ultra-low-dropout 3.3V regulator and a 3/5V level shifter so its safe to use with 5V Arduinos. We also had some space left over so we placed a microSD card holder (so you can easily load full color bitmaps from a FAT16/FAT32 formatted microSD card) and a 5-way navigation switch (left, right, up, down, select).
Looking to build an Internet connected device? The Arduino Ethernet is the ticket, with an Arduino UNO paired with an ethernet port it's the perfect piece of hardware to experiment with the Internet of Things. Or if you've developed something using an Arduino and an Ethernet shield it can be ported to this board with no code changes (uses the same WizNet W5100 controller).
Available from oomlout:
This is an Arduino-based Motion Detector I created. Upon pressing the button, it will arm 10 seconds later. Then beep and blink the LEDs when motion is detected. It can be disarmed by pressing the same button. The code is as follows:
/*****
* By Pete Lamonica
* Released under a Creative Commons Non-Commerical/Attribution/Share-Alike
* license
* creativecommons.org/licenses/by-nc-sa/2.0/
****/
#define MOTION_PIN 0
#define SPEAKER_PIN 9
#define RED_LED_PIN 2
#define GREEN_LED_PIN 3
#define ARM_PIN 4
#define SECONDS_TO_ARM 10
//defines what "motion" is. There's a pull-up resistor on the
// motion sensor, so "high" is motion, while "low" is no motion.
// I allowed some fuzziness on the "motion"
#define MOTION (analogRead(MOTION_PIN)=1000)
//Plays a tone of a given pitch
void playTone(int tone, int duration) {
for (long i = 0; i < duration * 1000L; i += tone * 2) {
digitalWrite(SPEAKER_PIN, HIGH);
delayMicroseconds(tone);
digitalWrite(SPEAKER_PIN, LOW);
delayMicroseconds(tone);
}
}
//will beep for about 3 seconds and check for disarm in the meantime.
//Could arrange a hardware interrupt to do the same thing
void alarm() {
for(int i=0; i<3; i++) {
if(checkForDisarm()) return;
digitalWrite(RED_LED_PIN, HIGH);
playTone(1432, 300); //F
digitalWrite(RED_LED_PIN, LOW);
digitalWrite(GREEN_LED_PIN, HIGH);
if(checkForDisarm()) return;
playTone(1915, 300); //C
if(checkForDisarm()) return;
digitalWrite(GREEN_LED_PIN, LOW);
delay(400);
if(checkForDisarm()) return;
}
}
boolean armed = false; //armed status
//arm the device.
void arm() {
armed = true;
for(int i=0; i<SECONDS_TO_ARM/2; i++) {
digitalWrite(RED_LED_PIN, LOW);
delay(1000);
if(checkForDisarm()) return;
digitalWrite(RED_LED_PIN, HIGH);
delay(1000);
if(checkForDisarm()) return;
}
}
//Check if the system should be disarmed and do so if that's the case.
boolean checkForDisarm() {
if(digitalRead(ARM_PIN) == HIGH && armed) {
armed = false;
digitalWrite(GREEN_LED_PIN, LOW);
digitalWrite(RED_LED_PIN, HIGH);
delay(1000);
return true;
}
return false;
}
void setup() {
pinMode(SPEAKER_PIN, OUTPUT);
pinMode(RED_LED_PIN, OUTPUT);
pinMode(GREEN_LED_PIN, OUTPUT);
pinMode(ARM_PIN, INPUT);
digitalWrite(RED_LED_PIN, LOW);
digitalWrite(GREEN_LED_PIN, LOW);
}
int detected = 0;
void loop() {
if(MOTION && armed) { //If there's motion and it's armed, sound the alarm
alarm();
delay(1000);
} else if(armed) { //if it's armed, but there's no motion, show a green LED
digitalWrite(RED_LED_PIN, LOW);
digitalWrite(GREEN_LED_PIN, HIGH);
} else { //if it's not armed, show a red LED
digitalWrite(GREEN_LED_PIN, LOW);
digitalWrite(RED_LED_PIN, HIGH);
}
//check to see if the "ARM" button has been pressed
if(digitalRead(ARM_PIN) == HIGH && !armed) {
arm();
}
//check for a disarm
checkForDisarm();
}
Developing an Arduino application for a series of revolving storefront window displays. Each display holds a laptop which is plugged in, so the motor must be reversed once every revolution to avoid twisting the laptop's power cord.
The display's rotating axle will have a reflective tab that crosses over the sensor (a phototransistor) shown above. Arduino's analog I/O pin detects a change in voltage from the sensor-- a value that can be adjusted in the script, to make the sensor more or less sensitive. It then makes one of two digital output pins high, which triggers the respective coil in the relay. The relay then reverses the polarity to the motor, reversing it until the tab comes back around and the process starts again.
In this image I have LEDs simulating the reversal, in the real thing a motor will be hooked up instead.
See a video of this guy in action: www.youtube.com/watch?v=mpuy9b2Fk4k
THOR's small machinist ball peen hammer and $9 ARDUINO Compatible STARTER KIT - Anyone can learn Electronics
This is an old hammer I think from my Grandfather who I never meet but I've had this hammer as long as I can remember. It has a short handle.
homebuild arduino photolab
Article in french at www.equinoxefr.org/index.php/post/2008/06/29/arduino-phot...