Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ampelsteuerung Delphi mit Velleman Board (https://www.delphipraxis.net/167217-ampelsteuerung-delphi-mit-velleman-board.html)

steffen123 18. Mär 2012 19:04

Ampelsteuerung Delphi mit Velleman Board
 
Habe ein Problem, muss für die Schule eine Ampelschaltung über Delphi programmieren. Ich habe für den Aufbau ein MikrocontrollerBoard von Velleman (2003) gekauft, hab die Anbindung schon gemacht, das die LEDs auf dem Board, durch anklicken in der Grafischen Oberfläsche, die LEDs leuchten, wie kann ich eine schleife schreiben, das die Ausgänge also die LEDs auf dem Board, anfangen automatisch zu wechseln, wie bei einer normalen Ampel? Soll eine ganz normale Kreuzung werden mit 4 Ampeln und am besten noch 4 Fußgängerampel dazu. Wäre für eure Hilfe sehr dankbar! Gruß Steffen

haentschman 18. Mär 2012 19:14

AW: Ampelsteuerung Delphi mit Velleman Board
 
Hallo und herzlich Willkommen hier... :dp:

Zum Thema Ampelschaltung findest du hier über die Suche einige Beispiele. Wie du dann aus deinem Quelltext auf das Board zugreifst kann ich auch nicht sagen. Bestimmt liegt eine DLL als "Zugriffsschnittstelle" dabei. In der Anleitung wirst du bestimmt etwas über Schnittstellen oder API finden. Die LED hast du mit einem selbstgeschriebenen Programm oder mit einer Demo die dabei war zum Leuchten gebracht ?

Sir Rufo 18. Mär 2012 20:20

AW: Ampelsteuerung Delphi mit Velleman Board
 
Mal dir ein Zeit-Zustands-Diagramm für jede einzelne Lampe. Insgesamt musst du (mit Fußgänger-Ampel) 10 unterschiedliche Lampen haben (schon auf das Wesentliche runterreduziert).

Also wann ist welche Lampe wie lange an und wie lange jeweils aus.

Jetzt schaust du dir die Zeitspannen zwischen den einzelnen Signalwechseln an (über alle Lampen) und ermittelst davon das Bei Google suchenkgV. Das wird dein Takt.

Jetzt unterteilst du das Diagramm in diese Takteinheiten und kannst diese Zustände (an/aus) in Arrays übertragen.

Mit einem Timer, der genau in dem ermittelten Takt feuert, kannst du nun durch das Array laufen und die Lampen Zustände übergeben. Am Ende angekommen, geht es am Anfang wieder los.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz