Monday, June 21, 2010

Task 51 - 59: EEPROM

The Arduino contains a small amount of storage called EEPROM, this storage is available for the program to store and retrieve data.

below is my program to read tempeture and save it to the EEPROM then read it when needed.

#include <math.h>
#include <EEPROM.h>

#define DELAY (2 * 60) //(mins * seconds)

int value = 0;

double Thermister(int RawADC) {
double Temp;
Temp = log(((10240000/RawADC) - 10000));
Temp = 1 / (0.001129148 + (0.000234125 * Temp) + (0.0000000876741 * Temp * Temp * Temp));
Temp = Temp - 273.15; // Convert Kelvin to Celcius
return Temp;
}

void delaySeconds(int delaytime = 0) {
for(int i = 0; i <= delaytime; i++){
delay(1000);
}
}

void setup() {
Serial.begin(9600);
Serial.println("Would you like to record temperatures? (y/N)");
do {;} while(Serial.available() <= 0); // Check for iput from serial
if((char)Serial.read() == (char)'y')
{
for(int i = 0; i < 512; i++) {
Serial.print("Reading temperatures, please wait : #");
Serial.println(i);
EEPROM.write(i, int(Thermister(analogRead(0))));
delaySeconds(DELAY);
}
}
for(int i = 0; i < 512; i++) {
value = EEPROM.read(i);

Serial.print(i);
Serial.print("\t");
Serial.print(value);
Serial.println();
}
}

void loop() {
}

Monday, May 3, 2010

Task 46: Sending from one arduino to another

Simple answer, using IR as a means with the RX/TX (Serial) we can send data like a tv remote.

Task 41: Register on Arduino forums



Getting ready to annoy some people :)

Task 40: News Feed



A cheaper version of the Wi-Fi sheild, i'm keen to learn more about wireless communication and the arduino.

Task 34: 100 Random Numbers

int min = 1;
int max = 100;
int randNumber = 0;

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

void loop() {
for(int i = 0; i >= 100; i++) {
randNumber = random(300);
Serial.println(randNumber);
}
}

Task 30: Push Button

/*
Button

Turns on and off a light emitting diode(LED) connected to digital
pin 13, when pressing a pushbutton attached to pin 7.


The circuit:
* LED attached from pin 13 to ground
* pushbutton attached to pin 2 from +5V
* 10K resistor attached to pin 2 from ground

* Note: on most Arduinos there is already an LED on the board
attached to pin 13.


created 2005
by DojoDave
modified 17 Jun 2009
by Tom Igoe

This example code is in the public domain.

http://www.arduino.cc/en/Tutorial/Button
*/

// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = 2; // the number of the pushbutton pin
const int ledPin = 13; // the number of the LED pin

// variables will change:
int buttonState = 0; // variable for reading the pushbutton status

void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}

void loop(){
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);

// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, HIGH);
}
else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
}

Task 29: Arduino resources.

One great website i have found so far is http://freeduino.org, it has a LRAGE list of things being done on and with the arduino from simple LEDs to SMS with cellphones, take a look...