Elektronik Experimente

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
rayman1970
Beiträge: 89
Registriert: 01.09.2004 16:10
Wohnort: Troisdorf bei Bonn
Kontaktdaten:

Elektronik Experimente

Beitrag von rayman1970 »

Hi !

Mir hat der Weihnachtsmann gestern Abend was wirkliches Tolles untern Baum gelegt , einen Elektronik Experimentierkasten für den PC ! Näheres dazu könnt ihr euch hier anschauen : http://www.elexs.de/zusatz.htm
Es ist bei dem Paket eine DLL dabei , die man sich aber auch hier kostenlos runter laden kann : http://www.elexs.de/elexs2/elexsdll.zip

Es macht wirklich Spass damit zu experimentieren !
Das ist eins meiner ersten Programme mit der ELEXS DLL . Da seht ihr wie super einfach es ist etwas damit anzusteuern !

Vielleicht interessiert es ja einige von euch .

Gruss Rayman

Code: Alles auswählen

If OpenLibrary(0, "ELEXS.DLL")

  Ausgang1 = 0 ; AUS
  Ausgang2 = 1 ; AN
  CallFunction(0, "OPENCOM","COM1:1200,N,8,1") ; --- ComPort öffnen ---
  
  
  
  If Ausgang1 = 1 ; ----- Ausgang 1 AN/AUS ----- 
    CallFunction(0,"DTR",0)
  Else 
    CallFunction(0,"DTR",1)
  EndIf ; --------------------------------------   
  
  If Ausgang2 = 1 ; ----- Ausgang 2 AN/AUS -----
    CallFunction(0,"RTS",0)
  Else
    CallFunction(0,"RTS",1)
  EndIf ; -------------------------------------- 
  
  Eingang1 = CallCFunction(0,"DSR") ; --- Eingang 1 einlesen --- 
  
  Debug ( Eingang1 ) ; --- Das Ergebnis vom Eingang 1 ---
  
  Delay(3000) ; --- 3 Sekunden warten um zu sehen was der ComPort alles macht --- 
  
  CallFunction(0, "CLOSECOM") ; --- ComPort schliessen ---
  
  
EndIf
CloseLibrary(0)
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Die Schaltung ließe sich auch ganz einfach über die LIB
MVCOM LIBRARY steuern. Dazu bräuchte man dann nicht mehr die
zusätzliche DLL. Die Schaltung mit der Fernbedienung ist interessant.
Die passenden Bauteile hatte ich mir mal von reichelt.de bestellt.

Gruß Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
RAaBe
Beiträge: 80
Registriert: 07.09.2004 12:52
Wohnort: Münsterland
Kontaktdaten:

Beitrag von RAaBe »

Frohe Weihnachen zusammenen!

@Falko:
Einen weiteren interessanten Empfänger findest du hier:
http://www.sixdots.de/?id=miriam.receiv ... al&lang=de

inkl. passender Software, nur so als Info.
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Ebenfalls frohe Weihnachten @RAaBe

Kommt mir bekannt vor. Daher habe ich erst über diesen Empfänger
erfahren und mit meinem Sohn diese Schaltung nachgebaut. Das Schöne
damit ist eben, das man den PC mit jeder Fernbedienung steuern kann.
Bestes Beispiel wäre Präsentationen in der Schule (mein Sohn ist damit
bestens zufrieden).

Nochmals danke für den Tip.
:allright:
Gruß Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
RAaBe
Beiträge: 80
Registriert: 07.09.2004 12:52
Wohnort: Münsterland
Kontaktdaten:

Beitrag von RAaBe »

@Falko:
kein Problem, ich steuere meinen PC im Wohnzimmer (MP3's) damit
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

@RAaBe

Zwar habe ich einen DVD-Player, aber du bringst mich auf eine Idee. Da
ich ja noch 2 ältere PC's habe wäre ein DVD-Recorder eine gute
Möglichkeit zum Aufnehmen und zum Brennen und das mit einer Fernbedienung. Die hatte ich mir mal bei www.Pollin.de zum Sonderpreis
gekauft. Aber das wird leider erst noch warten müssen, bis meine linke
Hand aus der Schiene kommt und wieder beweglich ist (ich hoffe es).

Gruß Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
RAaBe
Beiträge: 80
Registriert: 07.09.2004 12:52
Wohnort: Münsterland
Kontaktdaten:

Beitrag von RAaBe »

@Falko:

Dann mal alles gute weiterhin mit deiner Hand.
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Danke :)
Bild
Win11 Pro 64-Bit, PB_6.11b1
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Ja geil ich habs nu auch und hier mein Morseprogramm(Einfach den LED Blinker mit 1 LED nachbasteln):

