Projekt in der Schule



  • Hallo,
    ein Kumpel und ich haben in der Schule in Physik eine Aufgabe bekommen:

    Ein Interface ist vorhanden, das an die serielle Schnittstelle des PC's angeschlossen wird. Es gibt doch Spannungsgerät etc.. auf jeden Fall ist an dem Interface eine Glühlampe angeschlossen, die in eine Kaffeetasse gehalten wird. Inder Kaffeetasse befindet sich noch ein Temperaturfühler, der die Temperatur misst(ist auch an dem Intercace angeschlossen):

    Mein Aufgabe, ist das Konstanthalten der Tempteratur mit Hilfe dieser Glühlampe. DAs ganze soll über den Computer steuerbar sein, also wenns zu warm wird, Lampe ausschalten (automatisch) usw...

    Nun wollt ich mal fragen, welche Sprache ihr mir empfehlen würdet? Ist es mit C sehr schwer auf die serielle Schnittstelle zuzugreifen und dort dann Abfragen durchzuführen? Ich hab in C nur Grundkenntnisse, mein Kumpel auch. Würdet ihr mir dann ne andere Programmiersprache empfehlen? mein Lehrer hats z.B. in Visual Basic gemacht.

    Oder hättet ihr Vorstellungen, wie man sowas angehen könnte?

    hoffe ihr könnt mir n bissl helfen 🙂

    gruß
    gemuse



  • gemuse schrieb:

    Nun wollt ich mal fragen, welche Sprache ihr mir empfehlen würdet?

    natürlich C/C++ ...
    was wollt ihr denn hören im "C/C++ Forum"?

    gemuse schrieb:

    Ist es mit C sehr schwer auf die serielle Schnittstelle zuzugreifen und dort dann Abfragen durchzuführen?

    nein ...

    gemuse schrieb:

    Ich hab in C nur Grundkenntnisse, mein Kumpel auch. Würdet ihr mir dann ne andere Programmiersprache empfehlen? mein Lehrer hats z.B. in Visual Basic gemacht.

    nein, ihr wollt ja was lernen, oder nicht?

    viel erfolg

    LukeX



  • naja,

    ich hab mir das, so vorgestellt:

    ich greif irgendwie auf den Port zu, vielleicht in der Art:

    FILE *fp;
    fp = fopen("Serielle Schnittstelle","r");

    aber dann muss das Programm eben ständig laufen und darf nicht einfach abbrechen, und das ist der Hauptgrund, der mir probleme macht, ich weiß echt nicht wie ich das realisieren könnte... Kann man sich in der Art überhaupt zu nem Port connecten?

    Wenn das funktionieren würde, könnte ich ja ganz leicht Befehle ausführen, mit den file Funktionen - fprintf() fgets() etc...

    gemuse



  • Das Prorgamm muss doch sowieso ständig laufen, ausser ihr hab ne externe Schaltung weche die Regelung übernimmt und ihr parametriert die schaltung nur von PC aus..
    Zu Ansteuerung der schnittstelle: http://www.winapi.net/index.php?inhalt=t3



  • Naja, mit WinAPI geht es tatsächlich ganz ähnlich.

    Und dann machste halt ne endlosschleife:

    while(!beenden)
    {
    messwerteHolen();
    lampeSteuern();
    ne Runde schlafen legen, damit auch wer anders noch Rechenzeit kriegt
    }

    pfertig!
    Kannste dann auch noch in nen eigenen Thread auslagern, falls Du nebenbei noch irgendwas anzeigen willst oder so.

    MfG Jester



  • Könnt ihr die Lampe nur ein und ausschalten ?
    Wenn ihr auch noch die Helligkeit steuern könnt, könntet ihr einen richtigen Regelkreis aufbauen und z.B. einen PID Regler entwerfen, das würde bestimmt Eindruck machen bei eurem Leher 😉



  • Hi!
    naja, ehrlich gesagt hab ich mit der WinAPI noch nichts gemacht. Ich wollte eigentlich auch kein Windowsprogramm schreiben, sondern ein simples Konsolenprogramm. Diese Klasse bei im Tutorial über die serielle Schnittstelle hab ich nicht so richtig verstanden.

    Ich hab aber irgendwo mal den Quellcode eines Druckprogramms gesehn, da haben die den LPT1 Port so angesprochen

    FILE *fp;
    fp = fopen("LPT1:","a");

    ....

    könnte man nicht auch so die serielle Schnittstelle ansprechen? wäre doch imo deutlich einfacher, oder nicht?!

    gruß
    gemuse



  • Das ist BS-abhängig.

    Aber was ist einfacher als eine Klasse zu benutzen.



  • nur so nebenbei..
    du kannst dich auch hier umschauen
    http://www.c-plusplus.net/forum/viewtopic.php?t=39312

    und es gibt compiler, die sich dann eignen.. djgpp(bringt schon einiges mit..), alter borland glaub ich auch, etc..

    aber easier ist es mit den oben genannten vorschlägen, denk ich mal.


Anmelden zum Antworten