potmeter en tempmeter beide kunnen gebruiken
19 berichten
• Pagina 1 van 2 • 1, 2
potmeter en tempmeter beide kunnen gebruiken
Beste Mensen,
Vandaag begonnen met een Arduino project, uiteraard alles origineel aangeschaft.
om het gemakkelijk te houden heb ik een groveshield gekocht.
Het programmeren gaat inmiddels goed.
Ik loop tegen het volgende aan.
Ik wil graag een schuifpotmeter gebruiken en deze een servo laten aansturen (dit lukt via de standaard software)
Wil graag temperatuur uitlezen een een LCD (dit lukt ook reeds)
De servo aansturen op basis van temperatuur lukt ook
echter nu wil ik tevens ook middels een potmeter een tweede of dezelfde servo aansturen.
echter wat ik begrijp is het niet mogelijk om 2 analoge ingangen tegelijk te gebruiken
is dit op te lossen op een eenvoudige manier
hoor graag van u
Vandaag begonnen met een Arduino project, uiteraard alles origineel aangeschaft.
om het gemakkelijk te houden heb ik een groveshield gekocht.
Het programmeren gaat inmiddels goed.
Ik loop tegen het volgende aan.
Ik wil graag een schuifpotmeter gebruiken en deze een servo laten aansturen (dit lukt via de standaard software)
Wil graag temperatuur uitlezen een een LCD (dit lukt ook reeds)
De servo aansturen op basis van temperatuur lukt ook
echter nu wil ik tevens ook middels een potmeter een tweede of dezelfde servo aansturen.
echter wat ik begrijp is het niet mogelijk om 2 analoge ingangen tegelijk te gebruiken
is dit op te lossen op een eenvoudige manier
hoor graag van u
Advertisement
Re: potmeter en tempmeter beide kunnen gebruiken
ja tuurlijk wel, je hebt er 6 en dan kun met de pot een temperatuur instellen en dan met een PID de servo aansturen. je bent dan lekker een week bezig met een thermostaat.
je kunt alles maken wat je bedenkt.
je kunt alles maken wat je bedenkt.
paul deelen
shooter@home.nl
shooter@home.nl
Re: potmeter en tempmeter beide kunnen gebruiken
aansturing is me gelukt, heb nu een barometer gecombineerd met een temp sensor, dan kan ik wel de analoge gebruike voor een servo aan te sturen
wat opmerkelijk is dat als ik de gegeven op een test draai dat er netjes een heel getal wordt weergegeven.
op de display krijg ik getallen achter de komma,
ik heb een variabele gedefinieerd met de pot meter voor een correctie uit te voeren
waarom geeft de test hele getallen en de display naar willekeur achter de komma
wat opmerkelijk is dat als ik de gegeven op een test draai dat er netjes een heel getal wordt weergegeven.
op de display krijg ik getallen achter de komma,
ik heb een variabele gedefinieerd met de pot meter voor een correctie uit te voeren
waarom geeft de test hele getallen en de display naar willekeur achter de komma
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: potmeter en tempmeter beide kunnen gebruiken
Misschien moet je ff je code hier laten zien? dan kunnen we meekijken?
Re: potmeter en tempmeter beide kunnen gebruiken
tja een FLOAT van een INT is niet een geheel getal, maar in de buurt van.
paul deelen
shooter@home.nl
shooter@home.nl
Re: potmeter en tempmeter beide kunnen gebruiken
Beste Shooter ik ben bang dat je gelijk hebt, hem me gisteren avond nog even verder ingelezen, dit project je is voor een zweeftoestel als zelfbouw hoogte meter
wil deze graag op de grond op nu stellen nu geeft die op de grond een negatief getal wat in de meeste gevallen niet handig is
mag ik de float zonder meer als integer vervangen?
kan ik ook zonder een aray te gebruiken een hoogte tussen 2 seconden meten zodat ik weet of ik stijg of daal.
Bedankt voor de hulp alvast (PHP lukt me aardig maar dit is weer nieuw voor mij)
#include <Wire.h>
#include "rgb_lcd.h"
#include "Barometer.h"
float temperature;
float pressure;
float atm;
float altitude;
float cor;
float cor1;
Barometer myBarometer;
rgb_lcd lcd;
void setup()
{
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hoogtemeter");
delay(1000);
Serial.begin(9600);
myBarometer.init();
}
void loop()
{
int sensorValue = analogRead(A0);
cor = -5+(sensorValue / 12);
cor1= (cor, 0);
temperature = myBarometer.bmp085GetTemperature(myBarometer.bmp085ReadUT()); //Get the temperature, bmp085ReadUT MUST be called first
pressure = myBarometer.bmp085GetPressure(myBarometer.bmp085ReadUP());//Get the temperature
altitude = myBarometer.calcAltitude(pressure)+cor; //Uncompensated caculation - in Meters
atm = pressure / 101325;
Serial.print("Temperature: ");
Serial.print(temperature, 2); //display 2 decimal places
Serial.println("deg C");
Serial.print("Pressure: ");
Serial.print(pressure, 0); //whole number only.
Serial.println(" Pa");
Serial.print("Ralated Atmosphere: ");
Serial.println(atm, 4); //display 4 decimal places
Serial.print("Altitude: ");
Serial.print(altitude, 0); //display 2 decimal places
Serial.println(" m");
Serial.print("CORRECTIE CORRECTIE ");
Serial.println(sensorValue);
Serial.println();
delay(1000); //wait a second and get values again.
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print("Hoogte: ");
lcd.print(altitude,1);
delay(100);
if (altitude > 275)
{
// action A
rgb_lcd lcd;
const int colorR = 255;
const int colorG = 0;
const int colorB = 0;
lcd.setRGB(colorR, colorG, colorB);
}
else
if (altitude > 50)
{
// action B
rgb_lcd lcd;
const int colorR = 0;
const int colorG = 100;
const int colorB = 100;
lcd.setRGB(colorR, colorG, colorB);
}
else
if (altitude > 50)
{
// action C
rgb_lcd lcd;
const int colorR = 0;
const int colorG = 100;
const int colorB = 100;
lcd.setRGB(colorR, colorG, colorB);
}
/*********************************************************************************************************
END FILE
*********************************************************************************************************/
wil deze graag op de grond op nu stellen nu geeft die op de grond een negatief getal wat in de meeste gevallen niet handig is
mag ik de float zonder meer als integer vervangen?
kan ik ook zonder een aray te gebruiken een hoogte tussen 2 seconden meten zodat ik weet of ik stijg of daal.
Bedankt voor de hulp alvast (PHP lukt me aardig maar dit is weer nieuw voor mij)
#include <Wire.h>
#include "rgb_lcd.h"
#include "Barometer.h"
float temperature;
float pressure;
float atm;
float altitude;
float cor;
float cor1;
Barometer myBarometer;
rgb_lcd lcd;
void setup()
{
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hoogtemeter");
delay(1000);
Serial.begin(9600);
myBarometer.init();
}
void loop()
{
int sensorValue = analogRead(A0);
cor = -5+(sensorValue / 12);
cor1= (cor, 0);
temperature = myBarometer.bmp085GetTemperature(myBarometer.bmp085ReadUT()); //Get the temperature, bmp085ReadUT MUST be called first
pressure = myBarometer.bmp085GetPressure(myBarometer.bmp085ReadUP());//Get the temperature
altitude = myBarometer.calcAltitude(pressure)+cor; //Uncompensated caculation - in Meters
atm = pressure / 101325;
Serial.print("Temperature: ");
Serial.print(temperature, 2); //display 2 decimal places
Serial.println("deg C");
Serial.print("Pressure: ");
Serial.print(pressure, 0); //whole number only.
Serial.println(" Pa");
Serial.print("Ralated Atmosphere: ");
Serial.println(atm, 4); //display 4 decimal places
Serial.print("Altitude: ");
Serial.print(altitude, 0); //display 2 decimal places
Serial.println(" m");
Serial.print("CORRECTIE CORRECTIE ");
Serial.println(sensorValue);
Serial.println();
delay(1000); //wait a second and get values again.
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print("Hoogte: ");
lcd.print(altitude,1);
delay(100);
if (altitude > 275)
{
// action A
rgb_lcd lcd;
const int colorR = 255;
const int colorG = 0;
const int colorB = 0;
lcd.setRGB(colorR, colorG, colorB);
}
else
if (altitude > 50)
{
// action B
rgb_lcd lcd;
const int colorR = 0;
const int colorG = 100;
const int colorB = 100;
lcd.setRGB(colorR, colorG, colorB);
}
else
if (altitude > 50)
{
// action C
rgb_lcd lcd;
const int colorR = 0;
const int colorG = 100;
const int colorB = 100;
lcd.setRGB(colorR, colorG, colorB);
}
/*********************************************************************************************************
END FILE
*********************************************************************************************************/
Re: potmeter en tempmeter beide kunnen gebruiken
ik zie veel rgblcd staan 1 is al genoeg
nee een float is iets anders je kunt wel converteren met integer(floatgetal)
ja je kunt ook zonder array een filter maken
ga elke 2 seconden naar een functie die het verschil meet
vermijd delay aub want die stopt alles, kijk naar blink without delay
nee een float is iets anders je kunt wel converteren met integer(floatgetal)
ja je kunt ook zonder array een filter maken
ga elke 2 seconden naar een functie die het verschil meet
vermijd delay aub want die stopt alles, kijk naar blink without delay
paul deelen
shooter@home.nl
shooter@home.nl
Re: potmeter en tempmeter beide kunnen gebruiken
dankje, maar hoekomt het dat ik op het lCD iets anders zie dan op de computer?
Re: potmeter en tempmeter beide kunnen gebruiken
heb a het eea proberen te veranderen op de seriele monitor blijft het goed gaan (hele getallen) echter op het LCD blijft het met cyfers achter de komma
maar de ene keer ook 10 als het 1 moet zijn of 334 als het 3 moet zijn
heel verwarrend wat er nu mis is
als ik de pot meter er tussen uithaal dan gaat het wel goed
liefst wil ik een hard getal kunnen instellen met de potmeter waar mee gerekend wordt welke wordt vastgelegd en opgeslagen
maar de ene keer ook 10 als het 1 moet zijn of 334 als het 3 moet zijn
heel verwarrend wat er nu mis is
als ik de pot meter er tussen uithaal dan gaat het wel goed
liefst wil ik een hard getal kunnen instellen met de potmeter waar mee gerekend wordt welke wordt vastgelegd en opgeslagen
- FonzieBonzo
- Berichten: 118
- Geregistreerd: 01 Okt 2015, 11:54
- Woonplaats: Castricum
Re: potmeter en tempmeter beide kunnen gebruiken
Lukt het misschien op de volgende manier :
cpp code
cpp code
int intpressure;
intpressure = (int)pressure;
lcd.print(intpressure,1);
// of direct
lcd.print((int)pressure,1);
19 berichten
• Pagina 1 van 2 • 1, 2
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 30 gasten