MVCom Lib wird benötigt

Code: Alles auswählen

Dim Time.l(27)

Time(0) = 20
Time(1) = 50
For k='a' To 'z'
  m = (k-'a')+2
  Time(m) = (50*m)+100
Next

Global HCom

Procedure Blink(Time.l)
   ComSetDTR(HCom,1)
   ComSetRTS(HCom,1)
   ComSetTXD(HCom,1)
   Delay(Time)
   ComSetDTR(HCom,0)
   ComSetRTS(HCom,0)
   ComSetTXD(HCom,0)
EndProcedure

Port.s = "com1:1200,n,8,1"
Handshake.l = 1
Buffer.l = 1024

HCom.l = ComOpen(Port,Handshake,Buffer,Buffer)
If HCom > 0

#WindowWidth  = 300
#WindowHeight = 80
#WindowFlags  = #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered | #PB_Window_SystemMenu

hWnd = OpenWindow(0, 0, 0, #WindowWidth, #WindowHeight, #WindowFlags, "")

CreateGadgetList(WindowID())
StringGadget  (0, 0             , 0 , #WindowWidth  , 20, "Message")
CheckBoxGadget(4, 0             , 20, #WindowWidth  , 20, "Loop"   )
ButtonGadget  (2, 0             , 40, #WindowWidth/2, 20, "Start"  )
ButtonGadget  (3, #WindowWidth/2, 40, #WindowWidth/2, 20, "Stop"   )

CreateStatusBar(0, WindowID())
AddStatusBarField(#WindowWidth)

Char.s = ""

Repeat
  If Blink <> 0
    CharNum + 1
    If CharNum > Len(Text.s)
      If Loop = 0
      Blink = 0
      Else
      Blink = 1
      EndIf
      CharNum = 0
    Else
      Char.s = Mid(Text, CharNum, 1)
      StatusBarText(0, 0, "Status: "+Char)
      m = (Asc(Char)-'a')+2
      If m > 0 And m < 28
      If Asc(Char) <> 1
      Blink(Time(m))
      Delay(Time(0))
      Else
      Blink(Time(1))
      Delay(Time(0))
      EndIf
      EndIf
    EndIf
  EndIf
  Loop = GetGadgetState(4)
  Event = WindowEvent()
  Select Event
    Case #PB_Event_Gadget
      Select EventGadgetID()
        Case 2
          Blink = 1
          Text.s = LCase(GetGadgetText(0))
          Text.s = ReplaceString(Text, " ", Chr(1))
          Char.s = ""
          CharNum = 0
        Case 3
          Blink = 0
          Text.s = ""
          Char.s = ""
          CharNum = 0
          ComSetDTR(HCom,0)
          ComSetRTS(HCom,0)
          ComSetTXD(HCom,0)
      EndSelect
  EndSelect
  Delay(10)
Until Event = #PB_Event_CloseWindow
ComClose(HCom)
EndIf
End
Und ein Lichtmessgerät aus der Firma meines Vaters hab ich auch schon nachgebastelt :allright:
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
rayman1970
Beiträge: 89
Registriert: 01.09.2004 16:10
Wohnort: Troisdorf bei Bonn
Kontaktdaten:

Beitrag von rayman1970 »

Hi !
Ich schreibe gerade für PB ein paar Proceduren mit denen sowas einfacher geht als bisher !
Das ist mein momentaner Stand an Befehlen :
4 Befehle zum Ansteuern der Ausgänge
1 Befehl zum Dimmen eines LCDs
2 Befehle zum Ansteuern des Comports
1 Befehl zum Auslesen des Comports

Jetzt bin ich gerade Befehle zum Senden/Empfangen des IR Signals am programmieren .
Es wartet noch ziemlich viel Arbeit auf mich denn mir schweben da noch jede Menge weitere Befehle vor ;-)

Gruss Rayman
Antworten