Mijn eerste projectje loopt wat vast.

Hej Arduino fanaten.

Ikzelf ben enkele weken geleden begonnen met een klein projectje maar zit nu al enkele dagen vast. Vandaar dat ik mij eens heb aangemeld op dit forum.

Wat moet mijn project voorstellen?

Ik probeer een aftikker te maken. Ik heb een soort rolband gemaakt waar een worst op zal voorbij komen. Wanneer de worst voorbij de sensor komt moet deze afgetikt worden doormiddel van een Linear actuator. Op dit moment heb ik nog geen idee met wat voor sensor ik ga werken ( tips mogen altijd ) dus heb gekozen voor een simpele drukknop. Wanneer ik op de drukknop klik moet de linear actuator tegen max snelheid volledig uitschuiven. Is het eindpunt bereikt moet de linear actuator direct terugkomen tegen max snelheid.

Heb ook eens uitgetekend wat het eind project moet worden. Beelden geven vaak een beter idee dan platte tekst.

De schakeling:

Heb mijn hoofd eens gebroken op mijn schakeling zelf. Dit is wat ik er van kan maken met heel wat info op te zoeken en youtube af te speuren.

PS: De drukknop is niet met een weerstand van 220Ω, maar met 1tje van 10kΩ.

De code:

Deze code heb ik geschreven. Echter werkt ze niet zoals ze zou moeten.

int inpin=5;               // button that activated the linear actuator
int Extend = 10;       // connect to L298N Pin in1
int Retrack=9;         // connect to L298N Pin in2
int val;                       // defines ,,val''

void setup() 
{
pinMode (Extend, OUTPUT);
pinMode (Retract, OUTPUT);
pinMode(inpin,INPUT); 
digitalWrite(Extend, LOW);
digitalWrite(Retract, LOW);
}

void loop() {
if(digitalRead(inpin)==LOW) {
       digitalWrite(Retract, HIGH);
       digitalWrite(Extend, LOW);
}
if(digitalRead(inpin)==HIGH) {
       digitalWrite(Retract, LOW);
       digitalWrite(Extend, HIGH);
}
delay(10);
}

Probleem:

Alles wat ik hierboven heb gemaakt is zelf geschreven. Echter loopt het dus vast. Waar ik ook niet 100% uit ben is waarom net ik in1 en in2 moet gebruiken van de L298N motor board. Heb deze genomen om de movement snelheid in te stellen (100%) maar komt niet voor in mijn code. Denk als je hiervan niets instelt je altijd op 100% snelheid werkt?

Nog misschien een klein vraagje. Mijn in1 tot in4 van de motor board zijn pinnetjes waar je geen kabel kan insteken. Heb je hiervoor speciale kabels die je over de pinnetjes kan schuiven? Zoja, heeft iemand een idee hoe deze connectors heten?

Iemand die mij wat tips kan geven om mijn projectje in orde te krijgen? Alvast bedankt !

Kun je wat meer vertellen ?
Wat loopt er vast ?

Kun je links geven (bij voorkeur naar waar je het hebt gekocht) van de linear actuator en de L298N module ? Wat voor accu is het ? Welk Arduino board gebruik je ?

Het is beter om eerst de verschillende dingen gescheiden te testen.
Kun je een test doen die de knop leest en naar de seriële monitor stuurt ? Ik heb altijd problemen met het aansluiten van die drukknopjes. Tegenwoordig gebruik ik twee pinnen die schuin tegenover elkaar liggen.
Kun je daarna een test doen met de linear actuator, bijvoorbeeld met een delay er tussen.

ipv drukknop een timer gebruiken of delay.
Wat is de snelheid vd loopband?

Hej mannen.

Eerst en vooral bedankt voor het antwoord !

Dit is wat gekocht is geweest:

  • Heb een Arduino UNO R3 bord gekocht.
  • Gewone Linear actuator die werkt op 12V. ( getest me de accu, werkt perfect )
  • L298N board. Niks speciaal aan.
  • 12V accu van de boot.

Die drukknopjes zitten inderdaad vrij raar in elkaar. Wil eigenlijk kijken naar een sensor, maar ben er nog niet aan uit welke geschikt is.

Wat er mis loopt: Heb de code proberen uploaden, maar daar geeft hij al fouten. Foutcode die ik krijg:

