led blijft knipperen

hallo iedereen,

heb een vraagje ivm mijn vorige topic nl

heb ondertussen gebruik gemaakt van een piezo, en deze werkt goed tot op een bepaald moment
de piezo's het niet meer doen en de led's blijven knipperen.
ook na het resetten of programma opnieuw te instaleren op de uno krijg ik na enige tijd weer het zelfde probleem.

misschien iets met het programma?

graag jullie deskundige hulp aub

grt frank

[code ]
 const int sensorPin1 = A0;
const int sensorPin2 = A1;
const int ledPin1 = 13;
const int ledPin2 = 12;
const int threshold1 = 100;
const int threshold2 = 100;
const int knockSensor1 = A0; // the piezo1 is connected to analog pin 0
const int knockSensor2 = A1; // the piezo2 is connected to analog pin 1       
int sensorReading1 = 0; // variable to store the value read from the sensor pin
int sensorReading2 = 0; // variable to store the value read from the sensor pin
int ledState1 = LOW; // variable used to store the last LED status, to toggle the light
int ledState2 = LOW; // variable used to store the last LED status, to toggle the light
         
 void setup()
 {
 pinMode(ledPin1, OUTPUT);
 pinMode(sensorPin1, INPUT);
 pinMode(ledPin2, OUTPUT);
 pinMode(sensorPin2, INPUT);
 }

 void loop()
 {
 int val= analogRead(sensorPin1);
 if (val >= threshold1)
 {
 digitalWrite(ledPin1, HIGH);
 delay(1000);
 digitalWrite(ledPin1, LOW);
 }
 else 
 digitalWrite(ledPin1, LOW);

 int val1= analogRead(sensorPin2);
 if (val1 >= threshold2)
 {
 digitalWrite(ledPin2, HIGH);
 delay(1000);
 digitalWrite(ledPin2, LOW);
 }
 else 
 digitalWrite(ledPin2, LOW);
 }

Beste Frank.

Als je vraag over je vorige vraag gaat, waarom stel je die nieuwe vraag dan niet in dat onderwerp ? Ik weet niet meer wat jouw vorige vraag precies was, en ik vind ook niet dat ik dan moet gaan uitzoeken welke vragen je in het verleden hebt gesteld, en of ie dan misschien daar over zou gaan.

Er is iets mis gegaan bij het maken van deze vraag. Je hebt wel [code] gebruikt, maar geen [/code], en de [code] staat helemaal boven aan. Daardoor word je hele vraag als code weergegeven en is het lezen ervan heel lastig.

Je vraag en de code passen volgens mij niet helemaal bij elkaar. Je hebt wat code geplaatst die twee keer iets met een ledPin doet, afhankelijk van de uitgelezen waarde van een analoge ingang. Eerst knippert de ene als de analoge waarde binnen de gezette grens is, en als die klaar is met 1 keer knipperen doet de andere dat ook 1 keer, waarna er weer opnieuw begonnen word.

Je gebruikt ledPin1 en sensorPin1, en ook ledPin2 en sensorPin2, maar val en val1. Dat zal vast werken, maar is niet de slimste manier om met variabelen om te gaan. Als je hulp gaat inroepen, dan is het ook beter om nog duidelijker namen voor die variabelen te gebruiken (eigenlijk gewoon altijd, want weet jij over anderhalf jaar nog wat hier de bedoeling van was ?).

Geen idee waar de piezo is gebleven en wat dat ding moet doen. Gebruik je de piezo via de analoge poort om te reageren op een aanraking ofzo ? Ik weet het niet, want jij hebt er niets over verteld. Maar als ik ga gokken en je inderdaad de piezo als ingang gebruikt, dan is waarschijnlijk de code niet het probleem. Een piezo is vergelijkbaar met een aantal andere componenten, waaronder met een condensator. En een condensator moet je voor bepaalde toepassingen ontladen. Hoe ontlaad jij je piezo (als je daadwerkelijk doet wat ik hier met een hele partij aannames vermoed) ? Hoe weet jij, zonder naar het knipperen te kijken, wat de binnenkomende waarde op de analoge pinnen is ?

meestal gebruik ik voorbeelden die ik op het internet opzoek en pas deze na soms lang zoeken aan tot het werkt. hier in dit geval verwijs ik naar men vorig topic, maar met een ander manier van een signaal geven. t'is namelijk zo dat het aanraakvlak nogal gevoelig moet zijn, en heb al aan verschillende systemen gedacht (piezo, sleepcontact) maar bij het sleepcontact moet de kracht nogal hoog zijn en de piezo daar heb ik het probleem net uitgelegd. Het enige waar ik nu nog aan denk is een trilsensor.

Bedoeling van mijn schakeling Ik heb een vlak van 10x10 die volledig gevoelig moet zijn, dus waar in het vlak ik een lichte druk geef wil ik een signaal(led) die voor bepaalde tijd blijf branden. nu is de vraag hoe??????

Mijn huidige oplossing,systeem knock sensor met led

grt frank

Dat betekent dus dat mijn vermoeden juist was. Ik kan je alleen maar vertellen dat je mee moet kijken met de Arduino, dus wat die ziet binnen komen.

Want ik denk dat jouw Arduino uit het signaal aan de analoge ingangen de conclusie trekt dat er geknipperd moet worden. Aangezien jij geknipper ziet, en je dat ook zo geprogrammeerd hebt, moet dat juist zijn. Maar jij zegt dat dat niet correct is, dus moet je meer gaan doen dan het programma dat je gekopieerd hebt geloven 'op diens blauwe ogen'.

Ik zou zelf een displaytje aansluiten en daarop de waarde van de analoge ingangen laten zien. Want ik heb hier een aardige voorraad displaytjes liggen om mee te spelen. Maar als jij dat niet hebt, dan kun je ook de waardes via de seriële poort doorsturen naar je PC, en op je PC met de IDE naar de seriële monitor kijken en meespieken met de Arduino. Moet je dan wel even zo programmeren natuurlijk.

Heb je het gehele antwoord hierboven gelezen, en ook begrepen ? Want je hebt niet alle door mij aangehaalde punten besproken in jouw antwoord. Dus als je nog meer vragen hebt of ik iets niet duidelijk genoeg heb uitgelegd, wel even om vragen dan. Anders ga ik er van uit dat je er verder geen hulp bij nodig hebt.

dag iedereen,

denk de oplossing zelf te hebben gevonden, nl de batterijspanning was wat aan de lage kant(6V) via usb het probleem niet gehad, en nieuwe batterij is het opgelost.

grt frank