-         

Ergebnis 1 bis 3 von 3

Thema: RP6Control M32: Tonfrequenzen

  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791

    RP6Control M32: Tonfrequenzen

    Anzeige

    Hallo Leute,

    beim RP6 wird mit Timer2 gepiepst:
    Code:
    void beep(uint8_t pitch, uint16_t time)
    {
    	controlStatus.beep = true;
    	sound_timer = time;
    	OCR2 = 255-pitch;
    	TCCR2 =  (1 << WGM21) | (1 << COM20) | (1 << CS22) | (1 << CS21);
    }
    Das müßte dann ja Fast PWM mit TOP OCR2 sein?
    Als Teiler ist wohl 256 vorgesehen (bei 16 MHz).

    Wie muss ich dann den pitch berechnen?

    Wäre das so richtig: pitch = 255 - (16000000 / 256 / f[Hz] / 2) ?

    Gruß Dirk

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    So,- wen's interessiert:

    Das sind die mit dem Beeper der M32 erreichbaren Töne:
    Code:
    // Define tone frequencies (well temperament):
    
    // Great Octave
    #define Tone_H      2       //123Hz
    
    // Small Octave
    #define Tone_c      16      //131Hz
    #define Tone_cis    30      //139Hz
    #define Tone_d      42      //147Hz
    #define Tone_dis    54      //156Hz
    #define Tone_e      65      //165Hz
    #define Tone_f      76      //175Hz
    #define Tone_fis    86      //185Hz
    #define Tone_g      96      //196Hz
    #define Tone_gis    105     //208Hz
    #define Tone_a      113     //220Hz
    #define Tone_ais    121     //233Hz
    #define Tone_h      128     //247Hz
    
    // ' Octave
    #define Tone_C1     136     //262Hz
    #define Tone_Cis1   142     //277Hz
    #define Tone_D1     149     //294Hz
    #define Tone_Dis1   155     //311Hz
    #define Tone_E1     160     //330Hz
    #define Tone_F1     166     //349Hz
    #define Tone_Fis1   171     //370Hz
    #define Tone_G1     175     //392Hz
    #define Tone_Gis1   180     //415Hz
    #define Tone_A1     184     //440Hz
    #define Tone_Ais1   188     //466Hz
    #define Tone_H1     192     //494Hz
    
    // '' Octave
    #define Tone_C2     195     //523Hz
    #define Tone_Cis2   199     //554Hz
    #define Tone_D2     202     //587Hz
    #define Tone_Dis2   205     //622Hz
    #define Tone_E2     208     //659Hz
    #define Tone_F2     210     //698Hz
    #define Tone_Fis2   213     //740Hz
    #define Tone_G2     215     //784Hz
    #define Tone_Gis2   217     //831Hz
    #define Tone_A2     219     //880Hz
    #define Tone_Ais2   221     //932Hz
    #define Tone_H2     223     //988Hz
    
    // ''' Octave
    #define Tone_C3     225     //1047Hz
    #define Tone_Cis3   227     //1109Hz
    #define Tone_D3     228     //1175Hz
    #define Tone_Dis3   230     //1245Hz
    #define Tone_E3     231     //1319Hz
    #define Tone_F3     233     //1397Hz
    #define Tone_Fis3   234     //1480Hz
    #define Tone_G3     235     //1568Hz
    #define Tone_Gis3   236     //1661Hz
    #define Tone_A3     237     //1760Hz
    #define Tone_Ais3   238     //1865Hz
    #define Tone_H3     239     //1976Hz
    
    // '''' Octave
    #define Tone_C4     240     //2093Hz
    #define Tone_Cis4   241     //2217Hz
    #define Tone_D4     242     //2349Hz
    #define Tone_Dis4   242     //2489Hz
    #define Tone_E4     243     //2637Hz
    #define Tone_F4     244     //2794Hz
    #define Tone_Fis4   244     //2960Hz
    #define Tone_G4     245     //3136Hz
    #define Tone_Gis4   246     //3322Hz
    #define Tone_A4     246     //3520Hz
    #define Tone_Ais4   247     //3729Hz
    #define Tone_H4     247     //3951Hz
    
    // ''''' Octave
    #define Tone_C5     248     //4186Hz
    Ab der 4. Oktave kann man nicht mehr jeden Ton darstellen. Viel Spaß beim Piepsen!

    Gruß Dirk

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    04.06.2009
    Beiträge
    49
    danke =)
    Werd ich bald gebrauchem können

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •