Show Posts
Pages: [1] 2
1  Using Arduino / Programming Questions / Re: error: 'F' was not declared in this scope?? but i did! on: February 23, 2012, 03:42:09 pm
Brad, thanks. i did not write the code myself. i have it from a website.
anyway i now have this error while uploading:

avrdude: stk500_getsync(): not in sync: resp=0x00

strange
2  Using Arduino / Programming Questions / Re: error: 'F' was not declared in this scope?? but i did! on: February 23, 2012, 03:25:02 pm
hello

yes i did change it into X

compiling is no problem but uploading says something error with SDK500? uhmmm....
3  Using Arduino / Programming Questions / error: 'F' was not declared in this scope?? but i did! on: February 23, 2012, 02:46:26 pm
hello all,

this is kinda strange. my code worked fine in arduino 0022 but the the IDE stopped so i downloaded arduino 1.0
now with the same code i have strange error messages?

there is NO additional libary needed. in fact i did declare "F" as you can see in my code below.

any help is aprechiated

thanks
peroja

sketch_jan28a.cpp: In function 'void digit0()':
sketch_jan28a.pde:-1: error: 'F' was not declared in this scope
sketch_jan28a.cpp: In function 'void digit1()':
sketch_jan28a.pde:-1: error: 'F' was not declared in this scope
sketch_jan28a.cpp: In function 'void digit2()':
etc...

here is the code:

Code:
/*
Arduino 4 digits 7 segments LED countdown timer with buzzerm from
electronicsblog.net. If You share/use this code elsewhere on the internet
please meantion this code source.
*/

// segment | Arduino board PIN number

#define G 6
#define F 7
#define A 8
#define B 9
#define E 10
#define D 11
#define C 12
#define DP 13

// Commonn cathodes control
#define GND1 2
#define GND2 3
#define GND3 4
#define GND4 5

// buttons
/*
Button_start - start/pause timer and in setup mode inreases minutes
and seconds values
Button_set - if timer is paused it resets timer to start. Long press
activates setup mode in which button is for going through minutes, seconds setup
and leaving setup mode.

*/

#define Button_start A0
#define Button_set A1

///
#define Buzzer 1
#define LED 0 // or relay insted

int i=0;
char run=0; // shows if timer is runnig
int b=0;  //for buttons
int c=0;
int d=0; // for buzzer
char set_mode=0; // shows if timer is in setup mode
char alarm =0;  // if "1" buzzer is on

//timer variables

// user setted and "turn on" values
int default_Sec=00;
int default_Min=00;

// current values
int Sec;
int Min;

//timer interrupt

ISR(TIMER1_OVF_vect) {
Sec--; // timer values decreases
TCNT1=0x0BDC;
  
}

// functions to display digits

void digit0 () {
// for 0 needed to turn ON F A B C D E segments, so:

digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);

//////////////////////// G segment should be turn OFF
digitalWrite(G, LOW);

};

void digit1 () {

digitalWrite(A,LOW);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
};

void digit2 () {

digitalWrite(A,HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, LOW);
digitalWrite(G, HIGH);
};

void digit3 () {

digitalWrite(A,HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, HIGH);
};

void digit4 () {

digitalWrite(A,LOW);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
};

void digit5 () {

digitalWrite(A,HIGH);
digitalWrite(B, LOW);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, LOW);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
};

void digit6 () {

digitalWrite(A,HIGH);
digitalWrite(B, LOW);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
};

void digit7 () {

digitalWrite(A,HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
};

void digit8 () {

digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);

};

void digit9 () {

digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, LOW);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);

};

//function to display digit from inputed int

void showdigit (int digit)

{
  
 switch (digit) {
 
 case 0:
 digit0 ();
 break;
 
 case 1:
 digit1 ();
 break;
 
 case 2:
 digit2 ();
 break;
 
 case 3:
 digit3 ();
 break;
 
 case 4:
 digit4 ();
 break;
 
 case 5:
 digit5 ();
 break;
 
 case 6:
 digit6 ();
 break;
 
 case 7:
 digit7 ();
 break;
 
 case 8:
 digit8 ();
 break;
 
 case 9:
 digit9 ();
 break;
 
 default:

 
 
 break;
 
 
 
 };

};

