Stap 14: problemen oplossen
Sorry u ondervindt, laten we eens kijken als een van deze ideeën helpen;
Index:
1. algemene probleemoplossing
2. LEDs reageren, maar ze gewoon flikkeren
Algemene probleemoplossing;
1. commentaar uit de sectie waarin wordt gecontroleerd als de gemiddelde waarde te hoog of te laag. Toevoegen "/ *" aan het begin van deze verklaringen en "* /" (zonder de aanhalingstekens zoals hieronder) aan het einde van hen.
/* if (average < 50) avgLOW = (avgLOW +1);if (average > 910) avgHIGH = (avgHIGH +1);
if (avgLOW >8) { avgLOW = 0; goto CheckCount; } if (avgHIGH >8) { avgHIGH = 0; goto CheckCount; } */
Opnieuw laden de schets met die sectie uitgecommentarieerd te zien of het maakt geen verschil. Als dit niet gebeurt, kunt u gaan en laat het commentaar uit voor nu.
1a. We willen weten wat de "waarde" is die wordt geretourneerd als de waarde van de gemiddelde sensor wordt bepaald.
Dus beginnen door te draaien op de seriële monitor en kijken naar die waarde. En om dat te doen:
1A1. toevoegen Serial.begin(9600); in het void setup -gedeelte van het script
1A2. in de void loop afdeling, onder gemiddelde = gemiddelde / 3; toevoegen Serial.println (gemiddeld);
Vergeet niet om commentaar deze uit en opnieuw laden de SCHETS met de seriële MONITOR af alvorens aanpassingen. Onder de seriële monitor over vertraagt het hele programma dramatisch.
1a3. open de seriële monitor (drie manieren waarop u kunt dat doen - in de Arduino interface klikt u op het pictogram van het vergrootglas in de rechter bovenhoek, of selecteer Extra op de menubalk en vervolgens seriële Monitor, of Ctrl + Shift + M).
1A4. uploaden van de schets aan de Arduino en u moeten zien scrollen op de seriële monitor nummers
HINT: De seriële monitor niet veel helpen als de nummers zijn scrollen door zo snel dat kan je echt niet vertellen wat er gebeurt. Dat is wanneer het selectievakje "Auto Scroll" (lagere linkerhoek op seriële monitor) wordt uw vriend. Vink dit vak om te stoppen met het scherm schuiven als nieuwe gegevens komt in en u dan handmatig te door de aantallen voor een betere uitstraling scrollen kunt. "Auto Scroll" weer inschakelen als u terugkeren naar de meest recente gegevens komen wilt in.
Wat voor soort getallen bent u het zien?
Verandert de waarde wanneer geluid wordt gedetecteerd?
Ja - welke waarden zijn u zien? Wanneer geluid wordt gedetecteerd, is er enkel een hoog nummer en een laag getal of zijn er bepaalde waarden in-between dat hoge en lage aantal? U moet uitschakelen Auto Scroll en doorloopt de nummers om te controleren of dit een back-up.
Nee - de waarde niet verandert. Probeer af te spelen met de POT op de correcte sensor, langzaam draaien tijdens het kijken naar de waarde op de seriële monitor. Kun je de waarde nu wijzigen?
Voor zowel ja en Nee boven - spelen met de POT op de correcte sensor. U kunt vinden een "sweet spot" - waar de waarde wijzigd zodra het geluid wordt gedetecteerd
Bottom line is dat het hele project hangt af van deze waarde; of nauwkeuriger het die waarde wijzigen op een voorspelbare wijze afhankelijk is.
Dus als de waarde alleen schakelt tussen hoog of laag, maar je nooit zien iets anders dan dat, ik proberen spelen met de waarde van de condensator die moest in lijn is met het signaal uit.
De nummers die je ziet liggen de waarden in het bereik voor de verklaringen van de ledsON als de waarde verandert? Zo niet die verklaringen wellicht aanpassen. Als de waarden nauwe zijn, schakelt u de seriële monitor uit en proberen spelen met de POT op de sensor terwijl er muziek speelt. Die POT langzaam draaien en stoppen van de tweede die iets anders gebeurt er met de LED's. Nu, een beetje druk uitoefenen op de POT, in de richting u waar draaien, om te zien wat gebeurt. U niet wilt "turn" de POT op dit punt, je wil het een beetje te verschuiven. Dit is waar je echt goede vrienden met die POT te worden (het zal proberen te houden van uw vijand maar u wilt de grotere persoon en tonen van geduld en begrip. De POT zal uiteindelijk breken en wilt uw vriend).
2: LEDs reageren, maar ze gewoon flikkeren
Aanpassen van het aantal keren dat de verklaringen van de "ON" worden gelezen. En in dit geval, waar ze zijn allemaal op maar flikkeren, lager het nummer. Het getal dat u wilt wijzigen is in de instructie "als" onder de "CheckCount:" label;
Als (graaf > 1100) goto ledsOFF; 1100 is het nummer om mee te spelen
Verhogen van dit nummer wordt de verklaringen van de "ON" worden vaker gelezen voordat alle LEDs zijn uitgeschakeld. Dit resulteert in meer LEDs ON langer te blijven. Op hoog een aantal al en de LEDs zal worden gedraaid op zo vaak ze lijken altijd op.
Het verlagen van deze nummer oorzaken de verklaringen van de "ON" gelezen te worden voor de LED's kleiner zijn uitgeschakeld. Dit resulteert in minder LEDs wordt ingeschakeld en ze sneller zijn uitgeschakeld.
Tip: Om de nummer start met grote veranderingen en smalle het omlaag als u gaan. Bijvoorbeeld, als u het veranderen van 1100 tot 500 en u niet bevalt, probeer 900. Als dat een beetje beter u heb verengd het tot ergens tussen 500 en 900, blijven gaan totdat u het nummer dat u het beste lijkt.