arduino - softpotentiometer + lite nybörjarfrågor

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
izak3
Inlägg: 20
Blev medlem: 6 september 2011, 21:36:54

Re: arduino - softpotentiometer + lite nybörjarfrågor

Inlägg av izak3 »

Success! det visade sig att constrain-funktionen var mer eller mindre onödig, sen i all hast hade jag glömt bort en bit av koden för att göra själva ljudet. Nu är det dock bara 3 toner känns det som men jag ska leka lite med värdena och se om det blir bättre. Tack för all hjälp! :) är det förresten någon som har tips på en bra guide/nybörjar-projekt som jag kan fortsätta med??

mvh izak3

EDIT:
bifogar koden som fungerade, dock känns det som att tonerna inte ändras så mycket när man trycker på tre ställen i följd, däremot när man drar upp och ner längsmed så hör man skillnad i pitchen(eventuellt kommer det upp en video på detta primitiva experiment senare om jag orkar;))

Kod: Markera allt

/* simple arduino music-instrument
-----------made by Izak3---------*/

int speakerPin = 9;

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

void loop(){
  int sensorValue = analogRead(0);
  int toneValue = map(sensorValue, 0, 1022, 10, 4000);
  
  Serial.println(toneValue);
  
  if(sensorValue <= 1022){
  digitalWrite(speakerPin, HIGH);
  delayMicroseconds(toneValue);
  digitalWrite(speakerPin, LOW);
  delayMicroseconds(toneValue);
  } else {
  }
}
ToPNoTCH
Inlägg: 5147
Blev medlem: 21 december 2009, 17:59:48

Re: arduino - softpotentiometer + lite nybörjarfrågor

Inlägg av ToPNoTCH »

Det ser lite tokigt ut i min värld.

1.) För att få en ton, så skall du nog använda kommandot tone() i stället för att höja en digital pinne olika lång tid.

2.) Du aktiverar fortfarande bara uppspelning när värdet är <= 1022

3.) Du har en else som inte gör något (helt onödig)

Föslag:
- Mappa värdet till hörbar frekvens (exempelvis 100 till 10 000)
- Använd värdet som frekvens i tone() kommandot

Det används så här: tone(pin, frequency, duration)
izak3
Inlägg: 20
Blev medlem: 6 september 2011, 21:36:54

Re: arduino - softpotentiometer + lite nybörjarfrågor

Inlägg av izak3 »

jag tror att tone fungerar på samma sätt bara inbakat i arduinobiblioteket. high på pinnen, delay i microsec, low, delay. På så sätt skapas det vibrationer... men att använda tone() är säkerligen enklare men detta fungerar ju. sen ser jag också att else är helt onödeg men det kom med av bara farten. if statementet är där för att det inte ska låta när man inte trycker. Ang. map funktionen inte fungerade riktigt innan berodde på att jag blandade ihop värdena lite...
Skriv svar