Is dit te bouwen met een ardunio board

Projecten die niet passen in bovenstaande onderwerpen
Berichten: 91
Geregistreerd: 23 Okt 2013, 05:50

Re: Is dit te bouwen met een ardunio board

Berichtdoor pedro koi » 27 Okt 2013, 09:50

dag kris
flowchart das chinees ze
voor de rest het overzicht behouden wil ik wel doen maar hoe waarschijnlijk bedoel je dat ik de regels ik nu heb deze moet scheiden vaneen in een blok lcd en een blok sensors meting en das waarschijnlijk enkel de regels verplaatsen zonder extra code toe te voegen of ben ik mis.

ook al zal deze setup niet veel meer uitbreiden de reden is dat ik met dit bord enkel de temp wil meten op 4 plaatsen en een servo of stappen moter wil sturen(klep open en dicht) al is dit niet zeker er niks bij komt want om te loggen en data schrijven komt ook nog een heel script bij kijken.

M.V.G Pedro

Advertisement

Berichten: 108
Geregistreerd: 07 Aug 2013, 21:34

Re: Is dit te bouwen met een ardunio board

Berichtdoor KrisG » 27 Okt 2013, 10:10

Dat gaat inderdaad om de layout van je sketch.
Ik zou het fijner werken vinden, maar dat is persoonlijk, om alle instructies die naar het LCD schrijven bij mekaar te hebben, stel dat je iets wil veranderen aan de layout van je LCD, al is het maar 2 waarden van plaats wisselen, dan moet je maar in één blok wijzigen, terwijl je in jouw geval in elk blokje moet gaan kijken waar alles staat en dar de wijzigingen uitvoeren.

Een flowchart,http://en.wikipedia.org/wiki/Flowchart maar ik weet niet of dat nog 'van deze tijd' is, ik heb het programmeren terug pas terug opgepikt een jaar of 20 na mijn studies :)

Kris
Als je het probleem gedetailleerd genoeg omschrijft, heb je meestal al de oplossing.

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

Re: Is dit te bouwen met een ardunio board

Berichtdoor shooter » 27 Okt 2013, 11:23

je schrijft dus hier steeds hetzelfde:
lcd.setCursor(0, 1);
tSensorWaarde= analogRead(0);
temp= (tSensorWaarde);
lcd.print(tSensorWaarde);
lcd.print("\t");
lcd.println(temp);

lcd.setCursor(0, 2);
tSensorWaarde= analogRead(1);
temp= (tSensorWaarde);
lcd.print(tSensorWaarde);
lcd.print("\t");
lcd.println(temp);

lcd.setCursor(0, 3);
tSensorWaarde= analogRead(2);
temp= (tSensorWaarde);
lcd.print(tSensorWaarde);
lcd.print("\t");
lcd.println(temp);

lcd.setCursor(0, 4);
tSensorWaarde= analogRead(3);
temp= (tSensorWaarde);
lcd.print(tSensorWaarde);
lcd.print("\t");
lcd.println(temp);

lcd.setCursor(0, 5);
rSensorWaarde= analogRead(4);
lambda= (rSensorWaarde);
lcd.print(rSensorWaarde);
lcd.print("\r");
lcd.println(lambda);

dat kan simpeler in een for next loop
dan hou je ineens nog maar 6 regels over.
verder zul je de analogread via een scale of een andere formule aan moeten passen aan de werkelijke temperatuur.
verder zul je dat voor elke sensor apart moeten doen om te kunnen calibreren.
je kunt overigens niet zomaar een Pt100 aan de analoge ingang hangen, voor een beetje nauwkeurigheid heb je hiervoor iets meer nodig opamp of een frequentiemaker (555)
paul deelen
shooter@home.nl

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

Re: Is dit te bouwen met een ardunio board

Berichtdoor nicoverduin » 27 Okt 2013, 12:09

KrisG schreef:Dat gaat inderdaad om de layout van je sketch.
Ik zou het fijner werken vinden, maar dat is persoonlijk, om alle instructies die naar het LCD schrijven bij mekaar te hebben, stel dat je iets wil veranderen aan de layout van je LCD, al is het maar 2 waarden van plaats wisselen, dan moet je maar in één blok wijzigen, terwijl je in jouw geval in elk blokje moet gaan kijken waar alles staat en dar de wijzigingen uitvoeren.

Een flowchart,http://en.wikipedia.org/wiki/Flowchart maar ik weet niet of dat nog 'van deze tijd' is, ik heb het programmeren terug pas terug opgepikt een jaar of 20 na mijn studies :)

