INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
pitches.h
19.03.2014, 18:51
Beitrag #1
pitches.h
Hallo zusammen,
Ich bin anfänger und versuche mit einfache beispiele zu programmieren, ich habe Arduino Uno auf mein Laptop installiert und versuche von Arduino Hompage: http://arduino.cc/en/Tutorial/Tone
das gegebene beispil zu testen, aber leider schaffe ich es nicht, ich verstehe nicht.
ich habe Arduino software installiert und weiss nicht genau wie kann ich die codes speichern!
was soll ich genau im Editor schreiben und unter welche name speichern?
wenn ich nur die folgende codes im Editor kopiere und das programm auf fehler teste, bekomme fehlermeldung:

/*
Melody

Plays a melody

circuit:
* 8-ohm speaker on digital pin 8

created 21 Jan 2010
modified 30 Aug 2011
by Tom Igoe

This example code is in the public domain.

http://arduino.cc/en/Tutorial/Tone

*/
#include "pitches.h"

// notes in the melody:
int melody[] = {
NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4};

// 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;
delay(pauseBetweenNotes);
// stop the tone playing:
noTone(8);
}
}

void loop() {
// no need to repeat the melody.
}
-------------------
welche code soll ich genau von diese hompage kopieren und auf welche name speichern?
was habe ich falsch gemacht.

Vielen Dank für eure hilfe.

Lg, Roland
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.03.2014, 19:48
Beitrag #2
RE: pitches.h
Hallo,

also die text datei aus dem Dowload kannst du über den Windows editor öffnen.
Den Inhalt dann mit STRG+A Markieren und dann Copy Past in die Software.
Wieter unten in dem Tutorial sind die deffinitionen der Noten angegeben.
Der Arduino weiß nicht was die Note c_4 denn machen soll, aso musst du vorher die Noten defienieren.
Anbei mal der Code mit Definitionen und ohne Fehlermeldung.



Code:
/*
  Melody

Plays a melody

circuit:
* 8-ohm speaker on digital pin 8

created 21 Jan 2010
modified 30 Aug 2011
by Tom Igoe

This example code is in the public domain.

http://arduino.cc/en/Tutorial/Tone

*/
// #include "pitches.h"
#define NOTE_C4  262
#define NOTE_G3  196
#define NOTE_B3  247
#define NOTE_A3  220

// notes in the melody:
int melody[] = {
  NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4};

// 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;
    delay(pauseBetweenNotes);
    // stop the tone playing:
    noTone(8);
  }
}

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

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.03.2014, 20:07
Beitrag #3
RE: pitches.h
Danke Stich - das hatte ich auch als Antwort auf der Tastatur - aber- wenn ich den Eingang lese - krieg ich Angry

Angefangen haben wir alle mal - und irgendwie macht es Sinn doch wirklich sich erst in die Materie einzulesen ( ich werde hier NICHT noch mal die Hinwese geben, die ich an XX anderen Stellen schon gegeben habe - wir haben eine Forensuche..da findet man sicher so was wie Programmierhandbuch und Praxisbuch)

Wenn man dann das Prinzip verstanden hat, kann man auch einfach nen Code per Copy Paste nutzen - MUSS - das sollte aber bis dahin jeder - der sich ein wenig eingelesen hat, diesen CODE an seine eigene Umgebung (Board, Hardware usw.)
ANPASSEN.

Sorry sonst klappt gar nix...
selbst nicht mit dem Einsatz der Dauerkristallkugeln der ForenMitglieder...
Greetz
Sloompie
Die jedem ANFÄNGER rät einfach doch mal erst sich ein bissel einzulesen -5input findet man hier sogar gratis) dann die einfachen Dinge zu machen und- wenn man dort schon einen Code erfolgreich geändert hat... dann sich an die wirklich grossen Dinge machen...
keine Ahnung Steuerung eines Raumschiffes oder so...

Dimidium facti, qui coepit, habet: SAPERE AUDE, incipe!©Horaz

Vor allem sapere aude! oder wie Immanuel Kant sagt:
"Habe Mut, dich deines eigenen Verstandes zu bedienen!"

Es tut auch nicht weh! Daher: incipe! oder Tu es! wie Yoda sagen würde.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.03.2014, 20:18
Beitrag #4
RE: pitches.h
Vielen Dank für deine hilfe,hat funktioniert, super, herzlichen dank, ich hätte noch eine frage, ich will ein Arduino Laserharfe von :
http://www.instructables.com/id/Simple-A...tep4/Code/
testen, soweit ich verstanden habe, dieses programm war ein teil von laserharp, soll ich dieses programm dass du geschickt hast unter pitches.h speichern und danach die gegebene code im Hompage für laserharp verwenden oder geht das in einem programm auch( wie du mir geschickt hat)

Vielen Dank für deine hilfe

Lg, Roland



(19.03.2014 19:48)Stich73 schrieb:  Hallo,

also die text datei aus dem Dowload kannst du über den Windows editor öffnen.
Den Inhalt dann mit STRG+A Markieren und dann Copy Past in die Software.
Wieter unten in dem Tutorial sind die deffinitionen der Noten angegeben.
Der Arduino weiß nicht was die Note c_4 denn machen soll, aso musst du vorher die Noten defienieren.
Anbei mal der Code mit Definitionen und ohne Fehlermeldung.



