Hallo allemaal ;
Zelf studie valt tegen:
Ik probeer een soort bowling programma te maken.Maar het wil maar niet lukken en een goede uitlezing van mijn reed contacten te krijgen.Ik heb al van alles geprobeerd zoals uiteraard na het lezen van de instructies heb ik geprobeerd met debounce en zonder met bounce.h en bounce2.h switch.h debounce.h maar niets helpt. Als ik op BUTTON_PIN_11 druk moet hij naar void omvallen() gaan dit gaat goed dan controleerd hij de uitlezing van button 1 tot 10 op zich gaat dit ook goed maar er vallen bijna iedere keer 1 of meerdere buttons (HIGH) ("reed contacten") als ik op BUTTON_PIN_11 druk. WAAROM ???
Het gaat hier om een mega 2560 met 10 reed contacten 2 drukknoppen of bluetooth en 10 leds en 3 relays voor motor links/rechts.Moet ik een extra voeding toepassen ? Of 5v 1a genoeg?
Bestand bijgevoegd.
debouncer1.update();
int value1 = debouncer1.read();
if (value1 == LOW && g1 == 0){
Serial.println ("***rc1**1*");
Serial.println (" ******");
Serial.print (value1);
Serial.println (" ******");
debouncer1.update();
int value1 = debouncer1.read();
g1=1;
}
if (value1 == HIGH && g1 == 1){
Serial.println ("***rc1**2*");
Serial.println (" ******");
Serial.print (value1);
Serial.println (" ******");
g1=4;
Ik heb geen idee hoe je al die dingen hebt aangesloten, maar wel dat het daarmee te maken heeft.
De relais kunnen en zullen stoorpulsen maken als je ze gebruikt.
Als je wat langere draden hebt, dan worden dat antennes voor zulke stoorsignalen.
Je kunt die stoorsignalen wel onderdrukken, maar je moet over het algemeen een aantal zaken in acht nemen om te voorkomen dat ze (die stoorpulsen) ontstaan, en als ze ontstaan, dat je er dan goed mee omgaat.
Ik heb je code niet gelezen, want het is nu iets te laat.
Net een uurtje thuis van een dag lang drukte, dan word het concentreren een beetje lastig en ga ik mogelijk de vraag niet goed lezen en/of begrijpen, en daarbij passend beantwoorden.
Ik gebruik drie relay borden (5v) (standaard bordje)van acht stuks dit moet nog veranderen maar voor test moet het toch voldoen denk ik. De sensors hebt ik met een flatkabel kabel aangesloten via een breadbord deze is ongeveer 30 a 40 cm lang de leds zitten wat verder weg 1,5 meter ook flatkabel ik heb deze nu ook via relays om makkelijker te zien wat er gebeurt. Ik ben bang dat de verbinding tussen de mega en het breadbord en flatkabel niet echt uitmuntend zijn.Ik wil het wel solderen maar wil het eerst zien werken.Ik hoop dat dat toch mogelijk is.Wel zo leuk.
Net thuis slaap lekker!
allereerst in stukken opdelen.
dus een hulpprogramma schrijven dat je alle reedrelais op de serieel monitor hebt. dan kun je zien of dat goed gaat.
die reedrelais via input_pullup aan een pin hangen en de andere kant aan de Gnd. (dan zit er niks vreemds tussen.
de relaisbordjes zijn bekende probleemmakers, want de voeding daarvan moet goed aangesloten worden en niet via de mega lopen maar recht van de voeding.
als de motor ook op die zelfde voeding staat dan zal het niet goed gaan, die motor trekt heel even makkelijk 1 amp als deze start.
dus ja aparte voeding voor de MEGA is zeker een goed ding.
software:
ik zie overal buttonpin writes staan die moeten allemaal weg. want dat zijn ingangen
een keer in de setup pullup is genoeg.
haal al die debounce shit ook weg, want je hoeft alleen maar te kijken of de reed aan is of uit, en ga dan verder.
je trigger komt van de bal af, en daar wacht je toch al.
kijk eens hoe een array werkt, dat scheelt enorm dadelijk in je programma want dan kun je alle 10 pinnen door hetzelfde programma laten gaan.
bool pinarray[10]
bool gevallenarray[10]
etc.
ik heb nog niet je hele programma doorgeworsteld, kom maar terug als je een slag gemaakt hebt.
en maak een schema in fritzing bijv.