// showing 4 digits
//  not only shows 4 digit number, but also there is option to turn on
//only selected digits and decimal point.

void showdigits (int number, char digit_on, char  decimal_point)
{

  

digitalWrite(GND4, LOW);
  // e.g. we have "1234"
showdigit(number/1000);  // segments are set to display "1"
if (decimal_point&8) {digitalWrite(DP, HIGH);} else {digitalWrite(DP, LOW);};
 if (digit_on&8) {
digitalWrite(GND1, HIGH); // first digit on,
digitalWrite(GND2, LOW); // other off
digitalWrite(GND3, LOW);
 }
 delay (1);

number = number%1000;  // remainder of 1234/1000 is 234
digitalWrite(GND1, LOW); // first digit is off
 showdigit(number/100); //// segments are set to display "2"
if (decimal_point&4) {digitalWrite(DP, HIGH);} else {digitalWrite(DP, LOW);};
 if (digit_on&4) {
digitalWrite(GND2, HIGH); // second digit is on
  } delay (1);// and so on....
 
number =number%100;    
digitalWrite(GND2, LOW);
showdigit(number/10);
if (decimal_point&2) {digitalWrite(DP, HIGH);} else {digitalWrite(DP, LOW);};
 if (digit_on&2) {
digitalWrite(GND3, HIGH);
 }
 delay (1);

number =number%10;
digitalWrite(GND3, LOW);
showdigit(number);
if (decimal_point&1) {digitalWrite(DP, HIGH);} else {digitalWrite(DP, LOW);};
 if (digit_on&1) {
digitalWrite(GND4, HIGH);
  }
  delay (1);

};

void setup()

{

  
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(E, OUTPUT);
pinMode(F, OUTPUT);
pinMode(G, OUTPUT);
pinMode(DP, OUTPUT);

pinMode(GND1, OUTPUT);
pinMode(GND2, OUTPUT);
pinMode(GND3, OUTPUT);
pinMode(GND4, OUTPUT);

pinMode(Button_start, INPUT);
digitalWrite(Button_start, HIGH); //pull up resistor

pinMode(Button_set, INPUT);
digitalWrite(Button_set, HIGH); //pull up resistor

pinMode(Buzzer, OUTPUT);
pinMode(LED, OUTPUT);

TIMSK1=0x01; // enabled global and timer overflow interrupt;
TCCR1A = 0x00; // normal operation 148 page (mode0);

TCNT1=0x0BDC;

TCCR1B = 0x00; // stop hardware timer

// loading default timer values

Sec = default_Sec ;
Min = default_Min ;

};
void loop ()