exit status 1
'Retract' was not declared in this scope

Heb de code zo goed mogelijk proberen samenstellen, maar verder als dit lukt voor het moment nog niet. Zie niet direct wat hier fout mee loopt.

@Gbaars:

Met een timer ben ik niets. Heb een soort sensor nodig. Er is geen vaste snelheid van de rolband, wordt aangestuurd door mijn deegspuit. Naar gelang het deeg verder op geraakt zal hij ook sneller werken. Moet dus werken met een soort sensor wanneer hij op punt 2 passeert moet de linear actuator zijn werk doen.

PS: Moest er iemand ervaring hebben met een simpele sensor die perfect zijn werk doet voor mijn project, laat het gerust weten.

De variabel int Retrack=9; // connect to L298N Pin in2
is niet hetzelfde als bijvoorbeelddigitalWrite(Retract, HIGH);
want Retract heb je niet gedeclareerd.

Er bestaan geen gewone linear actuators. Een servo signaal zou gewoon kunnen zijn, maar andere manieren zijn ook gewoon. Een stroom van een paar honderd milliampère is gewoon, maar 10 Ampère is ook gewoon.

Lees alvast dit eens door: Servo - Arduino Reference

Hej Michtl,

Eerst even over je sketch: je definieert
int Retrack=9; // connect to L298N Pin in2

maar in je sketch staat de instructie:
pinMode (Retract, OUTPUT);

kwestie van de letter 't' aan het eind! De compiler vindt dat niet leuk --> foutmelding 'not declared'

Dan de sensor die de worst voorbij ziet komen: kan van alles zijn:

  • hete worst: temperatuursensor
  • massa worst: lichtstraaltje of laserstraaltje dat onderbroken wordt
  • zware worst: gewichtsensor of microswitch
  • natte worst: (snelle) vochtigheidsensor
  • bewegende worst: Doppler radar sensor RCWL0516

Ik weet niet of je die 12V actuator in beweging kan krijgen met (Retract, HIGH).
Arduino's zijn 5V met maar iets van maximaal 40 mA. Kan wel eens te weinig power zijn. In dat geval moet je je actuator met een relais besturen.

Succes, Photoncatcher

de ingang bounced een paar keer dus zet daar eerst maar even een delay in om te testen en daarna een constructie maken met een timer (millis().
als sensor zou ik een lichtsensor gebruiken, en wellicht kun je de snelheid van de uitvoer beter in de hand houden als je er een stappenmotor onder zet. Dan kun je dus elk snoepje apart hakken

Hej mannen.

Eerst en vooral nogmaals bedankt voor alle info. Zoals hier al wat wordt gemeld heb ik inderdaad ontdekt dat ik een schrijffout in mijn codes had gestoken. Met het gedeelte "retract" aan te passen heb ik mijn projectje toch al werkend gekregen. Heb speciaal voor jullie een video online gezet.

Link filmpje

Nu nog 2 stukjes aanpassen zodat hij alles doet wat ik wens en dat zijn:

1: Keuze maken voor een sensor. Ben hier nog naar aan het kijken. IR sensor lijkt mij het meest interessante.
2: Heb de code goed gezet dat de linear actuator standaard naar binnen staat en dat wanneer je op de drukknop klikt hij naar buiten gaat. Echter wanneer je nu stopt met klikken gaat de linear actuator direct terug. In feite moet het worden dat wanneer er een klik is geweest op de linear actuator hij vervolgens volledig naar buiten gaat en daarna direct terug gaat i.p.v. direct terug gaan wanneer er niet meer op de drukknop wordt geklikt.

Alvast hartelijk bedankt voor alle info mannen !!

Leuk om te zien :smiley:
Met een knop kun je kijken naar de "status" of een knop is ingedrukt of niet.
Je kunt ook kijken naar het moment dat een knop wordt ingedrukt of losgelaten.

Begin alvast om de State Change Detection te lezen: https://www.arduino.cc/en/Tutorial/BuiltInExamples/StateChangeDetection

Aha super, daar kan ik inderdaad mee verder. Heb die state cahnge detection nodig voor mijn projectje, dus eens wat spelen met de codes. Updates zal ik binnenkort posten. Alvast hartelijk bedankt !!