What shall I make?

Well, I recently purchased the SparkFun Arduino Starter Kit to get me started, now to decide what to build, any suggestions?

Included:

Arduino Duemilanove ATmega328 - the latest Arduino USB board, fully assembled and tested. 6' USB A to B cable - USB provides power for up to 500mA (enough for most projects) and is ample length to connect to your desktop or laptop USB port. Miniature breadboard - Excellent for making circuits and connections off the Arduino. Breadboard may come in various colors. Male to Male jumper wires - These are high quality wires that allow you to connect the female headers on the Arduino to the components and breadboard. Force Sensitive Resistor 0.5" - A sensor that will vary its resistance depending on the amount of pressure (range of 100g to 10kg) being applied to its circular sensing area. Photocell - A sensor to detect ambient light. Perfect for detecting when a drawer is opened or when night-time approaches. Thermistor - A sensor for detecting ambient temperature and temperature changes. Tri-Color LED - Because everyone loves a blinky. Use this LED to PWM mix any color you need. Basic LEDs - Light emitting diodes make great general indicators. Linear trim pot - Also known as a variable resistor, this is a device commonly used to control volume, contrast, and makes a great general user control input. Buzzer - Make wonderful, brain splitting noises, alarms, and possibly music! 12mm button - Because big buttons are easier to hit. 330 Ohm Resistors - 5 current limiting resistors for LEDs, and strong pull-up resistors. 10k Ohm Resistors - These make excellent pull-ups, pull-downs, and current limiters.

Incase you didn't know/can't google.

If you haven't played with the examples, I suggest you start there first...

How about a Arduino controlled nuclear reactor? No, better start with some example circuits first. ;)

Lefty

Then I recommend an Arduino flux capacitor. Then you can use the reactor from the previous exercise to power it! :D

Incase you didn’t know/can’t google.

Time to air one of my pet peeves.

Why should I google YOUR device/kit/whatever. YOU know what you have/where you got it. Post a link. Don’t make me take the time to search for information YOU should have provided.

WoW! What a welcome for the new guy...lol...

Zanith, better to go along the tutorials here on the site... once you are through then you can try your hands at the transmorgifier ;)

cheers, pracas

A decent starter project (after going through some examples) might be a light that switches on when it is dark, and off when it is light. Bonus points if you can make it a RGB LED that uses colours for dusk/dawn. Double bonus points if you manage to get it to take into account the moon aswell.

I agree with both pracas and PaulS.. what PaulS says has a point, it is a bit arrogant to ask for help and let the people you ask to dig for the info on your stuff, though it could be worded in a lot less hostile fashion.

Welcome to the community in anycase, please don't let the post(s) here discourage you from participating, and good luck on the project you decide to tackle =)

You could have the RGB colour vary depending on temperature.

Between ordering and getting my arduino I found loads of examples of what people had done. There's a pretty cool top 40 list (google "arduino top 40") but I should think there isn't anything on that list that you can do without getting more parts.

My first project (after working through the examples I got with the starter pack) was a laser triggered flash gun for high speed photography.

My rant was not directed at any one person. I try to help as much as I can. But, I have a job to do and a life to live. If one wants help here, telling me that I can use google to find information, that they could have simply provided a link to, is a sure way of getting me to ignore the post.

Yes, I can google. But, the person seeking help here can google, too. So, cut to the chase, and post the link.

The first post can't initially contain links. But, once that post is accepted, it can be edited. Make use of that feature, and put the links in.

Yeah, I played around with the examples and such.
PaulS, I wasn’t expecting you to google, search the information yourself, hence why I provided it. My point was very valid, in case you didn’t want to google it yourself, well obviously after your mini-rant I can tell you wouldn’t want to google it yourself, thus the reasoning behind my comment. I couldn’t post the link, because my account is less than so many days old and the forum wouldn’t let me. If I expected anybody to look up the kit I bought, I would of not posted the quote, and waited incase anybody did ask for further information.
Now for my pet peve/rant

This is why forums die, people who have been there for a while think they’re it and they talk shit to new members for not doing something the way they want to. New members don’t know the etiquette of this particular forum, as a veteran user you should be posting constructively advice, you should of said something similar to “Hey blah blah blah friendly banter, make sure you post the parts you have in posts like these blah blah blah end topic” rather than taking somebodies first post and making an issue out of it.

