SIDEBAR
»
S
I
D
E
B
A
R
«
Code Examples

Sounding a Piezo Buzzer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void buzz(int targetPin, long frequency, long length) {
  long delayValue = 1000000/frequency/2;
  // calculate the delay value between transitions
  //// 1 second's worth of microseconds, divided by the frequency,
  //// then split in half since there are two phases to each cycle

  long numCycles = frequency * length/ 1000;
  // calculate the number of cycles for proper timing
  //// multiply frequency, which is really cycles per second, by the
  //// number of seconds to get the total number of cycles to produce
 for (long i=0; i < numCycles; i++){ // for the calculated length of time...
    digitalWrite(targetPin,HIGH); // write the buzzer pin high to push out the diaphram
    delayMicroseconds(delayValue); // wait for the calculated delay value
    digitalWrite(targetPin,LOW); // write the buzzer pin low to pull back the diaphram
    delayMicroseconds(delayValue); // wait again for the calculated delay value
  }
}

Check Amount Of Free RAM

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// this function will return the number of bytes currently free in RAM
int memoryTest() {
  int byteCounter = 0; // initialize a counter
  byte *byteArray; // create a pointer to a byte array
  // More on pointers here: http://en.wikipedia.org/wiki/Pointer#C_pointers (external link)

  // use the malloc function to repeatedly attempt
  // allocating a certain number of bytes to memory
  // More on malloc here: http://en.wikipedia.org/wiki/Malloc (external link)
  while ( (byteArray = (byte*) malloc (byteCounter * sizeof(byte))) != NULL ) {
    byteCounter++; // if allocation was successful, then up the count for the next try
    free(byteArray); // free memory after allocating it
  }

  free(byteArray); // also free memory after the function finishes
  return byteCounter; // send back the highest number of bytes successfully allocated
}

Display the value of a 10K potentimeter to the serial console.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
Display the value of a 10K potentimeter to the serial console.
Copyright: Systemchimp.com 2007
*/


/* The analog pin connect to pot. */
int p1 = 2;
int p1_val = 0;  

void setup() {
  pinMode(p1, INPUT);
  Serial.begin(9600);
}  

void loop() {
  p1_val = analogRead(p1);
  Serial.print("P1=");
  Serial.println(p1_val, DEC);
  delay(1000);
}

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

CAPTCHA * Time limit is exhausted. Please reload CAPTCHA.

%d bloggers like this: