LED van 0% naar 100%

Projecten die niet passen in bovenstaande onderwerpen
Berichten: 2
Geregistreerd: 17 Okt 2018, 10:00

LED van 0% naar 100%

Berichtdoor Tukker14 » 17 Okt 2018, 10:08

Hallo,

Voor school heb ik een opdracht waarin ik 3 LED's een output moet bieden van als het ware 0% tot 100%.

Laten we eerst eens met 1 LED beginnen.

Ik maak gebruik van een potmeter die geleidelijk 0 tot 5 V weergeeft. Het lukt me om van 0 tot 5V de LED geleidelijk te laten op lopen van 0% tot 100%. Echter is het de opdracht om de eerste LED van dit te doen met een input van 0 tot 2,5V.

Zo gezegt zo gedaan gebruik ik de map fucntie:
ingang = map (ingang, 0, 512, 0, 255);

Maar als ik nu dus nu verder draai als heb begint hij weer van voor af aan. 2,6V = 0%, 5V = 100%.
Dit mag niet gebeuren. Hoe kan ik dit oplossen?

Advertisement

Berichten: 2
Geregistreerd: 17 Okt 2018, 10:00

Re: LED van 0% naar 100%

Berichtdoor Tukker14 » 17 Okt 2018, 11:14

Dit is het complete programma tot nu toe:
cpp code
int uitgang3 = 3;


void setup()
{
Serial.begin(9600);
pinMode(uitgang3, OUTPUT);

}
void loop()
{
int sensorWaarde = analogRead(A1);

Serial.println(sensorWaarde);
float spanning = sensorWaarde * (5.0 / 1023.0);
spanning = map(sensorWaarde, 0, 512, 0, 255);
analogWrite(uitgang3, spanning);
}

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

Re: LED van 0% naar 100%

Berichtdoor nicoverduin » 17 Okt 2018, 11:34

Als je stelt dat je alleen iets wil doen met de waardes van 0..2.5V, dan moet je met een if(...) statement de rest gewoon negeren of op de hoogste waarde laten
Docent HBO Software Engineering, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 19
Geregistreerd: 09 Jun 2018, 06:54
Woonplaats: Roodepoort, Zuid Afrika

Re: LED van 0% naar 100%

Berichtdoor sterretje » 18 Okt 2018, 07:37

En de map functie gewoon weglaten.

Je krijgt een waarde van 0..1023 voor je sensorWaarde
1)
Je kunt deze simpel delen door 4 om een waarde van 0..255 te krijgen; dit is alleen om je te tonen dat je niet altijd de map functie nodig hebt.
2)
Voor je probleem, 2.5V is de helft van 5V, dus een sensorWaarde van 512 representeert 2.5V.

Als de map functie niet doet wat je verwacht, moet je proberen te begrijpen hoe deze werkt. Op een Windows machine kun je deze vinden in C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\WMath.cpp.

Kun je weer wat verder puzzelen ;)

Tussen twee haakjes, er zijn 1024 stappen in een 10-bit ADC, dus moet je delen door 1024 en niet door 1023.

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

Re: LED van 0% naar 100%

Berichtdoor shooter » 18 Okt 2018, 21:07

oke tukker je begin is er prima, en ja waar je nu tegen aanloopt is heel normaal, je moet elke input gaan limiteren, zodat je programma alleen correcte waarden krijgt.
dus min en max gebruiken.
verder zet er even een delay in zolang je an het testen bent en serial.print gebruikt, want anders loopt het arduino.
paul deelen
shooter@home.nl

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Google [Bot] en 4 gasten