{
 //////////// button_start//////////
  if (!digitalRead(Button_start)&&!b) {
  
  if (!set_mode) { if (run) {TCCR1B=0x00; run=0;} else {TCCR1B=0x04; run=1;}}
  
  if (set_mode==1) {Min++;}
  
   if (set_mode==2) {Sec++;}
      
   if (set_mode) {b=25;} else b=100;
  
         };
        
 if (!digitalRead(Button_start)&&b==1) {
    
        };      

if (!b==0) b--;

 //////////// button_set/////////
 if (!digitalRead(Button_set)&&!c) {
  
   if(!run&&!set_mode) {Min=default_Min; Sec=default_Sec;}
            
  if (set_mode>0) set_mode++;
  
  if (set_mode==3) {set_mode=0;  default_Sec = Sec ;
default_Min = Min; }
  
   c=100;      };  
  
 if (!digitalRead(Button_set)&&c==1&&!run) {
  
     set_mode=1;
    
     c=100;
  
        };      

if (!c==0) c--;
////////////////////////////

if (set_mode) {if (Sec==60) {Sec=00;}

 if (Min==100) {Min=0;} }

      
       else {
 
 if (Sec==-1) {Min--;Sec=59;}
 
 }  
 
 
//decimal point indication control

if (!set_mode) {
  
  
  if (!(Sec%2)) { showdigits (Min*100+Sec,0x0F,0x04); } //0X00

else  {showdigits (Min*100+Sec,0x0F,0x00); }; //0000

} else {
  
  if (set_mode==1) {
  
  showdigits (Min*100+Sec,0x0F,0x0C);   //XX00
                                } else {
                    
                    
                    
                     showdigits (Min*100+Sec,0x0F,0x03);      } //00XX

}
if (run) {  // to do while timer is running; e.g. control relay

digitalWrite(LED, HIGH);

} else digitalWrite(LED, LOW);

if ((Min==0)&&(Sec==0)&&run) {
run=0;
TCCR1B=0x00; //stop timer

//// to do after count down is finished e.g. start alarm as in this example

alarm=1;
d=500;

}

// Alarm part
if (alarm) { if (!(d%100)) { // sound 500/100= 5 times ;
  tone(Buzzer, 440, 200); }
  d--;
  if (d==0) {alarm=0; Sec = default_Sec ;
  Min = default_Min ; // After alarm is off, timer goes to start
          }
    }  
  
};
4  Using Arduino / Project Guidance / strange character at the end of 16x2 LCD on: October 31, 2011, 02:31:33 am
hello

i have a 16x2 LCD hooked up on my arduino mega according to the serial input example and basically everything works fine. exept that i have a strange character at the end of the word. it looks like sone japanese character. i used the original source code and i did not alter it at all.
btw, same happens when i try my duemillanova. both arduinos generate the same issue.
any idea?

the hello world example and all the others work without any problems. its just the serial input example.

thanks
5  Using Arduino / Programming Questions / Re: how to use temporary memory? on: October 22, 2011, 10:39:27 pm
hi

i already have done that. the keypad is not an issue. it works fine.
i am more intrested how to "store" the digits, call them and then delete the memory.

i maybe should use the bitWrite, bitRead, bitClear functions?

thanks
6  Using Arduino / Programming Questions / how to use temporary memory? on: October 22, 2011, 10:04:37 pm
hello,

i have this 12 matrix phone keypad and some 4511 CMOS as 7 segment driver.
what i try to achieve is to dial a digit, then another one, then a third one etc and as soon as i hit the # button the 7 segments come up according to the digits i have dialed. the idea is to do it this way:

7segment #1 (pin 2,3,4,5)
dial a digit,
convert it to a 4digit binary,
store it to memory
move to ->

7segment #2 (pin 6,7,8,9)
dial a digit,
convert it to a 4digit binary,
store it to memory
move to ->

etc...

and realease the whole thing with the #button.

any sugestions how i could do that? maybe with the GOTO command? (move to next 7 segment after binary is stored in memory)

how do i push data into a temporary memory and call it later?

thanks for your help

peroja



7  Using Arduino / Programming Questions / while loop does not stop / 7 segment with 4026 on: October 14, 2011, 12:04:11 pm
hello,

i have a weird problem. i hooked up a 4026 with a 7 segment and want to use arduino as impule driver. everything works actually, the 7 segment counts up from 0 to 9 with impulses given from the arduino but it wont stop. i want my arduino pulse 6 times and then stop?
im a bit stuck here. i dont know what i am doing wrong?

Code:
int var1;
int var2;

void setup() {               
  pinMode(13, OUTPUT); 

}


void loop() {
 
   var1 = 0;
   var2 = 6;

   while(var1 < var2){
   

       digitalWrite(13, HIGH);   // set the LED on
       delay(100);              // wait for a second
       digitalWrite(13, LOW);    // set the LED off
       delay(100);              // wait for a second
       var1++;
 
   }
 }

im just playing around but the idea is later to have var2 inside a sensor or something
any sugestions? it just loops thru without stopping