Code:
/*
  Melody

Plays a melody

circuit:
* 8-ohm speaker on digital pin 8

created 21 Jan 2010
modified 30 Aug 2011
by Tom Igoe

This example code is in the public domain.

http://arduino.cc/en/Tutorial/Tone

*/
// #include "pitches.h"
#define NOTE_C4  262
#define NOTE_G3  196
#define NOTE_B3  247
#define NOTE_A3  220

// notes in the melody:
int melody[] = {
  NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4};

// 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;
    delay(pauseBetweenNotes);
    // stop the tone playing:
    noTone(8);
  }
}

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

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.03.2014, 07:08
Beitrag #5
RE: pitches.h
Hallo,

deine fertigen Projelte kanst du Speichern unter welchen Namen auch immer. Das wichtigste ist du findest sie dann wieder.

Das "pitches.h" ist nur für dich der Hinweis das an dieser Stelle die Noten die unten im Code Verwendet werden Deffiniert werden müssen (kannst auch alle rein Kopieren).
Da der Code mit allen Noten schnell Unübesichtlich wird, hat man bei der Programierung darauf Verzichtet und gibt nur den Hinweis.
Wenn du noch andere Bsp. Projekte machst wirst du das wieder in ähnlicher Form antreffen.
Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.03.2014, 13:50 (Dieser Beitrag wurde zuletzt bearbeitet: 22.03.2014 13:53 von roland101.)
Beitrag #6
RE: pitches.h
Hallo,

Vielen Dank, das programm habe ich richtig gemacht, aber leider nach upload funktioniert es nicht! für das programm bekomme ich kein fehler, aber nach upload wenn ich die verbindung zwischen laserpointer und phototransistor abbreche, höre ich gar kein ton, also, man hört überhaupt kein ton! glaubst du habe ich was falsch gemacht? Im anhang habe ich ein foto hunzugefügt,das zeig wie ich es gebaut habe.

vielen dank für deine hilfe.

Lg, Roland

(20.03.2014 07:08)Stich73 schrieb:  Hallo,

deine fertigen Projelte kanst du Speichern unter welchen Namen auch immer. Das wichtigste ist du findest sie dann wieder.

Das "pitches.h" ist nur für dich der Hinweis das an dieser Stelle die Noten die unten im Code Verwendet werden Deffiniert werden müssen (kannst auch alle rein Kopieren).
Da der Code mit allen Noten schnell Unübesichtlich wird, hat man bei der Programierung darauf Verzichtet und gibt nur den Hinweis.
Wenn du noch andere Bsp. Projekte machst wirst du das wieder in ähnlicher Form antreffen.
Gruß

und hier ist das programm:

const int analogPin0 = A0;
const int analogPin1 = A1;
const int analogPin2 = A2;
const int speaker = 8;
const int threshold = 100;
const int threshold2 = 1;

//#include "pitches.h"

#define NOTE_C4 262
#define NOTE_C6 1047
#define NOTE_C5 523


void setup() {
pinMode(speaker, OUTPUT);
Serial.begin(9600);
}

void loop() {
int analogValue0 = analogRead(analogPin0);
int analogValue1 = analogRead(analogPin1);
int analogValue2 = analogRead(analogPin2);

if (analogValue0 < threshold2) {
for (int thisNote = 0; thisNote < 8; thisNote++) {
tone(8,NOTE_C4,8);
noTone(8);
}
}
else {
digitalWrite(speaker,LOW);
}
if (analogValue1 < threshold) {
for (int thisNote = 0; thisNote < 8; thisNote++) {
tone(8,NOTE_C6,8);
noTone(8);
}
}

if (analogValue2 < threshold2) {
for (int thisNote = 0; thisNote < 8; thisNote++) {
tone(8,NOTE_C5,8);
noTone(8);
}
}
Serial.println(analogValue0);
}



(22.03.2014 13:50)roland101 schrieb:  Hallo,

Vielen Dank, das programm habe ich richtig gemacht, aber leider nach upload funktioniert es nicht! für das programm bekomme ich kein fehler, aber nach upload wenn ich die verbindung zwischen laserpointer und phototransistor abbreche, höre ich gar kein ton, also, man hört überhaupt kein ton! glaubst du habe ich was falsch gemacht? Im anhang habe ich ein foto hunzugefügt,das zeig wie ich es gebaut habe.

vielen dank für deine hilfe.

Lg, Roland

(20.03.2014 07:08)Stich73 schrieb:  Hallo,

deine fertigen Projelte kanst du Speichern unter welchen Namen auch immer. Das wichtigste ist du findest sie dann wieder.

Das "pitches.h" ist nur für dich der Hinweis das an dieser Stelle die Noten die unten im Code Verwendet werden Deffiniert werden müssen (kannst auch alle rein Kopieren).
Da der Code mit allen Noten schnell Unübesichtlich wird, hat man bei der Programierung darauf Verzichtet und gibt nur den Hinweis.
Wenn du noch andere Bsp. Projekte machst wirst du das wieder in ähnlicher Form antreffen.
Gruß


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste