Arduino camera en flitser aansturing

Projecten die niet passen in bovenstaande onderwerpen
Berichten: 9
Geregistreerd: 14 Dec 2014, 21:42

Arduino camera en flitser aansturing

Berichtdoor kiezel » 14 Dec 2014, 22:05

Hoi,

Voor een hobbyprojectje waarmee ik uiteindelijk een camera en flitser wil bedienen ben ik begonnen met het aansturen van twee LED's. De bedoeling is dat de eerste LED aangaat (cameraPin), even later de tweede LED aangaat (flashPin) en weer uitgaat, en dat daarna de eerste LED weer uitgaat. Hiervoor heb ik de onderstaande code geschreven. Het werkt echter niet zoals bedoeld, alleen de eerste LED en het ledje op het bordje(???) branden. De eerste LED brandt op volle sterkte en als hij "low" gaat brandt hij even op halve kracht.

De LED's zijn aangesloten met een 220R op een breadboard. De commonrail is verbonden met GND op mijn Funduino MEGA 2560 bord. Voeding van de Funduino via USB en mijn pc.

Mijn (beginners) vraag, wat doe ik fout, welke loop of functie oplossing zou ik kunnen gebruiken om dit stukje werkend te krijgen?

Advies en oplossingsrichtingen zijn van harte welkom :-)
Bedankt voor het meedenken!

Code: Alles selecteren
/*
camera open, led aan
   flitser gaat af
camera dicht, led uit
*/

// Initialisatie van de pinnen
const int cameraPin = 20;    // stuurt de camera aan
const int flashPin = 19;    // stuurt de flitser aan
void setup ()
{
pinMode(cameraPin, OUTPUT);
pinMode(flashPin, OUTPUT);   // geeft de flitspuls weer
}
void loop () {
digitalWrite (cameraPin, HIGH);
delay(100);
   digitalWrite (flashPin, HIGH);
   delay(100);
   digitalWrite (flashPin, LOW);
   delay(100);
digitalWrite (cameraPin, LOW);
}

Advertisement

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Arduino camera en flitser aansturing

Berichtdoor nicoverduin » 15 Dec 2014, 00:45

Aan je code op zich mankeert niets. Heb je de LEDS niet verkeerd om aangesloten? De anode moet aan de weerstand die weer aan de datapin zit. De kathode aan de GND.
Dat de vaste led brand komt omdat hij nu nog als ingang is gedefinieerd en daarna via aan opamp de LED aanstuurt. Die ingang zweeft en kan als zodanig branden. Als je zeker wilt zijn van die poort, moet je hem ff als output zetten en dan als LOW zetten. Dan is hij zeker uit.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 4079
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Arduino camera en flitser aansturing

Berichtdoor shooter » 15 Dec 2014, 11:14

zet onderaan de loop ook een delay van 5000 dan gaat het allemaal wat langzamer.
paul deelen
shooter@home.nl

Berichten: 9
Geregistreerd: 14 Dec 2014, 21:42

Re: Arduino camera en flitser aansturing

Berichtdoor kiezel » 15 Dec 2014, 20:50

Ha, bedankt voor jullie input!
Er zat inderdaad 1 led verkeerd om (ondanks een lange poot toch de kathode, vlakke kant was niet duidelijk).
En de delay(5000) aan het eind maakt het geheel lekker duidelijk.
De boardLed heb ik netjes uitgekregen. Hieronder de aangepaste code en op naar de volgende stap(pen), aansturing (simulatie) van een solenoid, een 1602 lcd display aansluiten en een menu opmaken voor het invoeren van parameters. Genoeg te ontdekken en te leren dus.

Code: Alles selecteren
/*
camera open, led aan
   flitser gaat af
camera dicht, led uit
*/

// Initialisatie van de pinnen
const int boardPin = 13;  // onboard led
const int cameraPin = 20;    // stuurt de camera aan
const int flashPin = 19;    // stuurt de flitser aan
void setup ()
{
pinMode(boardPin, OUTPUT);
pinMode(cameraPin, OUTPUT);
pinMode(flashPin, OUTPUT);   // geeft de flitspuls weer
}
void loop () {
digitalWrite (boardPin, LOW); // onboard led uitzetten
digitalWrite (cameraPin, HIGH);
delay(100);
   digitalWrite (flashPin, HIGH);
   delay(100);
   digitalWrite (flashPin, LOW);
   delay(100);
digitalWrite (cameraPin, LOW);
  delay(5000);
}

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Arduino camera en flitser aansturing

Berichtdoor nicoverduin » 15 Dec 2014, 21:27

Ik denk dat je er beter aan doet om geen relais te gebruiken maar juist met mosfets te gaan werken. Ik denk dat de aantrek snelheid van de relais c.q. solenoid te traag is.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 9
Geregistreerd: 14 Dec 2014, 21:42

