3 Led Zeitgesteuert

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • 3 Led Zeitgesteuert

      Ein schöne guten Tag Forum,

      ich habe wieder ein Problem, ich habe ein Prg. mit Drei Led die geht eine nach der andere ein und eine nach der andere aus mit ein Buzz.
      nun möchte ich gern wenn die Drei Led an sind und nach 5 sec. sollen 3 mal internander Blinken und dann eine nach der andere wieder aus
      gehen, mir gelingt nicht das 3 mal blinken sonst läuft das Prg. wunderbar und ihr das Prg. Ich danke euch sehr schon in voraus.
      Gruß Antonio


      BASCOM-Quellcode

      1. $regfile = "attiny13.dat"
      2. $crystal = 1200000 'Standard- Takt 9,6 MHz / 8
      3. $hwstack = 0
      4. $swstack = 0
      5. $framesize = 0
      6. Baud = 9600
      7. Config Pinb.1 = Input
      8. Config Portb.0 = Output 'Taster(S1)
      9. Config Portb.2 = Output 'Schaltausgang1
      10. Config Portb.3 = Output 'Schaltausgang2
      11. Config Portb.4 = Output 'Buzzer
      12. Buzz Alias Portb.4
      13. '-------------------------------------------------------------------------------
      14. 'Hauptprogramm
      15. '-------------------------------------------------------------------------------
      16. Do 'Beginn der Schleife
      17. If Pinb.1 = 1 Then 'Anfang Der If Bedingung
      18. Portb.0 = 1 'Schaltausgang1 wird gesetzt
      19. Buzz = 1 : Waitms 10 : Buzz = 0 'Buzzer wird gesetzt, 1 Sekunden warten, Buzzer wird resetet
      20. Wait 20 '2 Sekunden warten
      21. Portb.2 = 1 'Schaltausgang2 wird gesetzt
      22. Buzz = 1 : Waitms 10 : Buzz = 0 'Buzzer wird gesetzt, 1 Sekunden warten, Buzzer wird resetet
      23. Wait 20 '2 Sekunden warten
      24. Portb.3 = 1 'Schaltausgang3 wird gesetzt
      25. Buzz = 1 : Waitms 10 : Buzz = 0 'Buzzer wird gesetzt, 1 Sekunden warten, Buzzer wird resetet
      26. Wait 20 '2 Sekunden warten
      27. Toggle Portb.0
      28. Waitms 100
      29. Wait 6
      30. Portb.0 = 0 'Schaltausgang1 wird resetet
      31. Buzz = 1 : Waitms 10 : Buzz = 0 'Buzzer wird gesetzt, 1 Sekunden warten, Buzzer wird resetet
      32. Wait 4 '2 Sekunden warten
      33. Portb.2 = 0 'Schaltausgang2 wird resetet
      34. Buzz = 1 : Waitms 10 : Buzz = 0 'Buzzer wird gesetzt, 1 Sekunden warten, Buzzer wird resetet
      35. Wait 8 '2 Sekunden warten
      36. Portb.3 = 0 'Schaltausgang3 wird resetet
      37. Buzz = 1 : Waitms 10 : Buzz = 0 'Buzzer wird gesetzt, 1 Sekunden warten, Buzzer wird resetet
      38. Wait 12 '2 Sekunden warten
      39. End If 'Ende der If Bedingung
      40. Loop 'Ende der Schleife
      Alles anzeigen


      Teilen dein Wissen, so erlagst du zu Unsterblichkeit
    • Hallo Antonio,
      Dein Taster hat keinen Pullup (oder als Hardware?) Bei Deinen Waitvorgaben stimmten einige Werte nicht (20 statt 2 Sekunden zum Beispiel). und für den Buzzer (wenn er keine Elektronik hat) eignet sich Sound besser.

      Hier mal q&d ein laufendes Programm (auf meinem Attiny13 Experimentierboard).

      Gruß Christian.

      BASCOM-Quellcode

      1. $regfile = "attiny13.dat"
      2. $crystal = 1200000 'Standard- Takt 9,6 MHz / 8
      3. $hwstack = 0
      4. $swstack = 0
      5. $framesize = 0
      6. Baud = 9600
      7. Config Pinb.1 = Input 'Taster(S1)
      8. Portb.1 = 1 'Pullup einschalten
      9. Config Portb.0 = Output
      10. Config Portb.2 = Output 'Schaltausgang1
      11. Config Portb.3 = Output 'Schaltausgang2
      12. Config Portb.4 = Output 'Buzzer
      13. Buzz Alias Portb.4
      14. '-------------------------------------------------------------------------------
      15. 'Hauptprogramm
      16. '-------------------------------------------------------------------------------
      17. Do 'Beginn der Schleife
      18. If Pinb.1 = 0 Then 'Anfang Der If Bedingung
      19. Portb.0 = 1 'Schaltausgang1 wird gesetzt
      20. sound portb.4, 100,100
      21. 'Buzz = 1 : Waitms 10 : Buzz = 0 'Buzzer wird gesetzt, 1 Sekunden warten, Buzzer wird resetet
      22. Wait 2 '2 Sekunden warten
      23. Portb.2 = 1 'Schaltausgang2 wird gesetzt
      24. 'Buzz = 1 : Waitms 10 : Buzz = 0 'Buzzer wird gesetzt, 1 Sekunden warten, Buzzer wird resetet
      25. sound portb.4, 100,100
      26. Wait 2 '2 Sekunden warten
      27. Portb.3 = 1 'Schaltausgang3 wird gesetzt
      28. sound portb.4, 100,100
      29. 'Buzz = 1 : Waitms 10 : Buzz = 0 'Buzzer wird gesetzt, 1 Sekunden warten, Buzzer wird resetet
      30. Wait 2 '2 Sekunden warten
      31. 'Toggle Portb.0 ??????????????????????
      32. Wait 5
      33. Portb.0 =0
      34. Portb.2=0
      35. Portb.3=0
      36. waitms 500
      37. Portb.0 =1
      38. Portb.2=1
      39. Portb.3=1
      40. waitms 500
      41. Portb.0 =0
      42. Portb.2=0
      43. Portb.3=0
      44. waitms 500
      45. Portb.0 =1
      46. Portb.2=1
      47. Portb.3=1
      48. waitms 500
      49. Portb.0 =0
      50. Portb.2=0
      51. Portb.3=0
      52. waitms 500
      53. Portb.0 =1
      54. Portb.2=1
      55. Portb.3=1
      56. waitms 500
      57. Portb.0 = 0 'Schaltausgang1 wird gesetzt
      58. sound portb.4, 100,100
      59. 'Buzz = 1 : Waitms 10 : Buzz = 0 'Buzzer wird gesetzt, 1 Sekunden warten, Buzzer wird resetet
      60. Wait 2 '2 Sekunden warten
      61. Portb.2 = 0 'Schaltausgang2 wird gesetzt
      62. 'Buzz = 1 : Waitms 10 : Buzz = 0 'Buzzer wird gesetzt, 1 Sekunden warten, Buzzer wird resetet
      63. sound portb.4, 100,100
      64. Wait 2 '2 Sekunden warten
      65. Portb.3 = 0 'Schaltausgang3 wird gesetzt
      66. sound portb.4, 100,100
      67. 'Buzz = 1 : Waitms 10 : Buzz = 0 'Buzzer wird gesetzt, 1 Sekunden warten, Buzzer wird resetet
      68. Wait 2 '2 Sekunden warten
      69. End If 'Ende der If Bedingung
      70. Loop 'Ende der Schleife
      Alles anzeigen
      Wenn das die Lösung ist, möchte ich mein Problem wieder haben.
    • Oder so:

      BASCOM-Quellcode

      1. '-------------------------------------------------------
      2. 'Kleines Blinkprogramm mit Buzzerausgabe über sound
      3. '-------------------------------------------------------
      4. '-------------------------------------------------------------------------------
      5. 'Grundeinstellungen Attiny 13
      6. '-------------------------------------------------------------------------------
      7. $regfile = "attiny13.dat"
      8. $crystal = 1200000 'Standard- Takt 9,6 MHz / 8
      9. $hwstack = 6
      10. $swstack = 6
      11. $framesize = 28
      12. '-------------------------------------------------------------------------------
      13. 'Configutration
      14. '-------------------------------------------------------------------------------
      15. Config Pinb.1 = Input 'Taster(S1)
      16. Portb.1 = 1 'Pullup einschalten
      17. Taster alias pinb.1
      18. Config Portb.0 = Output 'Schaltausgang1
      19. LED_1 alias portb.0
      20. Config Portb.2 = Output 'Schaltausgang2
      21. led_2 alias portb.2
      22. Config Portb.3 = Output 'Schaltausgang3
      23. led_3 alias portb.3
      24. Config Portb.4 = Output 'Buzzer
      25. Buzzer Alias Portb.4
      26. '-------------------------------------------------------------------------------
      27. 'Variable deklarieren
      28. '-------------------------------------------------------------------------------
      29. dim I as byte
      30. '-------------------------------------------------------------------------------
      31. 'Hauptprogramm
      32. '-------------------------------------------------------------------------------
      33. Do 'Beginn der Schleife
      34. If Taster = 0 Then 'Anfang Der If Bedingung
      35. '-------------------------------------------------------
      36. 'LED´s einschalten
      37. '-------------------------------------------------------
      38. Led_1=1 'Schaltausgang1 wird gesetzt
      39. sound buzzer, 100,100
      40. wait 2
      41. Led_2=1 'Schaltausgang2 wird gesetzt
      42. sound buzzer, 100,100
      43. wait 2
      44. Led_3=1 'Schaltausgang3 wird gesetzt
      45. sound buzzer, 100,100
      46. wait 5
      47. '-------------------------------------------------------
      48. 'Blinkschleife
      49. for I = 1 to 6
      50. toggle led_1
      51. toggle led_2
      52. toggle led_3
      53. waitms 500
      54. next I
      55. '-------------------------------------------------------
      56. wait 2
      57. '-------------------------------------------------------
      58. 'LED´s ausschalten
      59. '-------------------------------------------------------
      60. Led_1=0 'Schaltausgang1 wird gesetzt
      61. sound buzzer, 100,100
      62. wait 2
      63. Led_2=0 'Schaltausgang2 wird gesetzt
      64. sound buzzer, 100,100
      65. wait 2
      66. Led_3=0 'Schaltausgang3 wird gesetzt
      67. sound buzzer, 100,100
      68. wait 2
      69. End If 'Ende der If Bedingung
      70. Loop 'Ende der Schleife
      71. end 'end programm
      Alles anzeigen
      Wenn das die Lösung ist, möchte ich mein Problem wieder haben.
    • Hallo Christian guten Tag,

      vielendanken Christian genau so wollte ich das haben, das hätte ich aber nie sohinbekommen
      ich habe vieles Vergessen gelöscht in meinem Kopf, durchtschoeatsch Hilfe bin in der Lage
      solche Kleinigkeit zu mache.
      also noch mal danke und vielen Grüßen.

      Antonio


      Christian der Zweite ist übersichtlicher für mich aber er Funktioniert genau so wunderbar und der Taste Pullup einschalten
      hatte total vergessen darum ging auch nicht na ja bis bald Christian und danke.
      Teilen dein Wissen, so erlagst du zu Unsterblichkeit

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ledblu ()

    • Hallo Antonio,
      ja, man wird nicht jünger und die Schwierigkeiten werden größer. Da hilft es oftmals ein Programm nicht einfach `drauflos zu schreiben, sondern etwas strukturiert vorzugehen. Sozusagen als Gedankenstütze.

      Dabei ist es hilfreich, erst einmal der Reihe nach (untereinander) aufzuschreiben, was das Programm wann im einzelnen machen soll und auch die gewünschten Wartezeiten (wenn das Programm nichts machen soll) aufzuschreiben.

      Das kann man "zu Fuß" mit Stift und Papier machen, ich nutze dafür ein PAP- Programm (welches Michael immer wärmstens empfielt und auch wirklich gut ist). Vorteil bei dem Programm ist, dass man die Ablaufpläne leicht in´s Forum stellen kann.

      Für Dein Programm sähe das zunächst in etwa so aus:
      Blinkprogramm Antonio.png
      Damit würde man sich das Schreiben des Programms schon sehr erleichtern, weil man jetzt Punkt für Punkt anhand des Ablaufplans die Codezeilen schreiben könnte.

      Man kann den Ablaufplan (egal ob handschriftlich oder im Computer) aber auch nutzen, um neben die einzelnen Symbolen direkt den entsprechenden BASCOM- Code zu schreiben. Wenn man das sorgfältig und genau macht, muß lediglich der Programmcode von oben nach unten übertragen werden.

      Für Dein Programm sähe das dann in etwa so aus:
      Blinkprogramm Antonio 2.png

      So eine Vorgehensweise sollte Dir helfen, Deine Programmwünsche auch selbstständig zu verwirklichen, da Du Dir nicht alles gleichzeitig merken mußt, sondern Schritt für Schritt vorgehen kannst. So kommst Du nicht durcheinander.

      Gruß Christian
      Wenn das die Lösung ist, möchte ich mein Problem wieder haben.
    • Hallo Christian,

      ichdanke dir das sind tolle Tipps das Pap Programm habe schon runtergeladen und installiert,
      aber ohne ein wenig Erklärung na ja, ich Denke wenn total Gesundist wie Du kein Problem,
      vor 10 Jahren sah die Welt ganz anders bei mir aus und Heute? ichversuche alles um mich fit zu halten
      aber es gibt grenzen bei mir dennoch bin immer für gute Vorschlägenich werde wahrscheinlich
      Dir ein Paar Frage stellen so wie bei Sprint Layout weis Dunoch? Ging fast zu schnell aber alles
      hat gesetzt also noch mal vielen, vielen danke Christianbis bald.


      Gruß Antonio
      Teilen dein Wissen, so erlagst du zu Unsterblichkeit