analogWrite(R_LED, r); // turn the leds on analogWrite(G_LED, g); // at the colour analogWrite(B_LED, b); // sent by the computer } if ((state == 1) && (Serial.available() == 0)) { // if the lamp is on delay (1000); if ((state == 1) && (Serial.available() == 0)) { // if the lamp is on

for (i = 0; i < 255; i++) { // loop from 0 to 254 (fade in) analogWrite(R_LED, i); // set the LED brightness delay(10); // Wait 10ms because analogWrite // is instantaneous and we would // not see any change btn = digitalRead(BUTTON); // read input value and store it

for (i = 0; i < 255; i++) { // loop from 0 to 254 (fade in) analogWrite(G_LED, i); // set the LED brightness delay(10); // Wait 10ms because analogWrite // is instantaneous and we would // not see any change btn = digitalRead(BUTTON); // read input value and store it

for (i = 0; i < 255; i++) { // loop from 0 to 254 (fade in) analogWrite(B_LED, i); // set the LED brightness delay(10); // Wait 10ms because analogWrite // is instantaneous and we would // not see any change btn = digitalRead(BUTTON); // read input value and store it

Now the idea is that the three lights will fade in and fade out if there is no serial data, however if there is serial data, then it assigns the brightness from that data. The problem being:

When run without serial everything works as expected. However when run with serial data one light flashes every millisecond for 500 or so milliseconds and then moves onto the next. I believe I have some problem with the if statement that is causing it to run through the fades even when there is serial data.

analogWrite(R_LED, r); // turn the leds on analogWrite(G_LED, g); // at the colour analogWrite(B_LED, b); // sent by the computer } while ((state == 1) && (Serial.available() == 0)) { // if the lamp is on if ((state == 1) && (Serial.available() == 0)) { // if the lamp is on

for (i = 0; i < 255; i++) { // loop from 0 to 254 (fade in) analogWrite(R_LED, i); // set the LED brightness delay(10); // Wait 10ms because analogWrite // is instantaneous and we would // not see any change btn = digitalRead(BUTTON); // read input value and store it

for (i = 0; i < 255; i++) { // loop from 0 to 254 (fade in) analogWrite(G_LED, i); // set the LED brightness delay(10); // Wait 10ms because analogWrite // is instantaneous and we would // not see any change btn = digitalRead(BUTTON); // read input value and store it

for (i = 0; i < 255; i++) { // loop from 0 to 254 (fade in) analogWrite(B_LED, i); // set the LED brightness delay(10); // Wait 10ms because analogWrite // is instantaneous and we would // not see any change btn = digitalRead(BUTTON); // read input value and store it

analogWrite(R_LED, r); // turn the leds on analogWrite(G_LED, g); // at the colour analogWrite(B_LED, b); // sent by the computer } while ((state == 1) && (Serial.available() == 0)) { // if the lamp is on analogWrite(R_LED, 0); // turn the leds off analogWrite(G_LED, 0); analogWrite(B_LED, 0); if ((state == 1) && (Serial.available() == 0)) { // if the lamp is on

for (i = 0; i < 255; i++) { // loop from 0 to 254 (fade in) analogWrite(R_LED, i); // set the LED brightness delay(10); // Wait 10ms because analogWrite // is instantaneous and we would // not see any change btn = digitalRead(BUTTON); // read input value and store it

for (i = 0; i < 255; i++) { // loop from 0 to 254 (fade in) analogWrite(G_LED, i); // set the LED brightness delay(10); // Wait 10ms because analogWrite // is instantaneous and we would // not see any change btn = digitalRead(BUTTON); // read input value and store it

for (i = 0; i < 255; i++) { // loop from 0 to 254 (fade in) analogWrite(B_LED, i); // set the LED brightness delay(10); // Wait 10ms because analogWrite // is instantaneous and we would // not see any change btn = digitalRead(BUTTON); // read input value and store it

Why did you buy the Arduino in the first place? What are your interests? A heads up display for a motorcycle helmet would not be a good suggestion if you hate motorcycles. What you like will have a big influence on choosing a non-trivial project that you will see through to completion.

My Idea was to build a small biped that can detect a soccer ball and kick it back to you, but I think thats beyond my skill right now. What I'm asking is what might be a good beginner/intermediate project. I bought the Arduino, because I am a web designer, however thought it would be cool to get involved in the world of physical programming. I was also considering running a chatbot on the biped so that it could have a conversation.. I have pretty much nixed that because there are no voice recognition shilds that can interperet the entire english language, the speech it not the problem there. I'm looking for a good suggestion that would help me continue to build my skills at programming and utilizing the Arduino.

On the playground, there a whole list of project ideas. The forum is full of interesting ideas. Look the exhibitions section. See if you can go one better on any of those ideas. The project guidance section is full of ideas, too.

Got a school nearby? Do they have a robotics class? Go volunteer. There are dozens of ways to find ideas.

You can try using BitVoicer (http://www.bitsophia.com/BitVoicer.aspx) for the speech recognition and, based on what it sends to your Arduino, you can use a text-to-speech (synthesizer) board to provide answers. BitVoicer's Voice Schemas can handle hundreds of recognition possibilities, so if you do a good job with the Voice Schema, it might be possible to handle simple dialogs.

Finished the whole book in one day, with the kit from Maker Shed. Any suggestions for a next project?

Welcome to the arduino world.Sounds like your ready to take on something more challenging, perhaps an arduino controlled nuclear power plant? We will help (via forum only) if you run into snags or bugs.