- LiFePO4 Speicher Test         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: Anfängerfragen für Schulprojekt

  1. #11
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.01.2009
    Ort
    Dortmund
    Alter
    30
    Beiträge
    114
    Anzeige

    E-Bike
    Okay.. Ich versuch mal mein Glück und schreib das mal so, wie ichs verstnden hab..

    Code:
    $regfile = "m32def.dat"
    $crystal = 16000000 
    
    Config Porta.0 = Output
    
    Config Timer0 = Timer , Prescale = 1
    On Timer0 Isr
    
    Enable Timer0
    
    Enable Interrupts
    
    Dim T As Byte
    
    Start Timer0
    
    Porta.0 = 255

    So... Jetzt komm ich nicht mehr weiter..


    Was muss ich da jetzt machen um Porta.0 von 0% auf 100% zu dimmen?? Und wie kann ich die Geschwindigkeit einstellen??







    Edit :

    So, ich habe jetzt nochmal das Internet durchkämmt und habe nun Folgenden kleinen Code geschrieben :

    Code:
    $regfile = "attiny2313.dat"
    $crystal = 4000000
    
    Config Portb.2 = Output
    
    Config Timer0 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 1
    
    Dim Hochdimmen As Byte
    Dim Runterdimmen As Byte
    
    Helligkeit Alias Pwm0a
    
    Do
    
       For Hochdimmen = 1 To 255
       Helligkeit = Hochdimmen
    
       Next Hochdimmen
    
       Wait 10
    
       For Runterdimmen = 1 To 255
       Helligkeit = 255 - Runterdimmen
    
    Loop
    
    End
    Also die LED an Pin 14 des ATTiny2313 wir nun von 0% auf 100% Hochgedimmt und dann nach 10 Sekunden von 100% auf 0% runtergedimmt..

    Und um die Geschwindigkeit zu verändern kann man

    Code:
    For Hochdimmen = 1 To 255
    ja auch anders definieren..


    Ähmm ja.. Wie kann man das den anders definieren??


    Wie kann ich die Geschwindigkeit, die er zum Hochzählen von 1 auf 255 ändern?? Die ist ja durch Timer0 definiert!!?!!


    Auch noch eine Frage : Wie lange bräuchte der Jetzt um hochzuzählen?? 1 Sekunde oder was?

  2. #12
    Erfahrener Benutzer Roboter Experte Avatar von ikarus_177
    Registriert seit
    31.12.2007
    Ort
    Grein
    Alter
    31
    Beiträge
    601
    Hi,

    in dem Code für den ATTiny verwendest du ja die HW-PWM. Die Zeit, die er jetzt bräuchte, um die LED hochzudimmen würdest du wahrscheinlich gar nicht bemerken, da der µC die Schleife mit seinen volle 4MHz ausführt...

    Du könntest so etwas wie "waitms X" in die Schleife einbauen, dann macht er bei jedem Durchlauf eine kleine Pause. Je nach dem, wie lange diese Pause ist, desto langsamer/schneller wird gedimmt.

    Viele Grüße

  3. #13
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.01.2009
    Ort
    Dortmund
    Alter
    30
    Beiträge
    114
    Zitat Zitat von ikarus_177
    Du könntest so etwas wie "waitms X" in die Schleife einbauen, dann macht er bei jedem Durchlauf eine kleine Pause. Je nach dem, wie lange diese Pause ist, desto langsamer/schneller wird gedimmt.
    Vielen Dank! Könntest du den Code mal so veränder und den Qait Befehl einbauen?? Ich wüsste nämlich nicht, wo ich das jetzt reinpacken soll...


    Mfg Yannik

  4. #14
    Erfahrener Benutzer Roboter Experte Avatar von ikarus_177
    Registriert seit
    31.12.2007
    Ort
    Grein
    Alter
    31
    Beiträge
    601
    Hi,

    Code:
    $regfile = "attiny2313.dat"
    $crystal = 4000000
    
    Config Portb.2 = Output
    
    Config Timer0 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 1
    
    Dim Hochdimmen As Byte
    Dim Runterdimmen As Byte
    
    Helligkeit Alias Pwm0a
    
    Do
    
       For Hochdimmen = 1 To 255
          Helligkeit = Hochdimmen
          Waitms 10
       Next
    
       Wait 10
    
       For Runterdimmen = 1 To 255
          Helligkeit = 255 - Runterdimmen
          Waitms 10
       Next
    
    Loop
    
    End
    Die 10 ms sind jetzt aber nur geschätzt, da müsste man schon die Schaltung zuerst aufbauen, und sich dann langsam an den Wert rantasten, der einem am meisten zusagt.

  5. #15
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.01.2009
    Ort
    Dortmund
    Alter
    30
    Beiträge
    114
    Code:
    For Hochdimmen = 1 To 255
          Helligkeit = Hochdimmen
          Waitms 10
       Next
    
       Wait 10
    
       For Runterdimmen = 1 To 255
          Helligkeit = 255 - Runterdimmen
          Waitms 10
       Next
    Aber da wird doch jetzt nur 10ms gewartet, dann hochgedimmt, dann 10 sekunden gewartet und dann wieder runtergedimmt.. Was hat das jetzt mit der Geschwindigkeit der Hoch-/Runterdimmen zu tun??

  6. #16
    Erfahrener Benutzer Roboter Experte Avatar von ikarus_177
    Registriert seit
    31.12.2007
    Ort
    Grein
    Alter
    31
    Beiträge
    601
    Nein, nicht ganz. Der Controller kommt zur Schleife, die Variable "Hochdimmen" ist 1. Dieser Wert geht nun an die LED, die logischerweise sehr dunkel ist. Dann wartet er 10 ms, dann wird die LED um 1 "heller gemacht", wieder gewartet. Solange, bis die Schleife zu Ende ist, und die LED 100% leuchtet. Dann erst wartet er 10 Sekunden und dann dimmt die LED nach dem selben Schema wieder gegen 0.

  7. #17
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.01.2009
    Ort
    Dortmund
    Alter
    30
    Beiträge
    114
    Na wenn du meinst xD Dann wird auch hoffentlich so stimmen...

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress