Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Velleman Board: Digital Channel soll 3 Sekunden länger aktiv bleiben.

Mitglied: Sudden

Sudden (Level 1) - Jetzt verbinden

05.12.2013 um 15:38 Uhr, 1194 Aufrufe, 3 Kommentare

Hallo Admins,

vielleicht kennt ihr das Experimentierboard K8055N von Velleman. Ich habe eine Schaltung aufgebaut, die mit Hilfe einer Lichtschranke eine analoge Klingel schaltet.
D.h.: wenn jemand die Lichtschranke passiert, läutet die Klingel. Jetzt habe ich aber folgendes Problem: Das Klingeln ist zu Kurz. ich möchte dass der Digitale Ausgang an dem das Relais montiert ist, welches die Klingel auslöst 3 Sekunden aktiviert ist und nicht nur die kurze Zeit in der die Lichtschranke unterbrochen ist.
Muss ich einen zweiten Timer benutzen oder so? Mir fällt wirklich nichts ein.

Hier ist der Code:

01.
Public Class Form1 
02.
    Private Declare Function OpenDevice Lib "k8055d.dll" (ByVal CardAddress As Integer) As Integer 
03.
    Private Declare Sub CloseDevice Lib "k8055d.dll" () 
04.
    Private Declare Function Version Lib "k8055d.dll" () As Integer 
05.
    Private Declare Function SearchDevices Lib "k8055d.dll" () As Integer 
06.
    Private Declare Function SetCurrentDevice Lib "k8055d.dll" (ByVal CardAddress As Integer) As Integer 
07.
    Private Declare Function ReadAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer) As Integer 
08.
    Private Declare Sub ReadAllAnalog Lib "k8055d.dll" (ByRef Data1 As Integer, ByRef Data2 As Integer) 
09.
    Private Declare Sub OutputAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer, ByVal Data As Integer) 
10.
    Private Declare Sub OutputAllAnalog Lib "k8055d.dll" (ByVal Data1 As Integer, ByVal Data2 As Integer) 
11.
    Private Declare Sub ClearAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer) 
12.
    Private Declare Sub SetAllAnalog Lib "k8055d.dll" () 
13.
    Private Declare Sub ClearAllAnalog Lib "k8055d.dll" () 
14.
    Private Declare Sub SetAnalogChannel Lib "k8055d.dll" (ByVal Channel As Integer) 
15.
    Private Declare Sub WriteAllDigital Lib "k8055d.dll" (ByVal Data As Integer) 
16.
    Private Declare Sub ClearDigitalChannel Lib "k8055d.dll" (ByVal Channel As Integer) 
17.
    Private Declare Sub ClearAllDigital Lib "k8055d.dll" () 
18.
    Private Declare Sub SetDigitalChannel Lib "k8055d.dll" (ByVal Channel As Integer) 
19.
    Private Declare Sub SetAllDigital Lib "k8055d.dll" () 
20.
    Private Declare Function ReadDigitalChannel Lib "k8055d.dll" (ByVal Channel As Integer) As Boolean 
21.
    Private Declare Function ReadAllDigital Lib "k8055d.dll" () As Integer 
22.
    Private Declare Function ReadCounter Lib "k8055d.dll" (ByVal CounterNr As Integer) As Integer 
23.
    Private Declare Sub ResetCounter Lib "k8055d.dll" (ByVal CounterNr As Integer) 
24.
    Private Declare Sub SetCounterDebounceTime Lib "k8055d.dll" (ByVal CounterNr As Integer, ByVal DebounceTime As Integer) 
25.
    Private Declare Function ReadBackDigitalOut Lib "k8055d.dll" () As Integer 
26.
    Private Declare Sub ReadBackAnalogOut Lib "k8055d.dll" (ByRef Buffer As Integer) 
27.
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
28.
        OpenDevice(0) 
29.
        Label1.Text = "Alarm scharf!" 
30.
        CheckBox2.Checked = True 
31.
 
32.
        Timer1.Enabled = True 
33.
    End Sub 
34.
 
35.
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 
36.
        CloseDevice() 
37.
        Label1.Text = "Alarm unscharf!" 
38.
        CheckBox2.Checked = False 
39.
 
40.
 
41.
    End Sub 
42.
 
43.
    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged 
44.
        If CheckBox1.Checked Then SetDigitalChannel(1) Else ClearDigitalChannel(1) 
45.
    End Sub 
46.
 
47.
    Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged 
48.
 
49.
    End Sub 
50.
 
51.
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 
52.
        Dim i As Integer 
53.
        i = ReadAllDigital 
54.
        Timer1.Enabled = False 
55.
        CheckBox3.Checked = i And 1 
56.
        Timer1.Enabled = True 
57.
    End Sub 
58.
 
59.
    Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox3.CheckedChanged 
60.
        If CheckBox3.Checked Then SetDigitalChannel(2) Else ClearDigitalChannel(2) 
61.
    End Sub 
62.
End Class
Vilen Dank schonmal im vorraus. Bin echt gespannt wie ich das lösen kann.


MfG,


Sudden
Mitglied: colinardo
LÖSUNG 07.12.2013, aktualisiert 11.12.2013
Hallo Sudden,
kannst du z.B. mit einem zweiten Timer machen welcher einen Intervall von 3 Sekunden hat, und welcher in seinem Tick Event den digitalen Port ausschaltet und sich danach selber deaktiviert. Zusätzlich musst du dann aber in deinem Haupt-Timer abfragen ob der zweite Timer läuft, und nur wenn er nicht läuft soll die Klingel abgeschaltet werden können.
Der Timer heißt im Beispiel counter.
01.
Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox3.CheckedChanged 
02.
        If CheckBox3.Checked Then  