thanks
pero
8  Forum 2005-2010 (read only) / Syntax & Programs / Re: beginner: button for different LED patterns on: December 19, 2010, 07:10:48 pm
i tried both the switch cases and the button state.
i trashed the codes already since both did not work.
the switch case lightened up all leds and did not switch off
the button state i removed the serial thing and i was able to turn on the led with every 4th button switch but AAAARGH....
im looking in google for examples and it seems lots of people have exact the same request bit nobody got help. i could not find a proper example i could use as base for my project. im really disapointed as i am looking for 2 days now (before i ask for help in a forum)
9  Forum 2005-2010 (read only) / Syntax & Programs / Re: beginner: button for different LED patterns on: December 19, 2010, 05:19:37 pm
hi paul

i already have the push button on pin digital pin 12 and the LED's on digital 1 - 8
i know about the pullup resistor and i already have implemented that on my breadboard as well

i need code sniplets
i tried the statechangedetection example but it does not work for my programm?

thanks
10  Forum 2005-2010 (read only) / Syntax & Programs / beginner: button for different LED patterns on: December 19, 2010, 04:54:20 pm
hi

im doing a little 8 step sequencer and i have basic problems. i want to use ONE push button to change between different patterns e.g:

when unit turns on all LED = off

start loop

when push button pressed
8 led's one after another go on and off, repeat

when push button pressed again
1st LED blinks twice, then decond LED blinks twice.....

when push button pressed again
leds blink 3times then next led .......

end loop

also there is a potentiometer to controll the speed

i dont need the whole code but if someone could give me a kick start how this can be solved, would be nice

thanks
randy


Code:
int sensorPin = 0;
int sensorValue = 0;



int ledPin1 = 0;
int ledPin2 = 1;
int ledPin3 = 2;
int ledPin4 = 3;
int ledPin5 = 4;
int ledPin6 = 5;
int ledPin7 = 6;
int ledPin8 = 7;


void setup() {

  pinMode(ledPin1, OUTPUT);  
  pinMode(ledPin2, OUTPUT);  
  pinMode(ledPin3, OUTPUT);  
  pinMode(ledPin4, OUTPUT);  
  pinMode(ledPin5, OUTPUT);  
  pinMode(ledPin6, OUTPUT);
  pinMode(ledPin7, OUTPUT);
  pinMode(ledPin8, OUTPUT);

}


void loop() {
// programm 1
  
  sensorValue = analogRead(sensorPin);    
    
  // turn the ledPin on
  digitalWrite(ledPin1, HIGH);  
 delay(sensorValue);  
  digitalWrite(ledPin1, LOW);  
 delay(10);  
  digitalWrite(ledPin2, HIGH);
delay(sensorValue);  
  digitalWrite(ledPin2, LOW);    
  delay(10);      
  
  digitalWrite(ledPin3, HIGH);  
    delay(sensorValue);  
  digitalWrite(ledPin3, LOW);  
    delay(10);      
  digitalWrite(ledPin4, HIGH);  
    delay(sensorValue);    
  digitalWrite(ledPin4, LOW);  
   delay(10);          
  
   digitalWrite(ledPin5, HIGH);  
 delay(sensorValue);  
  digitalWrite(ledPin5, LOW);  
 delay(10);  
  digitalWrite(ledPin6, HIGH);
delay(sensorValue);  
  digitalWrite(ledPin6, LOW);    
  delay(10);            
  
  digitalWrite(ledPin7, HIGH);  
    delay(sensorValue);  
  digitalWrite(ledPin7, LOW);  
     delay(10);  
  digitalWrite(ledPin8, HIGH);  
    delay(sensorValue);    
  digitalWrite(ledPin8, LOW);  
   delay(10);          
  
   }
    
11  Forum 2005-2010 (read only) / Exhibition / Re: Arduino Pong on: August 22, 2010, 05:43:00 pm
hello. i started to play around with this and i dis some kind of a breakout thingie haha. could be the basic of a breakout game. but i strugled to implement a horizontal paddle...

see yourself

Code:

#include <TVout.h>
#include <video_gen.h>
#include <video_properties.h>
#define WHEEL_ONE_PIN 0 //analog
#define WHEEL_TWO_PIN 1 //analog
#define BUTTON_ONE_PIN 2 //digital
#define PADDLE_HEIGHT 12
#define PADDLE_WIDTH 3

#define WALL_HEIGHT (TV.vert_res())
#define WALL_WIDTH 1


#define RIGHT_PADDLE_X (TV.horz_res()-4)
#define LEFT_PADDLE_X 2
#define IN_GAME 0 //in game state
#define IN_MENU 1 //in menu state
#define GAME_OVER 2 //game over state
#define LEFT_SCORE_X (TV.horz_res()/2-15)
#define RIGHT_SCORE_X (TV.horz_res()/2-20)
#define SCORE_Y 4
#define MAX_Y_VELOCITY 1
#define PLAY_TO 7
#define LEFT 0
#define RIGHT 1

TVout TV;
unsigned char x,y;
boolean buttonStatus = false;
int wheelOnePosition = 0;
int wheelTwoPosition = 0;
int rightPaddleY = 0;
int leftPaddleY = 0;
unsigned char ballX = 0;
unsigned char ballY = 0;
char ballVolX = 1;
char ballVolY = 1;


unsigned char blockX = 0;
unsigned char blockY = 0;
char blockVolX = 1;
char blockVolY = 1;





int leftPlayerScore = 0;
int rightPlayerScore = 0;
int frame = 0;
int state = IN_MENU;

void processInputs() {
wheelOnePosition = analogRead(WHEEL_ONE_PIN);
wheelTwoPosition = analogRead(WHEEL_TWO_PIN);
buttonStatus = (digitalRead(BUTTON_ONE_PIN) == LOW);
}



  
  


void drawMenu() {
x = 0;
y = 0;
char volX = 1;
char volY = 1;





TV.clear_screen();
TV.select_font(_8X8);
for(int i=1; i<TV.vert_res() - 4; i+=6) {

TV.draw_line(TV.horz_res()/2,i,TV.vert_res()/2,i, 1);

TV.draw_line(TV.horz_res()/2+20,i,TV.vert_res()/2+20,i, 1);
TV.draw_line(TV.horz_res()/2+40,i,TV.vert_res()/2+40,i, 1);
TV.draw_line(TV.horz_res()/2+60,i,TV.vert_res()/2+60,i, 1);

TV.draw_line(TV.horz_res()/2-20,i,TV.vert_res()/2-20,i, 1);
TV.draw_line(TV.horz_res()/2-40,i,TV.vert_res()/2-40,i, 1);
TV.draw_line(TV.horz_res()/2-60,i,TV.vert_res()/2-60,i, 1);

}
delay(100);
while(!buttonStatus) {
processInputs();
TV.delay_frame(3);
if(x + volX < 1 || x + volX > TV.horz_res() - 1) volX = -volX;
if(y + volY < 1 || y + volY > TV.vert_res() - 1) volY = -volY;
if(TV.get_pixel(x + volX, y + volY)) {

TV.set_pixel(x + volX, y + volY, 0);

TV.set_pixel(x + volX, y + volY, 0);

if(TV.get_pixel(x + volX, y - volY) == 0) {
volY = -volY;
}
else if(TV.get_pixel(x - volX, y + volY) == 0) {
volX = -volX;
}
else {
volX = -volX;
volY = -volY;
}
}
TV.set_pixel(x, y, 0);
x += volX;
y += volY;
TV.set_pixel(x, y, 1);
}
TV.select_font(_5X7);
state = IN_GAME;
}

void setup() {
Serial.begin(9600);
x=0;
y=0;
TV.start_render(_PAL);//for devices with only 1k sram(m168) use TV.begin(_NTSC,128,56)

ballX = TV.horz_res() / 2;
ballY = TV.vert_res() / 2;
}