Now thats out of my system, I’m liking cowjam’s suggestion about temperature based colours. I like Imahilus’ suggestion about the light, but I would think testing different levels of light would be particularly troublesome. I could either block light or allow light, there’s probably a middle ground in there too, that’s only three measurements. I don’t think the aspect about taking into account of the moon would be pretty viable due to artificial light around here.

Double Post: But I made it!

Uploaded with ImageShack.us

Its pretty basic right now, when its cold it turns blue, then green when its about normal, and red when it gets warm. When I get home from work I might play around with making more smooth colour variants.
ie shades of blue-green for lower temperature, then green for a normal temperature turning to shares of red-green hotter temperature.

#include <avr/pgmspace.h>
 
const int temps[] PROGMEM = { 0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 143, 144, 145, 146, 147, 148, 149, 150, 151, 151, 152, 153, 154, 155, 156, 157, 158, 159, 159, 160, 161, 162, 163, 164, 165, 166, 167, 167, 168, 169, 170, 171, 172, 173, 174, 175, 175, 176, 177, 178, 179, 180, 181, 182, 182, 183, 184, 185, 186, 187, 188, 189, 190, 190, 191, 192, 193, 194, 195, 196, 197, 197, 198, 199, 200, 201, 202, 203, 204, 205, 205, 206, 207, 208, 209, 210, 211, 212, 212, 213, 214, 215, 216, 217, 218, 219, 220, 220, 221, 222, 223, 224, 225, 226, 227, 228, 228, 229, 230, 231, 232, 233, 234, 235, 235, 236, 237, 238, 239, 240, 241, 242, 243, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 252, 253, 254, 255, 256, 257, 258, 259, 260, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 422, 423, 424, 425, 426, 427, 428, 429, 430, 432, 433, 434, 435, 436, 437, 438, 439, 441, 442, 443, 444, 445, 446, 448, 449, 450, 451, 452, 453, 455, 456, 457, 458, 459, 460, 462, 463, 464, 465, 466, 468, 469, 470, 471, 472, 474, 475, 476, 477, 479, 480, 481, 482, 484, 485, 486, 487, 489, 490, 491, 492, 494, 495, 496, 498, 499, 500, 501, 503, 504, 505, 507, 508, 509, 511, 512, 513, 515, 516, 517, 519, 520, 521, 523, 524, 525, 527, 528, 530, 531, 532, 534, 535, 537, 538, 539, 541, 542, 544, 545, 547, 548, 550, 551, 552, 554, 555, 557, 558, 560, 561, 563, 564, 566, 567, 569, 570, 572, 574, 575, 577, 578, 580, 581, 583, 585, 586, 588, 589, 591, 593, 594, 596, 598, 599, 601, 603, 604, 606, 608, 609, 611, 613, 614, 616, 618, 620, 621, 623, 625, 627, 628, 630, 632, 634, 636, 638, 639, 641, 643, 645, 647, 649, 651, 653, 654, 656, 658, 660, 662, 664, 666, 668, 670, 672, 674, 676, 678, 680, 683, 685, 687, 689, 691, 693, 695, 697, 700, 702, 704, 706, 708, 711, 713, 715, 718, 720, 722, 725, 727, 729, 732, 734, 737, 739, 741, 744, 746, 749, 752, 754, 757, 759, 762, 764, 767, 770, 773, 775, 778, 781, 784, 786, 789, 792, 795, 798, 801, 804, 807, 810, 813, 816, 819, 822, 825, 829, 832, 835, 838, 842, 845, 848, 852, 855, 859, 862, 866, 869, 873, 877, 881, 884, 888, 892, 896, 900, 904, 908, 912, 916, 920, 925, 929, 933, 938, 942, 947, 952, 956, 961, 966, 971, 976, 981, 986, 991, 997, 1002, 1007, 1013, 1019, 1024, 1030, 1036, 1042, 1049, 1055, 1061, 1068, 1075, 1082, 1088, 1096, 1103, 1110, 1118, 1126, 1134, 1142, 1150, 1159, 1168, 1177, 1186, 1196, 1206, 1216, 1226, 1237, 1248, 1260, 1272, 1284, 1297, 1310, 1324, 1338, 1353, 1369, 1385, 1402, 1420, 1439, 1459, 1480, 1502 };
  int analogInput = 5;
  int redPin = 11;
  int greenPin = 12;
  int bluePin = 13;
  int value = 0;
 
void setup(){
  pinMode(analogInput, INPUT);
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
}
 
void loop(){
  value =  analogRead(analogInput);
  value = 1023 - value - 238;  
  value = pgm_read_word(&temps[value]);
  if(value<=238) {
    analogWrite(redPin, 0);
    analogWrite(greenPin, 0);
    analogWrite(bluePin, 255);
  } else if(value<=240) {
    analogWrite(redPin, 0);
    analogWrite(greenPin, 255);
    analogWrite(bluePin, 0);
  } else if(value<=250) {
    analogWrite(redPin, 255);
    analogWrite(greenPin, 0);
    analogWrite(bluePin, 0);
  }
 delay(500);
}

I’m new to arduino coding too, so basically would there be any easier way to do that if else loop, cases would work, but if you’re doing one for each value then it’ll probably take up as much space.

I just made something with the force resistor too http://www.youtube.com/watch?v=XIrkrrCJceM Now I'm lost again on what I should make! I'll check out that link posted when I get back from work.

It may be the time for you to make a clock :)

Nice one Zanith.

You could try use a function to produce an RGB value based on the current temperature.

So you’d want blue to be on a scale from full at the bottom end of the range to off at half way, red to be the opposite and green to fade up from 1/4 of the way, to maximum at the middle, to off at 3/4 of the way along the range.

Er… off the top of my head and in pseudocode (I’m too new to be able to code freehand) something like this

Get your light value
if (value < (half way point of temp range) {
 red pin = map(value, 0, 255, 0, (half way point);
}
if (value > (half way point of temp range) {
  blue pin = map(value, 0, 255, (half way point), maxValue);
}
if (value > (1/4 point) && value < (half way point){
  green pin = map(value, 0, 255, (1/4point), (1/2 point));
}
if (value > (1/2 point) && value < (3/4 point){
  green pin = map(value, 0, 255, (1/2point), (3/4 point));
}

The MAP command shifts values into the first range from the second range. Look here for a better explanation: http://www.arduino.cc/en/Reference/Map


Basically, if it gets too dark, the LED comes on bright, and the button is a reset switch. My question is, is using a switch as an analog input, the best way to do a reset.

int analogInput = 0;
int switchInput = 1;
int redPin = 11;
int greenPin = 12;
int bluePin = 13;
int value = 0;
int switchIn = 0;
boolean light = true;

void setup(){
pinMode(analogInput, INPUT);
pinMode(switchInput, INPUT);
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}

void loop(){
value = analogRead(analogInput);
switchIn = analogRead(switchInput);
if(switchIn>1000) {
light=true;
setColourLED(0, 0, 0);
}
if(value>800) {light=false;}
if(light==false) {setColourLED(255, 255, 255);}
}

void setColourLED(int red, int green, int blue) {
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}

I don’t have an LCD display for a clock :<
Could I ‘salvage’ one from an old calculator display, or would a specific part need to be ordered? I do want an LCD display, next pay-day I’m going to buy some little bits such as a larger breadboard and some other sensors.

cowjam, I was thinking more from shades of blue, to a bluey-green to greeny-red then to a red, more discernible colours rather than just having the LED getting brighter/darker.

Now I’ve made something with each part of my kit (I used the potentiometer with the buzzer to make different frequencies of ‘buzz’).

The "output" from a switch is either HIGH or LOW. That can be detected using a digitalRead of a digital pin. Don't forget the pull-up or pull-down resistor.

I don’t have an LCD display for a clock :<

In theory, you could display the time with just one LED. And with some ingenuity, you can even make that practical :slight_smile: Think morse code, as a hint.

It wouldn't just get lighter/darker.

From cold to mid-point blue would get darker and green would get lighter. From mid-point to hot the green would fade down and red fade up.

It should fade from blue to green to red.