- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 19

Thema: Eieruhr

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.09.2009
    Ort
    Geilenkirchen
    Beiträge
    419

    Eieruhr

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,
    Das ist mein erstes µC projekt nach einem Lauflicht.
    Oben im bild sind led´s die eine Minute darstellen und unten led´s die 10 minuten darstellen.
    Im bild sind es gerade 16 minuten.Untwen sit auch eine an, die kann man schlecht erkennen.
    Mit den beiden Minuten kann man die Zeit eine Minute hoch oder runter setzen.
    Der Taster in der Mitte macht, dass die eieruhr anhält runterzu zählen bzw. weiterzählt.
    Es wird von der Led an der das II zeichen ist angezeigt.
    Insgesammt kann die Eieruhr 69 Minuten Anzeigen.

    Ich danke vor allem Thomas, der mir sehr geholfen hat auber auch vielen anderen.

    Jetzt habe ich noch eine Frage:
    Im moment läuft der Atmega32 noch ohne quarz.
    Wie kann ich einstellen, dass der atmega einen externen quarz nutzt?
    Muss der quarz eigentlich kondensatoren zu masse haben?
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken img_0014_425.jpg  

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.04.2010
    Beiträge
    1.249
    Wie kann ich einstellen, dass der atmega einen externen quarz nutzt?
    Per FuseBits.

    Muss der quarz eigentlich kondensatoren zu masse haben?
    Wenn du das selbe meinst die ich, muss nciht aber ist besser!

  3. #3
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Wäre gut zu wissen wie du den Controller programmierst....dann kann man dir das bischen genauer erklären, weil je nach Programm was du benutzt macht man das anders.

    Und der Kondensator für das Quarz ist mein ich dafür da damit das Quarz stabiler schwingt, also wäre es gut wenn du da zwei dran machst. An jeden Pin vom Quarz ein Kondensator und den anderen Pin an Masse legen. Bei 16MHz müssen die Kondensatoren mein ich 18pF groß sein.

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.09.2009
    Ort
    Geilenkirchen
    Beiträge
    419
    Momentan habe ich leider keine keramikkondensatoren.
    Code:
    #include <avr/io.h>  
    #define F_CPU 1000000
    #include <util/delay.h> 
    #include <stdint.h>
    
    
    int main(void)
    {
     int time = 0;
     int second = 0;
     int time_e = 0;
     int time_z = 0;
     int tast = 0;
     
    
    
    DDRB = 255;
    DDRA = 225;
    DDRD = 0;
    PORTD = 255;
    DDRC = 225;
    while(1) 
    {
    
    if (PIND == (PIND & 0b11101111))
    {
    if (tast == 0)
    {
    tast = 1;
    PORTC = 0b00000001;
    }
    else
    {
    tast = 0;
    PORTC = 0b00000000;
    }
    }
    if (tast == 0)
    {
    second = 0;
    }
    
    
    if (PIND == (PIND & 0b10111111))// 5 ist taster links
    {
    time--;
    }
    
    if (PIND == (PIND & 0b11011111))// hier ist das problem
    {
    time++;
    }
    
    
    time_z =(time/10);
    time_e = time - (time_z*10);
    
    
     if (time_z == 6)
     {
    
     PORTA = 0b00111111;
     
     }
      if (time_z == 5)
     {
     PORTA = 0b00011111;
     }
       if (time_z == 4)
     {
     PORTA = 0b00001111;
     }
        if (time_z == 3)
     {
     PORTA = 0b00000111;
     }
         if (time_z == 2)
     {
     PORTA = 0b00000011;
     }
          if (time_z == 1)
     {
     PORTA = 0b00000001;
     }
          if (time_z == 0)
     {
     PORTA = 0b00000000;
     }
      if (time_e==9)
    {
     PORTA = PORTA + 0b01000000;
     PORTB = 0b11111111;
     }
     else if (time_e==8)
    {
     PORTB = 0b11111111;
     }
    else if (time_e==7)
    {
     PORTB = 0b01111111;
     }
     else if (time_e==6)
    {
     PORTB = 0b00111111;
     }
     else if (time_e==5)
    {
     PORTB = 0b00011111;
     }
     else if (time_e==4)
    {
     PORTB = 0b00001111;
     }
      else if (time_e==3)
    {
     PORTB = 0b00000111;
     }
      else if (time_e==2)
    {
     PORTB = 0b00000011;
     }
       else if (time_e==1)
    {
     PORTB = 0b00000001;
     }
        else if (time_e==0)
    {
     PORTB = 0b00000000;
    }
    
     _delay_ms(200);
     second ++;
     if (second == 300)
     {
     time --;
     second = 0;
     }
    
     
    }
    }
    Mein wunderschönes Programm.
    Wie genau macht man da smit den fuse bits? Ich benutze AVR studio.

  5. #5
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    34
    Beiträge
    3.501
    Blog-Einträge
    9
    Wenn du den Controller flashen willst, klickst du ja auf das schwarze IC wo "AVR" draufsteht. Dann öffnet sich ein Fenster und in diesem Fenster klickst du auf "Fuses".
    So und da gehst du auf SUT_CHSEL und wenn du jetzt ein Quarz mit mehr als 10MHz (bei dem Wert bin ich mir nicht sicher!) stellst du das auf "Ext. Crystal/Resonator High Freq.; Start-up Time 16K: CK +64ms". Wenn dein Quarz unter 10MHz ist stellste das Bit auf Medium bzw Low Freq.
    Bei den setzen der Fuses aber ganz vorsichtig sein und KEINE Fuses setzen von denen du nicht weißt was die machen. Weil dadurch kannste dir den ISP abschalten und dann geht nur noch JTAG.
    Und falls du den falschen Clock gesetzt haben solltest einfach mit einem Frequenzgenerator oder einer anderen Taktquelle ein Quarz "simulieren"

  6. #6

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.09.2009
    Ort
    Geilenkirchen
    Beiträge
    419
    Wieso sollte ich noch googlen, wenn kampi es mir schon erklärt hat?
    Danke.

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von Andree-HB
    Registriert seit
    10.12.2004
    Ort
    Bremen
    Alter
    53
    Beiträge
    2.803
    ...genau, warum solltest Du etwas selbst tun, wenn Andere es schon für Dich getan haben ?

    Ein leider sehr verbreitetes Mentalitätsproblem von einigen Usern in diesem Forum !

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.09.2009
    Ort
    Geilenkirchen
    Beiträge
    419
    Also wenn du der 1. wärst, der mit google geantwortet hätte hätte ich natürlich gegooglet.
    Aber bei so speziellen sachen ist es sowieso schwer eine antwort zu finden.

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    41
    Beiträge
    2.009
    Zitat Zitat von crabtack
    Aber bei so speziellen sachen ist es sowieso schwer eine antwort zu finden.
    Einspruch.
    Eine Suche nach "avr controller externer quarz" bringt bei Google als 2. Ergebnis eine detaillierte Seite zu den Fuses.
    Einfach mal mehrere Worte/Begriffe in Google ausprobieren; nicht nach dem 1. Versuch (soferns denn überhaupt einen gab) aufhören.
    #ifndef MfG
    #define MfG

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test