Kris
Worden nog steeds gebruikt hoor door sommigen. Dat zijn meestal diegene die eerst nadenken en dan doen. Helaas is het meer van deze tijd zo van "dit proberen... dat proberen etc" En houd je over het algemeen veel bagger programmatuur over.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 91
Geregistreerd: 23 Okt 2013, 05:50

Re: Is dit te bouwen met een ardunio board

Berichtdoor pedro koi » 27 Okt 2013, 19:11

intussen wat aanpassing gedaan en meer overzicht gegeven op aanraden van kris.

wat de for next loop betrefd das voor mij een brug te ver ben geen programeur maar amateur en moet het dus hebben van vb op het net om iets te kunnen schrijven.
heb de eerste 3 sensors een berekening mee gegeven deze waardes komen van een temp meting die vergelijkbaar is met het gene ik wil enkel is de temp sensor anders vraag is deze correct??
Moet nu nog een berekening toevoegen voor de 4de en 5de sensor maar eerst moet ik beslissen welke opamp er moet bij komen iemand sugesties of kan het arduino temp sensor bord daarvoor dienen??
Code: Alles selecteren
#include <LiquidCrystal.h> // heeft aan er een lcd is aangesloten
 
LiquidCrystal  lcd(12, 11, 5, 4, 3, 2); //stelt het lcd in


int tSensorWaarde;
int rSensorWaarde;
int temp= 0;//temperatuur variabele
int lambda= 0;//lambda variabele
int tempPinLiving= 0; // pin nummer sensor living
int tempPinKeuken= 1; // pin nummer sensor keuken
int tempPinKachel= 2; //pin nummer sensor kachel
int tempPinSchouw= 3; //pin nummer sensor schouw
int lambdaPinSensor= 4; //pin nummer lambda sonde kachel


void setup() { // begint de setup

lcd.begin(16, 5);

pinMode(tempPinLiving, INPUT);
pinMode(tempPinKeuken, INPUT);
pinMode(tempPinKachel, INPUT);
pinMode(tempPinSchouw, INPUT);
pinMode(lambdaPinSensor, INPUT);

}

void loop() {
 
  //-----------------------------------------blok sensor waardes-------------------------------------------------------------------------------------------



  tSensorWaarde= (  5,0  *  analogRead ( 0 )  *  100,0 )  /  1024,0 ;
  temp= (tSensorWaarde);
 
  tSensorWaarde= (  5,0  *  analogRead ( 1 )  *  100,0 )  /  1024,0 ;
  temp= (tSensorWaarde);
 
  tSensorWaarde= (  5,0  *  analogRead ( 2 )  *  100,0 )  /  1024,0 ;
  temp= (tSensorWaarde);
 
  tSensorWaarde= analogRead(3);
  temp= (tSensorWaarde);
 
  rSensorWaarde= analogRead(4);
  lambda= (rSensorWaarde);
 
 
  //----------------------------------------blok lcd waardes-----------------------------------------------------------------------------------------------
  lcd.setCursor(0, 1);
  lcd.print(tSensorWaarde);
  lcd.print("\t");
  lcd.println(temp);
 
  lcd.setCursor(0, 2);
  lcd.print(tSensorWaarde);
  lcd.print("\t");
  lcd.println(temp);
 
  lcd.setCursor(0, 3);
  lcd.print(tSensorWaarde);
  lcd.print("\t");
  lcd.println(temp);
 
  lcd.setCursor(0, 4);
  lcd.print(tSensorWaarde);
  lcd.print("\t");
  lcd.println(temp);
 
  lcd.setCursor(0, 5);
  lcd.print(rSensorWaarde);
  lcd.print("\r");
  lcd.println(lambda);
 
 
  delay (1000);
 
}

Berichten: 108
Geregistreerd: 07 Aug 2013, 21:34

Re: Is dit te bouwen met een ardunio board

Berichtdoor KrisG » 27 Okt 2013, 19:42

Door deze code hou je alleen de laatste meting over, omdat je telkens overschrijft:

Code: Alles selecteren
tSensorWaarde= (  5,0  *  analogRead ( 0 )  *  100,0 )  /  1024,0 ;
  temp= (tSensorWaarde);
 
  tSensorWaarde= (  5,0  *  analogRead ( 1 )  *  100,0 )  /  1024,0 ;
  temp= (tSensorWaarde);
 
  tSensorWaarde= (  5,0  *  analogRead ( 2 )  *  100,0 )  /  1024,0 ;
  temp= (tSensorWaarde);


