-
        

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 23

Thema: Eingang abfrage 5V

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.01.2008
    Ort
    Krefeld
    Beiträge
    272

    Eingang abfrage 5V

    Anzeige

    Guten Abend,

    also irgendwie krieg ich das einfachste nicht mehr hin...

    also ich möchte auf ein attiny eine Eingang abfragen, der aber auf eine 5 V Spannung wartet.

    Also ich habe ein AVR Net io und möchte wenn ein Ausgangs Signal gebe den mit den attiny abfragen,

    sprich wenn auf ein pin eine 5V Spannung rein bekommt, gib der auf ein anderen Pin ein Ausgang raus der eine led blinken lässt.

    Wenn ich aber ein Port auf Eingang setze, habe ich immer 5V drauf, auch wenn ich den internen Pull up widerstand drauf setze oder den PIN auf 0 setze ist immer 5 V drauf.

    Was mache ich da falsch?
    Ich kam, sah und alles funktionierte **** doch dann klingelte mein Wecker!!!

  2. #2
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    28
    Beiträge
    3.517
    Blog-Einträge
    9
    Hi,

    wie sieht den die Beschaltung aus und wie sieht der Code aus?
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.01.2008
    Ort
    Krefeld
    Beiträge
    272
    Also weil ich keine lust habe immer rumzustecken programmiere ich den code auf den rn controll (ATmega32)

    ich habe eine led an PORT D4

    und den Eingang versuch ich über PORT B4 einzulesen

    der Code ist:
    DDRB=(0<<PB4);//PORTB = (1<<PB4);
    PINB=(0<<PB4);
    DDRD=0xff;
    PORTD=0x00;

    while(1)
    {
    if(PINB&(1<<PINB4))

    {
    PORTD|=(1<<PB4);


    }
    else
    {
    PORTD&=~(1<<PD4);

    }

    Ich kam, sah und alles funktionierte **** doch dann klingelte mein Wecker!!!

  4. #4
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    28
    Beiträge
    3.517
    Blog-Einträge
    9
    Probier es mal so

    Code:
    /*
     * Eingang.c
     *
     * Created: 30.03.2012 23:26:19
     *  Author: Daniel
     */ 
    
    #include <avr/io.h>
    #include <util/delay.h>
    
    int main(void)
    {
        
        DDRC = 0xFF;                                                                        // Kompletter Port C auf Ausgang
        DDRB = 0x00;                                                                        // Kompletter Port B auf Eingang
        
        while(1)
        {
            if(PINB & (1<<PINB0))
                {
                    PORTC |= 0x01;
                }
            else
                {
                    PORTC &= ~0x01;
                }                    
        }
    }
    Getestet auf dem RN-Control.

    Edit:
    Vergleich mal diese Zeilen:


    PORTD |= (1<<PB4);

    PORTD &= ~(1<<PD4);

    Dann findest du den Fehler sicher
    Geändert von Kampi (30.03.2012 um 23:41 Uhr) Grund: Was ergänzt!
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.01.2008
    Ort
    Krefeld
    Beiträge
    272
    sorry ist aber genau das gleiche wie davor,

    die led ist die ganze zeit an, und wenn ich PB0 gegen masse schalte geht die aus.

    Aber was ich brauche wäre das wenn ich PB0 gegen 5V schalte, etwas passiert...
    Ich kam, sah und alles funktionierte **** doch dann klingelte mein Wecker!!!

  6. #6
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    28
    Beiträge
    3.517
    Blog-Einträge
    9
    Ja weil das Board so aufgebaut ist.
    Schau dir mal den Plan hier an:

    http://www.rn-wissen.de/index.php/Bi...plan90grad.gif

    Dort siehst du das die LEDs active Low sind d.h. sobald der Pin High ist sind die dunkel und bei Low leuchten sie. Wenn du willst das die LEDs leuchten wenn du den Schalter auf 5V ziehst, drehst du die If-Abfrage einfach um. Wenn PB0 = 0 ist ist PC0 = 1 und bei PB0 = 1 ist PC0 = 0.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.01.2008
    Ort
    Krefeld
    Beiträge
    272
    ne ich habe ja nicht die Led vom Board, dass weiß ich das die so funktionieren...

    Habe eine externe led mit widerstand an port d4 gesteckt..

    habe auch den Fehler behoben trotzdem ist die led die ganze zeit an, außer wenn ich auf PB4 auf masse gehe!
    Ich kam, sah und alles funktionierte **** doch dann klingelte mein Wecker!!!

  8. #8
    Erfahrener Benutzer Roboter-Spezialist Avatar von -schumi-
    Registriert seit
    30.12.2009
    Ort
    Wasserburg am Inn / Bayern
    Alter
    23
    Beiträge
    449
    Ich kenne das Board nicht und weis jetzt auch nicht wie die Taster da drauf verschalten sind falls überhaupt schon welche drauf sind - oder wie du sie selbst verschalten hast falls du die selber da dran gebaut hast.

    Aber ich würde mal tippen, dass du den Pulldown-Widerstand nach GND vergessen hast

    (Ein offener Eingang wird als high erkannt, weil da ca. 1.6V von der Innenbeschaltung zurücksprotzen)

  9. #9
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    11.01.2008
    Ort
    Krefeld
    Beiträge
    272
    ja nach den Grundkenntnisse heißt es ja das man

    1) DDRB = (1<<PB0); Eingang
    2) PORTB = (1<<PB0); Pulldown widerstand aktivieren

    das was ich dann versucht hatte war auch:

    PINB = (1<<PB0); um den Eingang auf 0 zu setzen

    also ich habe die LED selbst dran gemacht und den Taster ersetze ich damit das ich den Kabel auf 5V kontaktiere
    Ich kam, sah und alles funktionierte **** doch dann klingelte mein Wecker!!!

  10. #10
    Erfahrener Benutzer Roboter-Spezialist Avatar von -schumi-
    Registriert seit
    30.12.2009
    Ort
    Wasserburg am Inn / Bayern
    Alter
    23
    Beiträge
    449
    DDRB = (1<<PB0); Eingang
    Für mich heißt dass, dass der ganze Port (also PB0 bis PB7) Eingang ist, bis auf den PB0, der dann Ausgang ist.

    PORTB = (1<<PB0); Pulldown widerstand aktivieren
    • AVRs haben doch nur PullUps?! oO
    • Was du da machst ist den Ausgang PB0 auf 5V setzen


    das was ich dann versucht hatte war auch:
    PINB = (1<<PB0); um den Eingang auf 0 zu setzen
    • Wenn ein Pin als Eingang gesetzt ist kann man mit dem Register "PINB" die PullUps aktivieren und deaktivieren (1 = Pullups aktiv, 0 = vollkommen offener Eingang)
    • Du kannst keine Eingänge setzen, nur Ausgänge
    • Um Ausgänge auf 0V / 5V zu setzen wird das PORTB-Register verwendet


    Mir scheint du hast da bisschen was durcheinander gebracht. Könnte aber auch an der Uhrzeit liegen (Was du da schreibst erinnert mich an die PICs, dort kommt so Schwachsinn (meine Meinung), dass 1 ein Eingang ist und das man PullDowns reinbaut)

    Viele Grüße

Seite 1 von 3 123 LetzteLetzte

Ähnliche Themen

  1. Pin-Abfrage?
    Von Blackaffe im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 25.05.2011, 11:07
  2. Problem bei if-Abfrage
    Von sebwolf im Forum Asuro
    Antworten: 17
    Letzter Beitrag: 06.04.2008, 07:22
  3. IF Abfrage
    Von kalletronic im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 06.06.2007, 07:39
  4. Abfrage!
    Von Exodus im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 03.07.2006, 14:05
  5. COM-Abfrage
    Von surfer im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 40
    Letzter Beitrag: 15.09.2005, 15:29

Berechtigungen

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