Vraag: H-bridge L298N druk knop ga links druk knop ga rechts.

Goedendag,

Ik ben nieuw hier en ik zie dat het een ontzettend groot forum is. Ik zoek mij echt een ongeluk in dit forum en google maar ik kan niet precies vinden wat ik wil. Kan iemand mij helpen? Ik zou ontzettend dankbaar zijn!

Ik wil het volgende:

Je hebt een UNO en een H-Brigde L298N.
Daar sluit je een motor op aan die dmv polariteit wisselen links of rechtsom draait.

Ik stel mij dan voor dat er 1 of 2 schakelaars bij komen die de draairichting bepalen.

Ik wil heel graag het volgende::

Met 2 of 1 microschakelaars wil ik dat als deze schakelaar even word aangeklikt dat de motor continu de ene kant op draait, dus je drukt de schakelaar in, deze meteen weer los. De Motor moet dan blijven draaien.

Druk je dan weer op die schakelaar dan wil ik dat hij de andere kant op draait.

Van mij mag het ook met 2 schakelaars, dat maakt niet uit.

Dus ik wil niet dat ik de schakelaar ingedrukt moet houden om de motor te laten draaien.

Dus "klik 1 keer de schakelaar, draai continu rechts, druk je weer de schakelaar, draai links.
Of 1 schakelaar voor rechts en links.

Ik kan tot nu toe alleen maar schakelingen vinden waar je de knop ingedrukt moet houden.

Met een verwijzing naar een "How Too" ben ik ook blij, ik moet mijn weg nog vinden hahaha. Soms doet het intypen van de juiste woorden, wonderen. Maar die heb ik wat dit aangaande nog niet gevonden.

Ik hoop dat iemand mij tips kan geven!

Het is voor een robot, de T800 van de Terminator van Sideshow. Ik wil het hoofd van dit beeld aansturen, zodat hij naar links en rechts gaat bewegen. Als het gelukt is stuur ik zeker een filmpje :smiley:

Deze staat in mijn woonkamer, 2 meter hoog :smiley:

Zie plaatje...

Je zult in elk geval drie knoppen nodig hebben, anders is het ding niet meer te stoppen. :wink:

3 buttons aan 3 pins van de Uno, allen met pinMode INPUT_PULLUP. Elke knop verandert dmv. digitalRead() de waarde van een variabele (bv. "status"). Daar zou je in een enum voor kunnen gebruiken, met namen als LINKS, RECHTS en STOP.
Daarna met een switch/case de status checken, en afhankelijk van de waarde de juiste motor(en) aan- of uitschakelen.

Dan heb je meteen een constructie die zich goed voor uitbreiding leent. Dat zie ik namelijk wel aankomen, met een dergelijk project... :wink:

PS.: Hoeveel ervaring heb je met Arduino's en C++?

Leuk speeltje.
Er zijn veel voorbeeldjes te vinden voor een antwoord op je vraag.(Toggle switch)

Probeer het dus zelf ook maar eerst met Led's.
Ik denk dat je vraag wat verkeerd gesteld is,
Als je het hoofd contnue naar bijvoorbeeld 1-richting uit wil laten draaien,
dan kom je in het scenario van de exorcist.
Dat zal wel de bedoeling niet zijn,het hoofd met RPM toeren laten draaien.
Welk motortje wil je sturen?
-een gewoon dc motortje (met eind loop switchen)
-een servo motor
-een stappen motor
Afhankelijk van het soort motortje is de sturing anders.
In het eerste geval,een paar switchen om de hoek van het hoofd in te stellen of getimed.
Tweede geval,servo lib etc...,om de gewenste hoek te bekomen.
Derde geval,step driver etc...

Hahaha The exorsist. Ja logisch dat je dat denkt.

Super bedankt voor de reacties :smiley:

Het is een beetje moeilijk uit te leggen wat ik precies van plan ben.

Ik heb een vrij sterke motor welke ik in een box die ik zelf maak achter het beeld wil zetten.
Vanuit die box komt dan een staaf. En met touwtjes wil ik dan het hoofd draaien. Ik wil absoluut niet dat ik iets aan het hoofd moet veranderen, daar de waarde dan enorm omlaag gaat.

Ik ben dan van plan om op de stok een soort driehoekje te maken. Draai de motor naar rechts dan zal dat driehoekje op een gegeven moment S2 aanraken. Dan wil ik dus hij omschakelt.
Zie het plaatje wat ik net gemaakt heb :smiley:

Ik hoop dat jullie het een beetje snappen.

Ik ben nog heel erg nieuw qua arduino. Heb nu wel een testopstelling gemaakt waarbij de motor een aantal seconden links draait, stopt en dan een aantal seconden rechts draait, etc.

Ik heb daar dit schema en code voor gebruikt.

Het stukje van Code 2.

Ik wil dus graag ipv tijd dat schakelaartjes die maar even aangeraakt worden de richting steeds omdraaien.

Ik had gehoopt dat iemand mij een compleet aansluitschema en code zou kunnen geven hahaha.

