Gokart snelheidsmeting

Als U een gezamenlijk project wil starten of aan projecten van anderen mee wilt werken.
Berichten: 16
Geregistreerd: 06 Apr 2014, 20:16

Gokart snelheidsmeting

Berichtdoor fenrir » 06 Apr 2014, 20:27

dag iedereen :D

ik ben hier nieuw en ben recent begonnen met af en toe een arduino project te maken.

ik wil graag een snelheidsmeting maken voor mijn gokart.
ik heb een arduino uno een reed contact en een alphanumeric LCD (16x2 characters).


de lcd aansturen lukt mij al goed maar die berekeningen maken is mijn echte probleem.
heeft er soms iemand een schema en een code dat ik zou mogen gebruiken ?

alvast bedankt :D
Fenrir

Advertisement

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

Re: Gokart snelheidsmeting

Berichtdoor nicoverduin » 07 Apr 2014, 07:20

Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 16
Geregistreerd: 06 Apr 2014, 20:16

Re: Gokart snelheidsmeting

Berichtdoor fenrir » 07 Apr 2014, 10:23


deze post heb ik ook al gelezen maar ik werk met een reed contact hoe verwerk ik deze in de code ? en in deze code wordt de seriele monitor gedruikt denk ik ? ik zou graag mijn lcd gebruiken om alles weer te geven :D

hoe kan ik de code aanpassen ?

bedankt:D
Fenrir

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

Re: Gokart snelheidsmeting

Berichtdoor nicoverduin » 07 Apr 2014, 11:52

Een reed contact is net als een schakelaar.... dus eerst zelf proberen...
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 16
Geregistreerd: 06 Apr 2014, 20:16

Re: Gokart snelheidsmeting

Berichtdoor fenrir » 07 Apr 2014, 15:43

nicoverduin schreef:Een reed contact is net als een schakelaar.... dus eerst zelf proberen...

ik heb het onderstaande schema proberen aan te passen maar het werkt nog niet:)
een van de problemen die ik heb is dat ik niet vind aan welke poort ik de reed schakelaar moet aansluiten.
zien jullie nog andere problemen ? :D


// Opent de bibliotheek voor de display.
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 7, 6, 5, 4); // was 12,11,5,4,3,2

#define MEASURE_TIME 1000 // measure every second
#define WIEL_OMTREK 1000 // wiel omtrek in millimeter

unsigned long triggerTijd; // testen voor elke MEASURE_TIME
unsigned long snelheid = 0;
unsigned long maxsnelheid = 0;
volatile unsigned int puls = 0; //volatile wordt altijd gebruikt in combi met een interupt, het vertelt de compiler
// om gegevens direct uit RAM te halen en niet uit een tijdelijk register
unsigned long rpm = 0L;
unsigned long wielomtrek = 0L; // long is een variabele waar grote getallen in kunnen ook negatieve getallen.
unsigned long afstand = 0L;
unsigned long maxafstand = 0L;
/**
* @name setup()
*/
void setup() {
//
// we have no LCD so do serial
//

// lcd.begin(16, 2); // Stelt de LCD in 16 kolommen en 2 rijen.
attachInterrupt(0, rpm_as, FALLING); // vallende puls als trigger
triggerTijd = millis() + MEASURE_TIME;// start de timer
}
/**
* @name loop()
*/
void loop() {

if (millis() > triggerTijd) {
//
// bereken het aaltal RPM per minuut
//
rpm = puls * 60;
snelheid = ((WIEL_OMTREK * rpm * 60) / (1000000)); // Reken de snelheid uit.
afstand = (WIEL_OMTREK * puls); // Reken de afgelegde afstand uit.
maxafstand= (afstand + maxafstand);

//Hieronder wordt de hoogste waarde van de variabele "maxsnelheid" onthouden.
if (snelheid > maxsnelheid)
maxsnelheid = snelheid;
if (snelheid < maxsnelheid)
maxsnelheid = maxsnelheid;

// lcd.clear(); // Maak de display leeg.
// lcd.setCursor(4, 0); // Zet de cursor op de gewenste plaats, kolom4(5) en rij1(0).
// lcd.print("Km/h, Rpm"); // Schrijf de tekst tussen de "".
// lcd.setCursor(0, 0);
// lcd.print(snelheid); // Schrijf de variabele "snelheid".
// lcd.setCursor(10, 0);
// lcd.print(rpm);
//
// lcd.setCursor(0, 1);
// lcd.print("Snelste Km/h");
// lcd.setCursor(8, 1);
// lcd.print(maxsnelheid);


//
puls = 0;
triggerTijd = millis() + MEASURE_TIME;// start de timer
}
// verhoog de teller
}

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

Re: Gokart snelheidsmeting

Berichtdoor nicoverduin » 07 Apr 2014, 15:48

Je moet ook eerst je huiswerk doen om de arduino te leren kennen.......
Je probeert met grote stappen snel thuis te zijn.....
Met een kleine moeite kan je ontcijferen op welke pin je de switch moet aansluiten..... ff beter je best doen. Nog beter is eerst de tutorials doen en de Arduino in de vingers krijgen.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 16
Geregistreerd: 06 Apr 2014, 20:16

Re: Gokart snelheidsmeting

Berichtdoor fenrir » 07 Apr 2014, 15:56

nicoverduin schreef:Je moet ook eerst je huiswerk doen om de arduino te leren kennen.......
Je probeert met grote stappen snel thuis te zijn.....
Met een kleine moeite kan je ontcijferen op welke pin je de switch moet aansluiten..... ff beter je best doen. Nog beter is eerst de tutorials doen en de Arduino in de vingers krijgen.


ik denk dat het pin 0 is maar ben het niet helemaal zeker.
ik heb de eerste basisprojecten gemaakt en heb maar een beperkte kennis van programmeren.
het lcd gedeelte van de code begrijp ik wel goed.
kunt u een hint geven over welk deel van de code dat ik nog zou moeten aanpassen ? dan kan ik dat al zelf eens zoeken.
bedankt :D

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

Re: Gokart snelheidsmeting

Berichtdoor nicoverduin » 07 Apr 2014, 17:29

De puls komt binnen op een interrupt pin (zie attachInterrupt). Dan kun je met enig zoeken vanzelf vinden welke pin aan interrupt0 hangt.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 16
Geregistreerd: 06 Apr 2014, 20:16

Re: Gokart snelheidsmeting

Berichtdoor fenrir » 07 Apr 2014, 17:42

nicoverduin schreef:De puls komt binnen op een interrupt pin (zie attachInterrupt). Dan kun je met enig zoeken vanzelf vinden welke pin aan interrupt0 hangt.

de puls komt dus toe op digitale pin 2 ?
een van de fouten die ik van de code krijg is deze:

rpm_as was not declared in this scope

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

Re: Gokart snelheidsmeting

Berichtdoor nicoverduin » 07 Apr 2014, 18:47

En dat betekent?......
Dat je alles moet kopiëren en niet de helft......
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Volgende

Terug naar Gezamenlijke projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 2 gasten