void loop() {
processInputs();

if(state == IN_MENU) {
drawMenu();
}
if(state == IN_GAME) {
if(frame % 3 == 0) { //every third frame
ballX += ballVolX;
ballY += ballVolY;

if(ballY <= 1 || ballY >= TV.vert_res()-1) ballVolY = -ballVolY;
if(ballVolX < 0 && ballX == LEFT_PADDLE_X+PADDLE_WIDTH-1 && ballY >= leftPaddleY && ballY <= leftPaddleY + PADDLE_HEIGHT) {
ballVolX = -ballVolX;
ballVolY += 2 * ((ballY - leftPaddleY) - (PADDLE_HEIGHT / 2)) / (PADDLE_HEIGHT / 2);
}
if(ballVolX > 0 && ballX == RIGHT_PADDLE_X && ballY >= rightPaddleY && ballY <= rightPaddleY + PADDLE_HEIGHT) {
ballVolX = -ballVolX;
ballVolY += 2 * ((ballY - rightPaddleY) - (PADDLE_HEIGHT / 2)) / (PADDLE_HEIGHT / 2);
}

//limit vertical speed
if(ballVolY > MAX_Y_VELOCITY) ballVolY = MAX_Y_VELOCITY;
if(ballVolY < -MAX_Y_VELOCITY) ballVolY = -MAX_Y_VELOCITY;

if(ballX <= 1) {
//playerScored(RIGHT);
}
if(ballX >= TV.horz_res() - 1) {
//playerScored(LEFT);
}
}
if(buttonStatus) Serial.println((int)ballVolX);

//drawGameScreen();
}
if(state == GAME_OVER) {
//drawGameScreen();
TV.clear_screen();
TV.select_font(_8X8);
TV.print_str(29,25,"GAME");
TV.print_str(68,25,"OVER");
delay(5000);
while(!buttonStatus) {
processInputs();

}
TV.select_font(_5X7); //reset the font
//reset the scores
leftPlayerScore = 0;
rightPlayerScore = 0;
state = IN_MENU;
}

TV.delay_frame(1);
if(++frame == 60) frame = 0; //increment and/or reset frame counter
}
12  Forum 2005-2010 (read only) / Exhibition / Re: Arduino Pong on: August 21, 2010, 09:48:52 am
this is just briliant. i also started with the first PONG version and had some flickerings and strugled as the others did and iwas not really happy about the BIG resolution. but then i have found this briliant tvout application and tried out...a few errors in first but my fault because as i am also a absolute newbie in arduino i did not even know that it is possible to implement librarier or HOW to do that. but now i have this cool PONG from PlayMoney on my arduino duemillanove and it works smooth and without error in my _PAL tv. thanks a lot!! i wonder if you could code another game like tennis? where you have to push a button to release the ball and two potentiometers for each player for horizontal and vertical slide?

you also did that radar thing? (video) any code for this? sorry i am a newbie and i am very "thirsty" for codes like this

many thanks for this great work!!

peroja  smiley
13  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: mega128 on: September 02, 2010, 08:35:03 pm
i have this board here:

http://www.chip45.com/AVR-ATmega-Microcontroller-Modules/Crumb128-light-AVR-ATmega128-module.html

and i WANT to burn the arduino bootoader onto it and use it as i do with my duemillanove. burning the bootloader and the programms via ISP is ok for me. still possible?

randy
14  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: mega128 on: September 02, 2010, 05:30:01 pm
im interested in this too. anyone?

thank you
randy
15  Forum 2005-2010 (read only) / Frequently-Asked Questions / Re: How do i use a MAXIM DS1804? on: September 02, 2010, 03:27:29 pm
yes that is correct, i want to make a little oscilator BUT with a step sequencer. 8 steps, 9 potentiometer. 1 poti for the speed and the other 8 to set the frequency of each step. like here



i know the duemillanove has not enough analog outs for this but maybe the mega? but i want to do it with 4 steps first in the duemillanove just to learn.

thanks
randy
Pages: [1] 2