temp gaat achtereenvolgens de waarde van de sensor op poort 0, die van poort 1 en die van poort 2 hebben maar omdat je daar ondertussen niets mee doet, verlies je die van 0 en 1. Je moet dus voor elke waarde een andere naam bedenken.


Dit stuk:

Code: Alles selecteren
 tSensorWaarde= (  5,0  *  analogRead ( 0 )  *  100,0 )  /  1024,0 ;
  temp= (tSensorWaarde);


Is volgens mij beter :

Code: Alles selecteren
 tSensorWaarde= (  5,0  *  analogRead ( tempPinLiving )  *  100,0 )  /  1024,0 ;
  temp= (tSensorWaarde);

Dat is net de bedoeling van :

Code: Alles selecteren
int tempPinLiving= 0; // pin nummer sensor living


Maar je bent volgens mij wel op goeie weg.

Kris
Als je het probleem gedetailleerd genoeg omschrijft, heb je meestal al de oplossing.

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

Re: Is dit te bouwen met een ardunio board

Berichtdoor nicoverduin » 27 Okt 2013, 20:22

Ik zou mijn wat verdiepen in het werken met functies. Ik zie 3x (eigenlijk 5x) dezelfde code waarbij alleen de pin en de uitkomst anders zijn.

Dus een functie maken a la :
Code: Alles selecteren
float leesTemp(pin){

    float tSensorWaarde;
    tSensorWaarde= (  5,0  *  analogRead ( pin)  *  100,0 )  /  1024,0 ;
    return tSensorWaarde;
}


en dan in de loop

temp = leesTemp(0);
enz.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

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

Re: Is dit te bouwen met een ardunio board

Berichtdoor nicoverduin » 27 Okt 2013, 20:23

En comma's in getallen kun je beter gelijk vervangen voor punten :)
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 91
Geregistreerd: 23 Okt 2013, 05:50

Re: Is dit te bouwen met een ardunio board

Berichtdoor pedro koi » 27 Okt 2013, 20:34

ok begrepen en aangepast op deze manier blijven de 3 waardes en blijft niet enkel de laatste waarde over toch
Code: Alles selecteren
  tSensorWaarde= (  5,0  *  analogRead ( tempPinLiving )  *  100,0 )  /  1024,0 ;
  temp= (tSensorWaarde);
 
  tSensorWaarde= (  5,0  *  analogRead ( tempPinKeuken )  *  100,0 )  /  1024,0 ;
  temp= (tSensorWaarde);
 
  tSensorWaarde= (  5,0  *  analogRead ( tempPinKachel )  *  100,0 )  /  1024,0 ;
  temp= (tSensorWaarde);
 



ergens mis ik waarschijnlijk iets om de temp te laten verschijnen op het lcd gedeelte.

nu heb ik 5maal dezelfde blok na een met telkens lcd.print(tSensorWaarde) erin en lcd.print(temp) deze waarde kan toch niet terug gevonden worden op deze manier daar de verwijzing telkens hetzelfde is of ben ik mis.

vermoed ik boven aan 5maal int temp met een opvolgend nummer moet hebben en 5maal int tSensorWaarde met een opvolgend nr en deze verwijzing dan gebruiken zowel in het bereken van de sensor waarde als het printen op het lcd

zoiets
Code: Alles selecteren
 
int tSensorWaarde1;
int tSensorWaarde2;
int rSensorWaarde;
int temp1= 0;
int temp2= 0;


 tSensorWaarde1= (  5,0  *  analogRead ( tempPinLiving )  *  100,0 )  /  1024,0 ;
 temp1= (tSensorWaarde1);
 
 tSensorWaarde2= (  5,0  *  analogRead ( tempPinKeuken )  *  100,0 )  /  1024,0 ;
 temp2= (tSensorWaarde2);
 


lcd.setCursor(0, 1);
  lcd.print(tSensorWaarde1);
  lcd.print("\t");
  lcd.println(temp1);
 
  lcd.setCursor(0, 2);
  lcd.print(tSensorWaarde2);
  lcd.print("\t");
  lcd.println(temp2);
 

Berichten: 91
Geregistreerd: 23 Okt 2013, 05:50

Re: Is dit te bouwen met een ardunio board

Berichtdoor pedro koi » 01 Nov 2013, 07:03

de amplifer in deze link kan die dienen voor de pt100 sensor
http://www.ebay.co.uk/itm/LM358-Signal- ... 2326503a4f

mvg pedro

VorigeVolgende

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 6 gasten