Go Down

Topic: Help help help to combine codes: piezo to play a simple melody when ips is trigg (Read 1 time) previous topic - next topic


Hi there i would like too combine the two codes if it is possible :? ?? so when the infra-red proximity sensor is triggered the piezo speaker  will play a simple melody   :D

is it possible to combine these two codes??
Code: [Select]

const int speakerPin =  13;      // the number of the speaker pin

int sensorValue; //integer used to calculate distance 
int distance; //real distance in cm obtained from the formula (4800/sensorValue -20)
int sensorPin = A0; //Sensor is connected to Analog 0 

void setup()
  Serial.begin(9600); //initialise serial port

void loop()
  //read sensor value

  //formula required to calculate the 
  //exact distance from the sensor.
  //Taken from Phidgets datasheet

  //Serial.println (sensorValue); uncomment if you want to check the sensorValue read from the IF sensor
  Serial.println(distance); //print the value onto serial

  if (distance <=60){
    digitalWrite(speakerPin, HIGH);
  else {
    digitalWrite(speakerPin, LOW);


AND the Tone Melody code

Code: [Select]

Plays a melody
#include "pitches.h"

// notes in the melody:
int melody[] = {

// note durations: 4 = quarter note, 8 = eighth note, etc.:
int noteDurations[] = {
  4, 8, 8, 4,4,4,4,4 };

void setup() {
  // iterate over the notes of the melody:
  for (int thisNote = 0; thisNote < 8; thisNote++) {

    // to calculate the note duration, take one second
    // divided by the note type.
    //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
    int noteDuration = 1000/noteDurations[thisNote];
    tone(8, melody[thisNote],noteDuration);

    // to distinguish the notes, set a minimum time between them.
    // the note's duration + 30% seems to work well:
    int pauseBetweenNotes = noteDuration * 1.30;
    // stop the tone playing:

void loop() {
  // no need to repeat the melody.

looking forward to hearing from someone that can crack this for me  :D  :D  :D  :?

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131