Sound Detection Sensor Module + Arduino, DigitalOut. Hur?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
PopUnoNkoK
Inlägg: 789
Blev medlem: 10 december 2007, 12:40:08
Ort: Piteå

Re: Sound Detection Sensor Module + Arduino, DigitalOut. Hur

Inlägg av PopUnoNkoK »

Näe det funkade inte.

Som jag har förstått det ska man specifisera vilken interrupt det är, inte vilken pinne.
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Re: Sound Detection Sensor Module + Arduino, DigitalOut. Hur

Inlägg av thepirateboy »

Nu är jag ingen Arduinoprogrammerare men god programmeringspraxis är alltid att göra så lite som möjligt i interruptet och att undvika att göra funktionsanrop i interrupt.

Testa istället att sätta en variabel i interruptet till "TRUE" som sedan pollas i mainloppen och se om det fungerar bättre.
Användarvisningsbild
ecenier
Inlägg: 1150
Blev medlem: 13 december 2007, 17:51:42
Ort: Älvsjö
Kontakt:

Re: Sound Detection Sensor Module + Arduino, DigitalOut. Hur

Inlägg av ecenier »

Inte för DUE. Du kunde ju ha haft den varianten av arduino.
PopUnoNkoK
Inlägg: 789
Blev medlem: 10 december 2007, 12:40:08
Ort: Piteå

Re: Sound Detection Sensor Module + Arduino, DigitalOut. Hur

Inlägg av PopUnoNkoK »

ThePirateBoy, jag tror bestämt att du har rätt. Det vet jag egentligen sedan jag programmerade PIC.
Jag har ingen aning hur många cykler funktionen Serial.Print behöver men det blev förmodligen förmånga efter att den skrivit "Klap".

Nu ser koden ut så här.

Kod: Markera allt

int digiPin = 2;
int ledPin = 13;
volatile int soundState = 0;
volatile int state = 0;

void setup() {
  pinMode(digiPin, INPUT); 
  Serial.begin(9600); 
  attachInterrupt(0, klapp, RISING);
}

void loop() {
  delay(500);
  
  if (state==1){
    Serial.println(state);
    state = 0;
  }
  
}

void klapp()
{
  state = 1;
}
Variabeln "State" sätts till 1 direkt jag klappar händerna men jag ser det inte förräns efter Max en halv sekund. Anledningen till Delayen är bara att simulera ett större program som gör fler saker i mainloop.

Tanken är alltså att fyra av en kamerablixt direkt ljudet uppmärksammas. Men jag vill också bryta kopplingen till blixten. Men det är klart, det kan jag göra utanför interrupten, för att få en liten delay innan den bryts alltså. Denna tid är inte alls viktigt hur lång den är, alltså tiden från att man sätter blixt Pin:en hög till att man sätter den låg.

Tack för hjälpen.
PopUnoNkoK
Inlägg: 789
Blev medlem: 10 december 2007, 12:40:08
Ort: Piteå

Re: Sound Detection Sensor Module + Arduino, DigitalOut. Hur

Inlägg av PopUnoNkoK »

Helt rätt Ecenier, såg det när jag läste om external interrupt. Som vanligt är jag så insnöad på mitt eget så jag tänkte aldrig på att jag inte nämnt att det var en Uno.

MVH Peter
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Re: Sound Detection Sensor Module + Arduino, DigitalOut. Hur

Inlägg av thepirateboy »

Ser mycket bättre ut. Pluspoäng för att du kom ihåg "volatile" :tumupp:
Skriv svar