Re: Arduino camera en flitser aansturing

Berichtdoor kiezel » 15 Dec 2014, 21:40

Ja, het plan is inderdaad om met Mosfets te gaan werken. De solenoids (uiteindelijk drie) moeten kort en tijdig aangestuurd worden. En waarschijnlijk worden er twee flitsers aangestuurd. Alle externe dingen (camera, flitsers, solenoids) worden met optocouplers gescheiden van de arduino.

Voor het goed instellen wil ik de data (druppelgrootte, tussentijd druppels) per solenoid invoeren via een menu - dat wordt gepresenteerd op de display - en plaatsen in een array, of array per solenoid.

Ik kom vast weer terug op het forum met nieuwe vragen ;)

Groet, Kiezel 8-)

Berichten: 9
Geregistreerd: 14 Dec 2014, 21:42

Re: Arduino camera en flitser aansturing

Berichtdoor kiezel » 05 Jan 2015, 21:57

Hoi, de beste wensen voor 2015 en een vraag.
Afgelopen tijd weer wat gelegenheid gehad om te experimenteren (en te lezen). Delay blijkt bij nader inzien toch niet de meest efficiente methode om zaken te regelen, zeker als de arduino nog andere dingen tegelijkertijd moet kunnen uitvoeren. Daarom probeer ik een tellertje te maken met een for loop en het gebruik van millis(). Helaas zit er ergens een spijkerharde denkfout die ik er niet uit krijg - het tellertje heeft geen invloed op het brandende ledje?!

Wat doe ik fout in onderstaande code? De bedoeling is: led 1 aan, even wachten, led 2 aan, led 2 uit, led 1 uit.
Het effect is echter: led1+2 aan, led 2 uit. led 1 uit.

Om onderscheid te kunnen maken heb ik voor het aanzetten de for lus gebruikt en voor het uitzetten de beproefde methode met delay. Oja, als ik de waardes verander bij led1 en led2 dan heeft dat geen invloed.

Opmerkingen en ideeën zijn welkom!

Kiezel 8-)

Code: Alles selecteren
/*
twee knipperende ledjes, elk met hun eigen variabele. Gebruik van twee tellertjes.
Lange teller en een korte teller. De korte teller begint later en eindigt eerder dan de lange teller.
*/

unsigned long tellerLed1 = 0;
unsigned long tellerLed2 = 0;
unsigned long Led1 = 10000;
unsigned long Led2 = 6000;
const int ledPin1 = 18; // lange led brandduur
const int ledPin2 = 19; // korte led brandduur

void setup()
{
pinMode (ledPin1, OUTPUT);
pinMode (ledPin2, OUTPUT);
}
void loop()
{
// lange teller
for (tellerLed1 = millis(); tellerLed1 >= (tellerLed1+Led1); tellerLed1++);
   {
   digitalWrite(ledPin1, HIGH);
   for (tellerLed2 = millis(); tellerLed2 >= (tellerLed2+Led2); tellerLed2++);
      {
      digitalWrite (ledPin2, HIGH);
      delay(500);
      digitalWrite (ledPin2, LOW);
      }
      delay(400);
      digitalWrite (ledPin1, LOW);
   }
delay(1000);
}

Berichten: 4079
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Arduino camera en flitser aansturing

Berichtdoor shooter » 06 Jan 2015, 14:37

kijk eens naar de help reference, en op arduino.cc bijv.
dit met die for loops gaat niet werken.
maak ter oefening eens een schema waar je heel snel doorheen stapt en dan op een bepaalde voorwaarde (een actuele tijd-starttijd > looptijd) iets doet.
en nee ik ga het niet voordoen want dan krijg ik van nico op mijn kop
paul deelen
shooter@home.nl

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Arduino camera en flitser aansturing

Berichtdoor nicoverduin » 06 Jan 2015, 16:43

shooter schreef:en nee ik ga het niet voordoen want dan krijg ik van nico op mijn kop
Precies :mrgreen: Dit is een mooi eenvoudig leer project... Misschien iets voor de minder ervarenen :mrgreen: Kunnen wij gewoon in de ideale werkhouding .... poten op tafel.... beetje sociaal wenselijk gedrag vertonen :mrgreen: :mrgreen: en trouwens ik zit me kostelijk te vermaken met een doe het zelfer die meent fatsoenlijke buizen versterkers te bouwen :mrgreen: :mrgreen: :mrgreen:
Afbeelding
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 4079
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Arduino camera en flitser aansturing

Berichtdoor shooter » 06 Jan 2015, 19:31

nou dat vindt ik wel tegenvallen, want de foto is maar een wirwar en echt geen hifi.
paul deelen
shooter@home.nl

Volgende

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 19 gasten