Als ik de code eenmaal heb, dan kan ik experimenteren dacht ik.

Nu dacht ik dus dat een stop knop niet nodig zou moeten zijn. Het moet straks volledig automatisch gaan.

Dus stroom er op, dan heen en weer draaien, stroom er af... dan stoppen.

Tsja het wordt namelijk nog gekker, ik wil dat geheel weer aansluiten op een filpperkast waar ik in kan stellen dat bijvoorbeeld bij een jackpot er 220V word geschakeld.

Het beeld staat naast die Flipperkast (ook Terminator 2) en dus als ik een jackpot haal dan wil ik dat het hoofd gaat draaien hahahaha.

Maar ja ik maak het denk ik iets te ingewikkeld nu.

Jou reactie Erik Baas... dank, maar ik ben nog een beetje een newby, ik snap er niet veel van wat je zegt.

Ik ben wel zeer leergierig dus ik vermoed dat ik hier wel vaker zal zijn met allerlei projectjes, straks.

Ik wil graag een handje zeg maar, op dit moment :smiley:

Maar ik snap ook dat niet iedereen dat wil, zoek het zelf maar uit... Dan ga ik nog meer googlen.. Maar ben al wat uren aan het zoeken. Steeds net niet de juiste opstelling. Of gebruikt men een andere H-bridge.

Sorry voor het kladje maar ik hoop dat het duidelijk is waarom ik niet perse een stop knop nodig heb :D.

Naamloos.jpg

Naamloos.jpg

De spullen heb ik dus al..

Ik heb alles om een opstelling te maken. Het is alleen nog aansluiten en code....

Hoe moet ik het aansluiten en wie heeft er een code voor :smiley:

Wel belangrijk om nog te vertellen hahaha.

int in1 = 9; //Declaring the pins where in1 in2 from the driver are wired 
int in2 = 8; //here they are wired with D9 and D8 from Arduino
int ConA = A0; //And we add the pin to control the speed after we remove its jumper 
               //Make sure it's connected to a pin that can deliver a PWM signal
void setup() {
  pinMode(in1, OUTPUT); //Declaring the pin modes, obviously they're outputs
  pinMode(in2, OUTPUT);
  pinMode(ConA, OUTPUT);
}
//Before starting the loop you should create functions type "void" to control the driver's pins
//here I created three functions, the first one is to turn the motor to a direction with speed(100)
//The second one to turn it off
//And the last one to turn it in the same direction as the first but higher speed(250)
//Speed range (0-255)
void TurnMotorA(){
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
  analogWrite(ConA,100);
}
void TurnOFFA(){
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  analogWrite(ConA,0);
}
void TurnMotorA2(){
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
  analogWrite(ConA,250);
}
void loop() {
while (DigitalRead(2)) // meaning when switch on input is active it will do motor in CW
{ TurnMotorA();  //Sequence: turning on low speed, stop, turning again in high speed and stop
}
  TurnOFFA();
  delay(2000);
while (digitalRead(3)) // meaning input 3 is active  TurnMotorA2();
{  TurnMotorA2();
}
  TurnOFFA();
  delay(2000);
}
However maybe a simple windscreen wiper on the stok is better and simpler

ofwel while de knop is niet aan draaien tot de knop bedient wordt, dan de asndere kant op tot andere schakelaar bedient wordt. Als de schakelaars met input _pullup zijn dus naar gnd schakelen dan moet je een NIET ofwel een ! voor de digitalread zetten.

maak eerst maar eens een schema van wat je wilt, het is ook mogelijk met vertragen en versnellen zoals een oude windschermmotor dat doet in een soort sinus vorm.

Ik heb het voor elkaar :smiley:

Eerst heb ik deze video gekeken...

En het zo aangesloten zoals hij het beschrijft.

Daarna ben ik naar deze pagina gegaan:

https://robojax.com/learn/arduino/?vid=robojax_L298N_DC_2_push_buttons

En hier toch een betere oplossing. Zoals jullie eigenlijk ook al aan gaven.

Met een start en stop button.

Omdat ik alleen 220v kan schakelen bij de flipperkast bij bijvoorbeeld een jackpot. Ga ik een 220 relais gebruiken. Dan word de motor ingeschakeld.

Super dank voor de reacties :D.

Alleen vaag... hij deed het perfect zoals ik wilde maar ineens werkt het niet meer.
Zal ik de L298N hebben opgeblazen?
Nou ja heb maar even een nieuw setje besteld. Komt altijd wel van pas.

Nou ja heb het brugje weg gehaald op de L298N en dan 3e punt bij de voeding aangesloten op de 5 v van de uno. Nu werkt het weer. Denk dat mijn 12v voeding niet echt 100% stabiel is.
Nou ja ben blij, heel blij! Nu een box gaan maken e.d.

Ik weet niet welke 5 volt je hebt genomen, maar je Arduino kan geen motor voeden.
Dus als je dat nu doet, zal dat ook erg snel voorbij zijn.