Arduino sound system.

Regulatory, sterowniki, serwa, pakiety itp.
Awatar użytkownika
barman_pl
Moderator
Posty: 9778
Rejestracja: 04 lip 2012, 19:24
Has thanked: 4 times
Been thanked: 8 times

Re: Arduino sound system.

Post autor: barman_pl »

A to jeszcze zapytam - dźwięk przechodzi płynnie czy są przeskoki takie jak np. tutaj ?



:scratch

Pozdr.

Awatar użytkownika
Sławek
Site Admin
Posty: 14533
Rejestracja: 21 gru 2011, 22:12
Has thanked: 15 times
Been thanked: 22 times

Re: Arduino sound system.

Post autor: Sławek »

Znalazłem czytnik SD, podłączyłem :)
P519117720150519000346.JPG
i działa :) znaczy działa tak, że w serialu daje :

Kod: Zaznacz cały

SD ok
beginsound.wav
setup end
0
0
0
czyli czyta kartę prawidłowo :) jednak dźwięku bez wzmacniacza nie słychać, więc muszę poczekać aż przyjdzie :)

Pozdr
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
Sławek
Site Admin
Posty: 14533
Rejestracja: 21 gru 2011, 22:12
Has thanked: 15 times
Been thanked: 22 times

Re: Arduino sound system.

Post autor: Sławek »

barman_pl pisze:A to jeszcze zapytam - dźwięk przechodzi płynnie czy są przeskoki takie jak np. tutaj ?



:scratch

Pozdr.
Po prześledzeniu kodu to sądzę, że nie jest płynnie, dźwięk silnika podzielony jest na 6 części, od jałowej pracy do maksymalnej, i w zależności od zakresu wychylenia drążka, odtwarzany jest kolejny plik :) będzie to wymagało optymalizacji kodu, ale to dopiero będę mógł spróbować jak usłyszę dźwięk :)

Tu mapowanie odczytu sygnału z RC :

Kod: Zaznacz cały

  if(duration <= 990){
        currThrottle = 0;
     };
     if((duration > 990) && (duration <= 1050)){
        currThrottle = 1;
     };
      if((duration > 1050) && (duration <= 1167)){
        currThrottle = 2;
      };
      if((duration > 1167) && (duration <= 1332)){
        currThrottle = 3;
      };
      if((duration > 1332) && (duration <= 1498)){
        currThrottle = 4;
      };
      if((duration > 1498) && (duration <= 1664)){
        currThrottle = 5;
      };
      if((duration > 1664) && (duration <= 1830)){
        currThrottle = 6;
      };
      if(duration > 1830){
        currThrottle = 7;
      };
Czyli w zależności od wartości odczytu, zmienna currThrottle przybiera wartość od 0 do 7

a następnie mamy taką sekcję :

Kod: Zaznacz cały

    if((currThrottle == 0) && (prevThrottle > 0)){
            tmrpcm.play("shut.wav");
             Serial.println("shut.wav)");
             while(tmrpcm.isPlaying()){}
             prevThrottle = currThrottle;
        }
        if(currThrottle == 1){
             if(currThrottle > prevThrottle){
             tmrpcm.play("start.wav");
             Serial.println("start.wav");
             while(tmrpcm.isPlaying()){}
             }
             playingSound = 1;
             prevThrottle = currThrottle;
        }
        if(currThrottle == 2){
          tmrpcm.play("1.wav");
          Serial.println("1.wav");
          prevThrottle = currThrottle;
          playingSound = 1;
        }
        if(currThrottle == 3){
          tmrpcm.play("2.wav");
          Serial.println("2.wav");
          prevThrottle = currThrottle;
          playingSound = 2;
        }
        if(currThrottle == 4){
          tmrpcm.play("3.wav");
          Serial.println("3.wav");
          prevThrottle = currThrottle;
          playingSound = 3;
        }
         if(currThrottle == 5){
          tmrpcm.play("4.wav");
          Serial.println("4.wav");
          prevThrottle = currThrottle;
          playingSound = 4;
        }
         if(currThrottle == 6){
          tmrpcm.play("5.wav");
          Serial.println("5.wav");
          prevThrottle = currThrottle;
          playingSound = 5;
         }
         if(currThrottle == 7){
          tmrpcm.play("6.wav");
          Serial.println("6.wav");
          prevThrottle = currThrottle;
          playingSound = 6;
        }
czyli odtwarzany jest plik który odpowiada odpowiedniej wartości tej zmiennej :) dodatkowo jest dźwięk start.wav i shut.wav dla wartości odpowiednio 1 i 0 :) nie wiem czy to jasno napisałem, mam nadzieję, że tak :he

Pozdr

Awatar użytkownika
luki
Kierowca
Posty: 1630
Rejestracja: 03 lip 2012, 15:18

Re: Arduino sound system.

Post autor: luki »

Podobnie jak to działa w Tbs tez jest kilka sekcji start ,wolne obroty ,przyśpieszanie, jazda , zwalnianie ,i gaszenie silnika jak się nieodpowiednio przygotuje pliki Wav są takie same przeskoki to kwestia popracowania w Audiacity.Jeszcze jedno co mię ciekawi to pliki Wav w Tbs zaczynają się cicho przez kilka mili sekund potem pełny głos i znowu zciszanie pewnie to powoduje płynne odgłosy pomiędzy .

Awatar użytkownika
luki
Kierowca
Posty: 1630
Rejestracja: 03 lip 2012, 15:18

Re: Arduino sound system.

Post autor: luki »

Koleś też ma z tym problem :
On video you can hear that between different sound file we have small delay.
Right now I don't know how to fix it...

Awatar użytkownika
Pawloosw
Kierowca
Posty: 9753
Rejestracja: 01 sie 2013, 22:06
Has thanked: 15 times
Been thanked: 10 times

Re: Arduino sound system.

Post autor: Pawloosw »

I na co ja kupowałem tbs... :he
Luki, fajne znalezisko. Chętnie bym pomógł ale z moją wiedzą. :hehe
Jeśli chodzi o przejścia, jakby udało się napisać kod, że przykładowo przyspieszanie podzielone jest na 5 plików. Przy przyspieszaniu pomiędzy jednym a drugim pliki powinny na siebie nachodzić powiedzmy 1 sek, i pliki dźwiękowe przygotowane w taki sposób, że z początku i na końcu się ściszają. To powinno zniwelować te przeskoki w dźwięku, tylko jak to zaprogramować w arduino :scratch

Awatar użytkownika
barman_pl
Moderator
Posty: 9778
Rejestracja: 04 lip 2012, 19:24
Has thanked: 4 times
Been thanked: 8 times

Re: Arduino sound system.

Post autor: barman_pl »

Ja się nie znam, ale przy 6 plikach niestety będzie słychać przeskok w dźwięku... Nie mam pojęcia w programowaniu tego cuda, ale jeśli dało by się w jakiś sposób wymusić jakieś 16-20 pliczków to już by miało sens ;)...

Z resztą - Sławkowy pewnie luknie co się da a co nie :brawa

Pozdr.

Awatar użytkownika
Sławek
Site Admin
Posty: 14533
Rejestracja: 21 gru 2011, 22:12
Has thanked: 15 times
Been thanked: 22 times

Re: Arduino sound system.

Post autor: Sławek »

Ta biblioteka nie pozwala na przyspieszanie czy opóźnianie odtwarzania plików :)

Awatar użytkownika
mauy-miu
Śpioch
Posty: 5873
Rejestracja: 01 maja 2012, 22:10
Has thanked: 2 times
Been thanked: 8 times

Re: Arduino sound system.

Post autor: mauy-miu »

Drabek pisze:
kajoj333 pisze:jeżeli jest kod to schemat nie jest aż taki potrzebny bo większość jest zawarta w kodzie
Ja to wiem Ty to wiesz ale takich ludzi jest nie wiele,
Więc nie którzy będą oczekiwać gotowca ;)
"Nie którzy"...LOL :he
pozdro

Awatar użytkownika
Maciej
Site Admin
Posty: 7789
Rejestracja: 07 paź 2012, 17:47
Has thanked: 57 times
Been thanked: 72 times

Re: Arduino sound system.

Post autor: Maciej »

Gramar nazi przyjechał z Poznania :D

ODPOWIEDZ