Näe det funkade inte.
Som jag har förstått det ska man specifisera vilken interrupt det är, inte vilken pinne.
Sound Detection Sensor Module + Arduino, DigitalOut. Hur?
-
- Inlägg: 789
- Blev medlem: 10 december 2007, 12:40:08
- Ort: Piteå
-
- EF Sponsor
- Inlägg: 2109
- Blev medlem: 27 augusti 2005, 20:57:58
- Ort: Borlänge
Re: Sound Detection Sensor Module + Arduino, DigitalOut. Hur
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.
Testa istället att sätta en variabel i interruptet till "TRUE" som sedan pollas i mainloppen och se om det fungerar bättre.
Re: Sound Detection Sensor Module + Arduino, DigitalOut. Hur
Inte för DUE. Du kunde ju ha haft den varianten av arduino.
-
- Inlägg: 789
- Blev medlem: 10 december 2007, 12:40:08
- Ort: Piteå
Re: Sound Detection Sensor Module + Arduino, DigitalOut. Hur
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.
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.
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;
}
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.
-
- Inlägg: 789
- Blev medlem: 10 december 2007, 12:40:08
- Ort: Piteå
Re: Sound Detection Sensor Module + Arduino, DigitalOut. Hur
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
MVH Peter
-
- EF Sponsor
- Inlägg: 2109
- Blev medlem: 27 augusti 2005, 20:57:58
- Ort: Borlänge
Re: Sound Detection Sensor Module + Arduino, DigitalOut. Hur
Ser mycket bättre ut. Pluspoäng för att du kom ihåg "volatile" 
