Lieber Besucher, herzlich willkommen bei: Das Wettringer Modellbauforum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.
Wenn das keine Aufforderung ist, dann hätte Willie besser geschrieben: "Maik, zeichne mal ein Schaltbild."Es wäre für die Anfänger nachvollziehbarer, wenn du zu Änderungsvorschlägen (z.B. Transistor am Ausgang oder Entprellkondensator) ein kleines Schaltbild einfügen würdest. Dann kann jeder Interessierte im Rahmen der Hausaufgabe bzw. seines Bastelbudgets, für sich selbst entscheiden, ob er die zusätzlichen Teile einkauft und die für ihn passende Variante ausprobiert.
Das Nützliche meinerseits beschränkt sich auf das Ausbessern deiner falschen Dogmen. Beim Rest vom thread hab' ich nichts zu kritisieren, das hab' ich ja schon geschrieben.Seltsam - von dir lese ich nichts Nützliches... Im Gegenteil sogar... motzen, motzen, motzen.
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
'***************************************** ' ' ' Blinker (8-Kanal) mit Modusumschaltung ' ' '***************************************** ' Verwendung des ULN2803A ' PortB.x -- ULN In --- ULN Out -- Kathode LED -- Anode LED --- 1k -- +12 oder +5 V. ' Taster an Pin 11 --- GND ' ' ***** Genutzter Microcontroller, Takt in Hz, Stacks & Framesize $regfile = "attiny4313.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 '***** Variable Dim I As Byte ' Standard-Zählvariable Dim Modus_nummer As Byte ' selbsterklärend Dim Led_sequenz(8) As Word ' 8 LED-Sequenzen à 16 Schaltzustände Dim Impuls As Byte ' legt die Impulsdauer fest Dim Sequenz As Byte ' Länge der Sequenz Werte 0 - 15 entsprechen 1 - 16 Sequenzbits '******************************* '* '* Spielwiese 1 '* '******************************* Impuls = 150 ' Impulsdauer in Millisekunden Sequenz = 15 ' s. o. '******************************* '* '* Ende Spielwiese 1 '* '******************************* ' '***** Configs & Interrupts ' Portpin-Configs & Alias Config Portb = Output Led1 Alias Portb.0 Led2 Alias Portb.1 Led3 Alias Portb.2 Led4 Alias Portb.3 Led5 Alias Portb.4 Led6 Alias Portb.5 Led7 Alias Portb.6 Led8 Alias Portb.7 Config Portd.6 = Input ' Eingabeportpin bestimmen Modus_plus Alias Pind.6 ' Aufpassen:Nicht PORTD.6 sondern PIND.6 - wir fragen ja einen INput ab Portd.6 = 1 ' Pullupwiderstand einschalten Do For I = 0 To Sequenz Led1 = Led_sequenz(1).i Led2 = Led_sequenz(2).i Led3 = Led_sequenz(3).i Led4 = Led_sequenz(4).i Led5 = Led_sequenz(5).i Led6 = Led_sequenz(6).i Led7 = Led_sequenz(7).i Led8 = Led_sequenz(8).i Waitms Impuls Debounce Modus_plus , 0 , Modusumschaltung , Sub Next I Loop End '******************************* '* '* Unterprogramm & Spielwiese 2 '* '******************************* Modusumschaltung: ' Name des Unterprogramms. Doppelpunkt nicht vergessen! If Modus_plus = 0 Then Incr Modus_nummer ' addiert 1 auf Modus_nummer. Wir könnten auch schreiben: Modus_nummer = Modus_nummer + 1 Bitwait Modus_plus , Set End If ' Taster nicht mehr gedrückt? 'If Modus_nummer = 255 Then Modus_nummer = 0 ' Hausaufgabe ;-) If Modus_nummer > 3 Then Modus_nummer = 0 ' Wir haben nur drei Modi I = 0 ' Sequenzbitzähler zurücksetzen Select Case Modus_nummer Case 0: Led_sequenz(1) = &B0000000000000000 ' Alle Sequenzen aus; Led_sequenz(x) = 0 geht auch. Led_sequenz(2) = &B0000000000000000 Led_sequenz(3) = &B0000000000000000 Led_sequenz(4) = &B0000000000000000 Led_sequenz(5) = &B0000000000000000 Led_sequenz(6) = &B0000000000000000 Led_sequenz(7) = &B0000000000000000 Led_sequenz(8) = &B0000000000000000 Case 1: Led_sequenz(1) = &B0000000000000000 ' Sequenzen für Led7 und 8 Led_sequenz(2) = &B0000000000000000 Led_sequenz(3) = &B0000000000000000 Led_sequenz(4) = &B0000000000000000 Led_sequenz(5) = &B0000000000000000 Led_sequenz(6) = &B0000000000000000 Led_sequenz(7) = &B1100110011001100 Led_sequenz(8) = &B0011001100110011 Case 2: Led_sequenz(1) = &B0000000000000000 ' Sequenzen für Led4 - 6 Led_sequenz(2) = &B0000000000000000 Led_sequenz(3) = &B0000000000000000 Led_sequenz(4) = &B1111000011110000 Led_sequenz(5) = &B0101000001010000 Led_sequenz(6) = &B0001010100010101 Led_sequenz(7) = &B0000000000000000 Led_sequenz(8) = &B0000000000000000 Case 3: Led_sequenz(1) = &B0000010100000101 ' Alle Sequenzen an Led_sequenz(2) = &B0001010000101000 Led_sequenz(3) = &B0000111100001111 Led_sequenz(4) = &B1111000011110000 Led_sequenz(5) = &B0101000001010000 Led_sequenz(6) = &B0001010100010101 Led_sequenz(7) = &B1100110011001100 Led_sequenz(8) = &B0011001100110011 End Select Return |
Blinker, Blitzer, led, Mikrocontroller, Schrittmotor, Sensor, Servo, Sound, Soundmodul
Forensoftware: Burning Board®, entwickelt von WoltLab® GmbH