03.
           if not counter.Enabled then 
04.
              SetDigitalChannel(2)  
05.
              counter.Enabled = True 
06.
           end if 
07.
        Else  
08.
           if not counter.Enabled then 
09.
              ClearDigitalChannel(2) 
10.
           end if 
11.
        End if 
12.
End Sub 
13.
 
14.
 Private Sub counter_Tick(sender As System.Object, e As System.EventArgs) Handles counter.Tick 
15.
        ClearDigitalChannel(2) 
16.
        counter.Enabled = False 
17.
 End Sub
p.s. Das Gedöns mit dem Binden an die Checked-Ereignisse der Checkboxen ist, hust..., nicht gerade optimal ....
Kenne das Board jetzt nicht, aber mach das doch alternativ so: (counter hat einen Interval von 3000ms)
01.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
02.
    OpenDevice(0) 
03.
    Label1.Text = "Alarm scharf!" 
04.
    CheckBox2.Checked = True 
05.
    Timer1.Enabled = True 
06.
End Sub 
07.
 
08.
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 
09.
    CloseDevice() 
10.
    Label1.Text = "Alarm unscharf!" 
11.
    CheckBox2.Checked = False 
12.
    Timer1.Enabled = False 
13.
End Sub 
14.
 
15.
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged 
16.
    If CheckBox1.Checked Then SetDigitalChannel(1) Else ClearDigitalChannel(1) 
17.
End Sub 
18.
 
19.
 
20.
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 
21.
    Dim i As Integer 
22.
    i = ReadAllDigital 
23.
 
24.
    If i And 1 Then 
25.
        If Not counter.Enabled Then 
26.
            SetDigitalChannel(2) 
27.
            checkbox3.checked = True 
28.
        End If 
29.
    Else 
30.
        If Not counter.Enabled Then 
31.
            ClearDigitalChannel(2) 
32.
            checkbox3.checked = False 
33.
        End If 
34.
    End If 
35.
End Sub 
36.
 
37.
Private Sub counter_Tick(sender As System.Object, e As System.EventArgs) Handles counter.Tick 
38.
    counter.Enabled = False 
39.
End Sub
Grüße Uwe
Bitte warten ..
Mitglied: Sudden
10.12.2013 um 14:51 Uhr
Hi Uwe,

Vielen Dank für den Denkanstoß. Sitze leider noch in der Schule herum. Melde mich wenn ichs probiert habe.

MfG,

Sudden
Bitte warten ..
Mitglied: Sudden
11.12.2013 um 11:09 Uhr
Hi Uwe,

habs verstanden. Vielen, vielen Dank!

MfG,

Sudden
Bitte warten ..
Ähnliche Inhalte
Hardware

Computer startet nur 3 sekunden dann ist schluss

gelöst Frage von NakaronHardware17 Kommentare

Hallo Leute, Ich habe heute meinen neune Pc zusammen gebaut. Jedoch habe ich das Problem das es nach 3 ...

Datenbanken

MySql Set oConn sind 4 Sekunden zu lang?

Frage von zeroblue2005Datenbanken

Hallo Zusammen, wir haben einen alten Server 2k8 R2 am laufen mit: Apache/2.2.14 (Win32) DAV/2 mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 ...

Grafikkarten & Monitore

3 Monitore mit Matrox TripleHead2Go Digital Edition

gelöst Frage von Welly92Grafikkarten & Monitore7 Kommentare

Hallo liebe Gemeinde, leider bin ich in Sachen Grafik & Co absoluter Neuling. ich habe an meinem Schreibtisch drei ...

Grafikkarten & Monitore

Grafikkarte mit 3 x Digitalem Video Ausgang

Frage von Zero01Grafikkarten & Monitore3 Kommentare

Hallo, ich suche schon seit einer Weile eine möglichst günstige Grafikkarte die drei digitale Ausgänge hat (1x DVI und ...

Neue Wissensbeiträge
Windows 10

Neue Sicherheitslücke in Windows 10 (Version 1709) durch Google öffentlich geworden

Information von kgborn vor 8 StundenWindows 10

Vor ein paar Tagen haben Googles Sicherheitsforscher vom Projekt Zero eine Sicherheitslücke im Edge-Browser publiziert. Jetzt wurde eine weitere ...

iOS
IOS 11.2.6 verfügbar
Information von sabines vor 14 StundeniOS

Mit dem Update soll der Bug behoben werden, bei dem eine bestimmte Zeichenkette IOS zum Absturz gebracht hat.

Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 TagSicherheit8 Kommentare

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 1 TagInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Heiß diskutierte Inhalte
Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server25 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

LAN, WAN, Wireless
VPN Cisco ASA5505 PaloAlto PA-200
gelöst Frage von YannoschLAN, WAN, Wireless22 Kommentare

Hallo zusammen, ich würde gerne ein Site-to-Site VPN zwischen den beiden Standorten aufbauen. PaloAlto PA200 Internetanschluss Deutsche Telekom GK ...

Visual Studio
Singletone Objekt in Datei speichern
gelöst Frage von it4baerVisual Studio13 Kommentare

Hallo, ist es möglich ein Singleton-Objekt zu "serialisieren" und dann in eine Datei zu speichern um es später wieder ...