Sicher kann man das, auf Ausgang schalten und dann wahlweise auf 0 oder 1 schalten.
Druckbare Version
Sicher kann man das, auf Ausgang schalten und dann wahlweise auf 0 oder 1 schalten.
Irgendwie funktioniert das nicht muss ich die Plus und Minus Ports auch noch einschalten?
Ich würde es ja ausprobieren aber ich habe Angst das mein Lab kaputt geht.
Müsste Minus nicht eigentlich input sein?Weil der Strom fließt ja eigentlich in Minus rein oder ist input nur um zu erkennen ob Strom kommt?
Output ist niederohmig, es können bis max. 20mA hinein oder heraus fließen.
Input ist hochohmig, es wird erkannt ob Spannung anliegt oder nicht.
Bei Input kann ein PullUp Widerstand eingeschalten werden, damit ist der Eingang immer 1 und muss mit einem Schalter auf 0 gezogen werden.
Ok danke, aber wie ist das jetzt mit pin 2 muss ich den noch extra anschalten?Weil irgendwie funzt das bei mir nicht.
Weiss jetzt nicht welchen Pin du meinst, vom KOntroller musst du jeden Pin extra schalten.
Aso ok ich guck nochma wie ich den anmache.
Ich lerne jetzt erstmal C++.Und danach keih ich mir ein Elektronikbuch aus.
JA! Sehr schön! Sieh das bitte jetzt nicht als Spott an oder als ätzendes "hab ich gleich gesagt" (obwohl wir das vor zwei Monaten geraten hatten) - aber Du hast Dir da eine harte Schule aufgezwungen in der letzten Zeit >>und ich bin froh<<, dass Du die durchgestanden hast. So viel Standvermögen wie Du gezeigt hast, ist schon sehr positiv anzusehen. Es gibt in der µControllertechnik immer wieder etwas, wo ich mich ähnlich durchbeissen muss(te). Vielleicht helfen Dir diese Links doch noch?Zitat:
Zitat von crabtack
Ach ja, und Pinns werden
1) als Ein- oder Ausgang konfiguriert,
2) evtl. mit einem internen PullUp-Widerstand (kurz "PullUp") geschaltet:
... und können dann als EINZELNE PinneCode:// Pins/Ports als Ein- (0) oder Ausgänge (1) konfigurieren, Pull Ups (1) aktivieren
DDRB = 0b00011111; // siehe interne Aufbaunotizen
PORTB = 0b00100000; // und Port/Pull Ups (1) aktivieren
DDRC = 0b01110000; // PC3 ist ADC3,
PORTC = 0b00000111; // Beachte für ADC: PC3 ist ADC-Eingang ##>> OHNE Pullup !!
3) so aus- oder eingeschaltet werden:Dies nur als Beispiel für (m)einen mega168. Natürlich kann man ähnlich auch mehrere Pinne gleichzeitig schalten.Code:// PORTC |= (1<<PC4); // LED auf PC4/I2C/SCA einschalten
// PORTC &= ~(1<<PC4); // LED auf Port PC4/I2C/SCA ausschalten
// PORTC ^= (1<<PC4); // LED auf Port PC4/I2C/SCA toggeln
Viel Erfolg!
Also als spott sehe ich nur unbegründete aussagen.
PORTB = 0b00100000;
Ich hatte das immer mit einer anfängerbibliothek anders gehandhabt aber ich sollte das auch so machen muss ich halt binäre zahlen lernen.
aber jetzt mache ich erstmal was mit Transistoren und Lämpchen*, der Grund:
beides kostet nur 10 cent und wenn es kaputt geht gibts beim nächsten elektroniklöaden Nachschub.
Und so können auch keine Fehlerquellen durch falschen code auftreten.
Eine Frage hätte ich jetzt noch:
Wie kann ich einem Avratmege 32 einen code aufspielen.
Kann ich das irgendwie mit dem avr-lab machen oder brauche ich dazu einen Sockel?
*wie thewulf schon einmal sagte (du hast dich damit übrigens nicht unbeliebt gemacht)
Also ich sehe die binäre Darstellung wesentlich "anfängergerechter" - sprich: deutlich verständlicher als ein hex-enwerk (Zahl in hexadezimaler Darstellung). Bei binärer Darstellung wird ein Eingang durch eine 0 repräsentiert und ein Ausgang als 1. Meine Eselsbrücke:Zitat:
Zitat von crabtack
die Null hat nix - da muss was hin => Eingang,
die Eins hat was - da kann was raus => Ausgang. Daher gilt dann beispielsweiseDas ist doch einfach und übersichtlich, oder ? In hex hieße das PORTB = 0x24 - und sagt zumindst MIR nicht so viel wie die hübsche binäre Darstellung.Code:PORTB = 0 b 0 0 1 0 0 1 0 0 ; ... das wird natürlich normalerweise ohne Zwischenräume geschrieben
Portpin 7 6 5 4 3 2 1 0 - in der standardmässigen Pinnbezeichnung/-reihenfolge
wird zu E E A E E A E E mit "E" als Ein- (0) und "A" als Ausgang (1)
Das kannst Du mit dem Lab machen. Dazu musst Du aber das Lab als Programmer konfigurieren. Du holst Dir aus dem Downloadbereich bei Christian das avrlabtool (klick hier) und installierst es auf Deinem Rechner - siehe dazu die Links unten auf dieser Site (klick). Bei diesen Links steht auch das Info für die Treiberinstallation etc. Das ist der billige Teil der Arbeit - kostet nur Zeit.Zitat:
Zitat von crabtack
Jetzt brauchst Du eine Platine (Deinen "Sockel" - aber noch ein bisschen was an Elektronik, wir sagen Hühnerfutter dazu: Widerstände, Kondensatoren etc.) für Deinen mega32 und für Dein Lab ein ISP-Kabel als Verbindung zwischen dem Lab und der Platine mit dem Controller - dort wird das Kabel in den ISP-Stecker gesteckt:
................Bild hier
Das Kabel gibts bei christian im Shop für 2 Euro (ohne Versand) - das kannst Du auch selbst machen. Das USB-A_nach_USB-B_Kabel hast Du ja schon an Deinem Lab. Platine kannst Du eine fertige nehmen (kaufen) - z.B. die RNControl (klick) - oder irgendeine andere - nach Deinen Wünschen. Die von Pollin ist recht günstig - die kenne ich aber nicht. Die RNControl ist teuer, ich finde die gut. Auf diesen Platinen hast Du auch allerlei LEDs und Taster und so schon drauf. Du kannst natürlich eine Platine selbst machen - aber wenns dann nicht klappt, dann weißt Du nicht ob es an der selbst gemachten Platine oder am Code liegt.
Natürlich brauchst Du einen Controller - und ein geeignetes Netzteil für die Platine. Für Pollin 9 V Wechselstrom, für RNControl Gleichstrom zwischen 7 und 18V - da gehen die meisten Notebook-Netzteile *ggg*. ICH hatte mir mit meiner RNControl gleich noch zwei frische Controller gekauft: den originalen rausgenommen (später kopiert auf einen der "neuen"), und den anderen neuen für meine ersten Experimente. Zur RNControl gibts auch gleich ein Demoprogramm in C - das kann man (wirklich!!!) kopieren, compilieren und flashen - und es läuft. Danach kann man den Code vorsichtig nach eigenen Vorstellungen ändern.
Puhhh - viel zu viel geschrieben. Schau Dir vielleicht noch ein paar Tutorials an - hier habe ich ein paar zusammengestellt.
Viel Erfolg und Vergnügen