SAMP sends vehicle speed to a php script which a program on pc reads and echoes that data to COM port, so you can plug in this speed meter to a remote pc and monitor if your friend is speeding in samp.
Demonstrates the use of the analogWrite() function in fading an LED off and on. AnalogWrite uses pulse width modulation (PWM), turning a digital pin on and off very quickly, to create a fading effect.
The Circuit
Connect the anode (the longer, positive leg) of your LED to digital output pin 9 on your Arduino through a 220-ohm resistor. Connect the cathode (the shorter, negative leg) directly to ground.
/*
Fade
This example shows how to fade an LED on pin 9
using the analogWrite() function.
This example code is in the public domain.
*/ int brightness =0;// how bright the LED is int fadeAmount =5;// how many points to fade the LED by
voidsetup(){ // declare pin 9 to be an output: pinMode(9,OUTPUT); }
voidloop(){ // set the brightness of pin 9: analogWrite(9, brightness);
// change the brightness for next time through the loop:
brightness = brightness + fadeAmount;
// reverse the direction of the fading at the ends of the fade: if(brightness ==0|| brightness ==255){
fadeAmount =-fadeAmount ; } // wait for 30 milliseconds to see the dimming effect delay(30); }
The Liquid Crystal Library allows you to control LCD displays that are compatible with the Hitachi HD44780 driver. There are many of them out there, and you can usually tell them by the 16-pin interface.
This example sketch shows how to use the autoscroll() and noAutoscroll() methods to move all the text on the display left or right.
autoscroll() moves all the text one space to the left each time a letter is added
noAutoscroll() turns scrolling off
This sketch prints the characters 0 to 9 with autoscroll off, then moves the cursor to the bottom right, turns autoscroll on, and prints them again.
Hardware Required
Arduino Board
LCD Screen (compatible with Hitachi HD44780 driver)
10k Potentiometer
breadboard
hook-up wire
Code
/*
LiquidCrystal Library - Autoscroll
Demonstrates the use a 16x2 LCD display. The LiquidCrystal
library works with all LCD displays that are compatible with the
Hitachi HD44780 driver. There are many of them out there, and you
can usually tell them by the 16-pin interface.
This sketch demonstrates the use of the autoscroll()
and noAutoscroll() functions to make new text scroll or not.
The circuit:
* LCD RS pin to digital pin 12
* LCD Enable pin to digital pin 11
* LCD D4 pin to digital pin 5
* LCD D5 pin to digital pin 4
* LCD D6 pin to digital pin 3
* LCD D7 pin to digital pin 2
* LCD R/W pin to ground
* 10K resistor:
* ends to +5V and ground
* wiper to LCD VO pin (pin 3)
Library originally added 18 Apr 2008
by David A. Mellis
library modified 5 Jul 2009
by Limor Fried (http://www.ladyada.net)
example added 9 Jul 2009
by Tom Igoe
modified 22 Nov 2010
by Tom Igoe
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12,11,5,4,3,2);
voidsetup(){ // set up the LCD's number of columns and rows:
lcd.begin(16,2); }
voidloop(){ // set the cursor to (0,0):
lcd.setCursor(0,0); // print from 0 to 9: for(int thisChar =0; thisChar <10; thisChar++){
lcd.print(thisChar); delay(500); }
// set the cursor to (16,1):
lcd.setCursor(16,1); // set the display to automatically scroll:
lcd.autoscroll(); // print from 0 to 9: for(int thisChar =0; thisChar <10; thisChar++){
lcd.print(thisChar); delay(500); } // turn off automatic scrolling
lcd.noAutoscroll();
The Arduino Kitchen Timer is a simple timer based around a 10 bar LED Bar Graph, with a Piezo-Electric Buzzer. A line of 10 LED's could also be used, and each LED represents a segment of 5 mins. Once the Arduino is reset the user holds a pushbutton and the Bar Graph counts up in chunks of 5 mins, until the user lets go of the button. The timer then times 5 mins, and the last LED is turned off, etc until the timer is finished. The LED bar graph then shows a display, and a piezo buzzer sounds an alarm.
Put the bread board down vertically. Row 1 at top, blue rail left, red rail right.
Place the 644p into the bread board. Pin 1 into bread board hole 10D.
Place the momentary switch's pins into bread board 1D, 1F, 3D, and 3F.
Place the crystal into rows 31E and 33E
Place a .1 uF cap from 9E to 9F. This is the reset on RTS cap. We'll be "building" a serial port on the left side, rows 4-9.
Place a .1 uF cap from 18I to 19I. Decouple AREF from AGND.
Place a .1 uF cap from 19I to 20I. Decouple AVCC from AGND. Yep, 19I, has 2 cap leads in it. It's a tight fit but can be done.
Place a .1 uF cap from 19C to 20C. Decouple VCC from GND.
Place 10K resistor from left VCC rail to 18A. This is the pull up resistor for RESET. Strictly speaking it isn't necessary. The 644p has an internal pull up resistor. But it's a little tiny one. Common practice seems to be to use a bigger one off chip.
Place a 22pf capacitor from left GND rail to 31A.
Place a 22pf capacitor from left GND rail to 33A.
** Wires **
1A to left GND. Part of the reset circuit from momentary switch to ground. Pressing switch connects reset to ground, resetting the chip. Also bridges GND from left GND rail to right GND rail through momentary switch.
1J to right GND rail.
3C to 9B. This will carry RESET from the RESET cap to the momentary switch.
4J to GND. Carry GND to serial port.
6J to VCC. Carry VCC to serial port.
7A to 23A, and 7E to 7G. Bring Rx to serial port.
8A to 24A, and 8E to 8G. Bring Tx to serial port.
9C to 18C. Bring RESET from chip to reset cap.
18J to right VCC. AREF.
19A to left VCC, chip VCC.
19J to right GND. AGND.
20A to left GND, chip GND.
20J to right VCC. AVCC.
21C to 31C. XTAL from chip to crystal.
22C to 33C. XTAL from chip to crystal.
Serial "port" is on the breadboard side B, column h, rows 4-9. FTDI USB cable black wire to row 4, green to row 9.
The FTDI cable has a female header. The short side of a male header is too short to fit into the breadboard. Easiest if you have them, is to use double length male headers to connect FTDI female connector to bread board hole. More likely you'll need to take two of the 6 pin male headers, and solder the short legs to each other. See the picture. Normally I use shrink fit tubing over bare wire after I solder to protect against shorts. But, there's no way to get them on in this case. So just solder REAL carefully.
To use the serial port, plug the FTDI cable into your computer and into the double sided male header you just created, which in turn is placed into the breadboard.
ICSP "port" is on side A, column B, rows 15-20.
Both the AVR MK-ISP2 and the USBTiny use a 6 pin ICSP female header, in a 2 row by 3 pin configuration. We need to make a cable going from a 2x3 male header to a 1x6 male header. We need to make the following cable using text mode "art":
Note, we are looking at the 2x3 header from the bottom. That is, at the pins.
To construct this cable, use either a crimping tool or solder. If you solder, split the ribbon cable back far enough that you can get in a bit of heatshrink without it shrinking when you solder the wire to the short side of the pin. After the wire is soldered, pull down the heat shrink to cover the joint, then shrink the tubing.
To use the ICSP port, plug your programmer into your computer, and the converter cable you created above into the 2x3 female connector of the programmer's cable. Green pin is pin 1, black is pin 6. Now plug the 1x6 end of the converter cable into the breadboard. Grey pin in hole 15B, Black in hole 20B.