versnellings led arduino

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • zynex
  • Registratie: Mei 2007
  • Laatst online: 10-09 19:58
Beste tweakers,

Ik heb nu een racestuur waar ik leds wil aan toevoegen.
Hiermee bedoel ik dat hoe meer gas ik geef, hoe meer leds er gaan branden.
Het makkelijkste leek mij om de potmeter aan te sluiten op de analoge poorten van de arduino en zo de leds te kunnen regelen. Echter verloopt dit niet zo goed als geplanned en ik vroeg mij af of een handige tweakers mij kan helpen met een script.

De bedoeling is dat als de potmeter in zijn basisstand staat 1 of geen leds branden. Als deze op zijn hoogste stand staat alle leds branden(en alles wat daartussen zit lineair natuurlijk) en als de potmeter 'achteruit' gaat alle leds knipperen.

dus ongeveer dit:
http://www.youtube.com/watch?v=aDjLoIviG_I

Kan iemand mij hiermee helpen? >:)

Acties:
  • 0 Henk 'm!

  • _ferry_
  • Registratie: Januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

Het makkelijkste is denk ik om via de ADC de potmeter uit te lezen. Vervolgens stel je voor elke led in bij welke ADC waarde hij aan moet, en laat je de arduino de potmeter uitlezen, en doe je per led iets van
" if ADC = >100 then Ledoutput =1" en zo verhoog je de 100 voor elke led (de 1024 ADC delen delen door het aantal leds, en dat als verschil houden)

Code is totaal niet kloppend, maar je begrijpt het idee hopelijk.

Acties:
  • 0 Henk 'm!

  • JER00N
  • Registratie: Maart 2002
  • Niet online
Waarom met een microcontroller? (ik snap heel dat Arduino-gedoe ook niet echt maar goed). Zoiets kan je prima doen met bijv. een LM3914: http://www.national.com/mpf/LM/LM3914.html#Overview Hoe hoger de spanning op de ingang des te meer Ledjes er gaan branden.

Die dingen worden ook vaak gebruikt om bijv. VU-meters te maken in mixers en andere audio-apparatuur.

Edit: ik zie dat ik de TS niet helemaal goed gelezen heb. Wat bedoel je precies met de potmeter die achteruit gaat? Als je gas terug neemt moeten de leds knipperen :? Dan moet het idd met een microcontrollertje ja :P

[ Voor 23% gewijzigd door JER00N op 21-01-2010 22:15 ]


Acties:
  • 0 Henk 'm!

  • zynex
  • Registratie: Mei 2007
  • Laatst online: 10-09 19:58
Ja, je begrijpt het wel goed, maar ik heb nu een arduino bij de hand liggen. Waaromhet daar dan niet mee proberen?:p Echter Ferry bedankt. Na je tip kreeg ik in één keer het licht te zien. O-)

De code is nog niet helemaal af, maar voor de mensen die dit misschien later nodig hebben:/* Versnellingsmeter
*/

int potPin = 2; // potmeter pin
int ledPin = 0; // ledpin
int ledPin1 = 1;
int ledPin2 = 2;
int ledPin3 = 3;
int ledPin4 = 4;
int ledPin5 = 5;
int ledPin6 = 6;
int ledPin7 = 7;
int ledPin8 = 8;
int ledPin9 = 9;
int ledPin10 = 10;
int ledPin11 = 11;
int val = 0; // variable to store the value coming from the sensor

void setup() {
pinMode(ledPin, OUTPUT); // declare the ledPin as an OUTPUT
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin5, OUTPUT);
pinMode(ledPin6, OUTPUT);
pinMode(ledPin7, OUTPUT);
pinMode(ledPin8, OUTPUT);
pinMode(ledPin9, OUTPUT);
pinMode(ledPin10, OUTPUT);
pinMode(ledPin11, OUTPUT);
}

void loop()
{
val = analogRead(potPin); // read the value from the sensor
if (val >= 85.33) {
digitalWrite(ledPin, HIGH);
} else
digitalWrite(ledPin, LOW);
if (val >= 170.6) {
digitalWrite(ledPin, HIGH);
digitalWrite(ledPin1, HIGH);
} else
digitalWrite(ledPin1, LOW);

}


Deze kan op slot. Bedankt tweakers.

Acties:
  • 0 Henk 'm!

  • kippy
  • Registratie: September 2004
  • Laatst online: 11-09 15:47
Hoe had je bedacht om een int met een comma getal te vergelijken. Niet heel handig. Daarnaast is het misschien makkelijker om gewoon een formulle te maken die het geheel in een keer om rekend. Dan hoef je niet voor iedere stap een vergelijking te maken.

Acties:
  • 0 Henk 'm!

  • zynex
  • Registratie: Mei 2007
  • Laatst online: 10-09 19:58
Dat was inderdaad niet erg slim, maar ik ben pas net begonnen met het programmeren van arduino's....
Ik was al lang blij dat het werkte ;)

Enige verandering/hulp aan de code zal dan ook fijn zijn.

[ Voor 17% gewijzigd door zynex op 22-01-2010 15:41 ]


Acties:
  • 0 Henk 'm!

  • zynex
  • Registratie: Mei 2007
  • Laatst online: 10-09 19:58
Ik heb de code afgemaakt zoals ik hierboven had aangegeven. Maar zou iemand mij ook kunnen laten zien hoe ik hier een formule ik kan verwerken om het geheel te versimpelen?
Pagina: 1