Re: Ports Kategorie: Programmierung Basic (von Cartasu_Perfektion is´was für Anfänger - 30.06.2010 14:54) | ||
Als Antwort auf Ports von Cartasu_Perfektion is´was für Anfänger - 30.06.2010 13:38 | ||
| ||
> Hallo Alle zusammen, Ich bin ein ábsoluter noobie was Programmierung angeht, aber um mit zwei lichtschranken+Taktscheibe entweder ein links oder ein rechts signal zu bekommen, brauche ich jetzt doch nen microcontroller. Bisher hat sich mein Selbststudium auf diskrete Schaltungen beim Bau meiner Fräse beschränkt und die C-control vom conrad-Restetisch lag nur rum- jetz muss sie ran, hier der code-der nicht so will > > ' Ports für Lichtschranken definieren > ' > #define LS_R Port_ReadBit(16) 'Eingang 1. Lichtschranke > #define LS_L Port_ReadBit(17) 'Eingang 2. Lichtschranke > > > > Dim Linksrechts As Byte ' globale Variablendeklaration > > '------------------------------------------------------------------------------ > 'Abfrage der Lichtschranke > ' > Sub Lichtschranke() > Port_DataDirBit(16,PORT_IN) > Port_DataDirBit(17,PORT_IN) > > If LS_L = 0 And LS_R = 1 And Linksrechts = 0 Then > Linksrechts = 1 > End If > > If LS_R = 0 And LS_L = 1 And Linksrechts = 0 Then > Linksrechts = 11 > End If > > > If LS_L = 0 And LS_R = 0 Then > Linksrechts = 0 > End If > > > > If LS_L = 1 And LS_R = 1 Then Linksrechts = 0 > > End If > > Return > End Sub > ' > '------------------------------------------------------------------------ > ' > Sub main() > > > ' Ports für Richtungsausgabe definieren > > Port_DataDirBit(18,PORT_OUT) > Port_DataDirBit(19,PORT_OUT) > Do > Lichtschranke() > > If Linksrechts = 1 Then > Port_WriteBit(18,PORT_ON) > End If > > If Linksrechts = 11 Then > Port_WriteBit(19,PORT_ON) > End If > > If Linksrechts = 0 Then Port_WriteBit(18,PORT_OFF):Port_WriteBit(19,PORT_OFF) > End If > > Loop While 1 > End Sub Nun, ich fänd es toll wenn mir einer sagte was verkehrt ist, denn: Ich habe die so programmierte C-control (wie man im Code sieht) mit Port C an ein Steckbrett angeschlossen, für die eingänge zwei optokoppler, die Portpin16&17 bei eingang von der Lichtschranke auf 5v ziehen, für die ausgänge Portpin 18&19 habe ich jeweils einen transistor verwendet, der den optokoppler bei high mit Masse schaltet, sodass auf der anderen Seite eine LED leuchtet---und nun: gehen die beiden! LED´s permanent an, und es gibt überhaupt keine zustandsänderung Trocken, also ohne prozessor verschaltet funktioniert´s | ||
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum