Hallo,
ich habe einiges Probiert und auch vieles davon früher/später hinbekommen. Jetzt habe ich mir eben mal ein Taster mit 2 Drähtchen zusammen gebastelt, den ich als Test-Sensor erstmal verwenden wollte. Den habe ich an meiner RN-Control zwischen +5V und Port A.2 (also den 3.) geklemmt. Mein ganz simples Motoren Test Progg soll anhalten bzw. den Motor anders herum drehen, sobald dieser Port durch den Taster auf High gesetzt wird.
Das tut es leider nicht. Programmier-technisch ist das auch noch nicht so schön gelöst, noch ist diese Prüfung in ner While Endlos Schleife, wodurch alle anderen Taster (die oboard) in der Zeit blockiert sind.
Vllt kann mir ja jemand helfen, hier erstmal der Code:
Danke!Code:$crystal = 16000000 $baud = 9600 $regfile = "m32def.dat" Config Adc = Single , Prescaler = Auto 'Für Tastenabfrage und Spannungsmessung Config Pina.2 = Input 'Testsensor Config Pina.7 = Input 'Für Tastenabfrage Porta.7 = 1 'Pullup Widerstand ein Porta.2 = 1 Config Portc = Output Config Portb = Output Dim Taster As Word Dim Sensor As Word Dim I As Integer Dim N As Integer Dim B As Boolean Ddrc = &B00000001 Do Start Adc Taster = Getadc(7) Sensor = Getadc(2) If Taster < 1010 Then Select Case Taster Case 410 To 450 'Taste 1: Motor 1 Dreht 1 Sound Portd.7 , 100 , 200 Ddrc = &B10000000 Do While Not B 'Dauernd prüfen If Sensor < 1000 Then Ddrc = &B00000000 'Wenn Hindernis, dann Rückwärts bzw. aus! Exit Do End If Loop Case 340 To 380 'Taste 2: Motor 1 Dreht 2 'Sound Portd.7 , 100 , 400 Ddrc = &B01000000 Case 265 To 305 'Taste 3: Motor 2 Dreht 1 'Sound Portd.7 , 100 , 200 Ddrb = &B00000010 Case 180 To 220 'Taste 4: Motor 2 Dreht 2 'Sound Portd.7 , 100 , 400 Ddrb = &B00000001 Case 80 To 150 'Taste 5: Motoren Stop 'Achtung, das Funzut auch noch nicht ganz, es geht nur der erste Motor aus!! Ddrc = &B00000000 'Motor 1 Ddrb = &B00000000 'Motor 2 End Select End If Loop End







Zitieren

Lesezeichen