Hallo,
muss eine Sonnennachführung für die Schule machen. Im Gebiet
Mikrocontroller bin ich noch nicht so weit. Mit dem A/D-Wandler komm ich
garnicht klar.
Ich verwende Getriebemotoren und LDR´s.
Ich muss die SPannungen an 2 LDR´s miteinander vergleichen und
dementsprechend SPannungen an den Motor geben.
Mein Problem ist, dass Ich mit dem AD-Wandler nicht klar komme. Könnte
mir jemand Tipps geben, wie ich die Spannungen miteinander vergleiche?
Die Spannungen die dann ausgegeben werden kriege ich selber hin.
Vielen Dank im voraus
Danke,
für die schnellen antworten.
Ich weiss nicht wie es mit Spannung1>Spannung2 funktuniert, aber werde
mich zuhause mal intensiev damit beschäftigen.
Hat mir einiges weiter geholfen, Danke ;)
Jürgen Schmitt schrieb:> Ich weiss nicht wie es mit Spannung1>Spannung2 funktuniert
??? Wie meinst Du das?
Jürgen Schmitt schrieb:> muss eine Sonnennachführung für die Schule machen. Im Gebiet> Mikrocontroller bin ich noch nicht so weit. Mit dem A/D-Wandler komm ich> garnicht klar.
Vieleicht erzählst Du uns einfach mal womit Du klargekommen bist, also
was du bis jetzt schon hast und wie Du dir vortstellst wie die Sensorik
und die Auswertung der Sensorik aussehen soll.
also, ich nutze die 5v spannung vom mikroC.
und einen LDR + einen vorwiderstand. bei lichteinfluss ändern sich die
werte.
rechts und links vom solarpanel befinden sich jeweils LDR´s. Was ich
hinbekommen habe ist. Das ganze zu verschalten.
Jürgen Schmitt schrieb:> Das ganze zu verschalten.
Wie hast du das verschalten? Schaltplan?
Wie willst Du mit 2 LDRs sie einfach nur Links und Rechts vom Panel sind
merken wo die Sonne steht? die scheint genauso stark auf die linke wie
auf die rechte Seite. Oder hast Du die in einem Winkel angebracht oder
teilweise abgeschattet? Bild oder Skizze wäre sinnvoll.
Aber les Dir bitte die Infos zu Bildformate durch.
Jürgen Schmitt schrieb:> also, ich nutze die 5v spannung vom mikroC.> und einen LDR + einen vorwiderstand. bei lichteinfluss ändern sich die> werte.
Gut.
Jetzt hängst du erst mal einen deiner Spannungsteiler an einen ADC
Eingang
+ o
|
---
| |
| |
---
|
+-----------------------> zum ADC Eingang
|
---
| | LDR
| |
---
|
--+---------- Masse ------> zur µC Masse
und holst dir aus dem Tutorial die ADC Routinen. Mit denen schreibst du
dir ein Programm, dass genau diesen einen ADC Eingang in einer Schleife
immer wieder abfrägt. Vom ADC Eingang kriegst du eine Zahl zwischn 0 und
1023. Wenn irgendwie möglich, lass dir diese Zahl irgendwo ausgeben.
Dann schattest du den LDR mal mit der Hand ab oder leuchtest mit der
SChreibtischlampe drauf und siehst dir an ob und wie sich der jeweils
ausgelesene Wert verändert, wenn du die Beleuchtung des LDR veränderst.
Das ist dein erstes Ziel: 1 LDR in Betrieb nehmen und wenn sich dessen
Beleuchtung verändert, verändern sich auch in deinem Programm die
Zahlenwerte.
(Es hat keinen Sinn, da jetzt noch weitere Funktionalität drauf zu
programmierern, solange du nicht 100% sicher weißt, dass der ADC
tatsächlich funktioniert)
+ o
|
---
| |
| |
---
|
+-----------------------> PC 1
|
---
| | LDR
| |
---
|
--+---------- Masse ------> zur µC Masse
hier ist ein LDR z.B.
könnte mir jemand vielleicht den Anfang also den code schicken? dann
würde ich den rest hinbekommen, habe mich damit beschäftigt und mich uch
mit meinem Lehrer dran gehockt. Wir kamen nicht weiter. Wenn mir jemand
eins schicken könnte würde ich den rest hinbekommen. Unzwar nur Teil wo
das ganze Ausgelesen wird. Ich mache das gnze mit C und AVR Studio 4.
Steht alles im AVR-GCC-Tutorial.
Und wenn du das, was im Abschnitt über den ADC nicht explizit als C Code
ausgeführt ist, nicht alleine hinkriegst, dann hat es keinen Sinn da
weiter zu machen. Denn das bedeutet, dass du noch nicht mal die
einfachsten Sachen programmierern kannst und du erst mal ganz bei 0
anfangen musst. Und dazu ist das Forum nicht da.
hier habe ich mal den Code was ich bis jetzt habe. So bekomm ich ja die
Werte von einem LDR. Da ich alle gleichzeitig messen kann, muss ich ja
hinundher schalten. Und die Werte in 4 verschiedene Variablen
abspeichern. Irgend wie mit der mux Tabelle. Wie mache ich das? Wie
sieht der Befehl dazu aus? im Turturial konnt ich es nicht raussuchen.
Danke
Jürgen Schmitt schrieb:> sieht der Befehl dazu aus? im Turturial konnt ich es nicht raussuchen.
Im Tutorial sind fertige Funktionen! (Jetzt zum 3.ten oder 4.ten mal
hier angeführt)
Du brauchst sie nur noch zu verwenden. Da ist auch ein Beispiel dabei,
wie man die Funktionen verwendet.
Also noch einfacher KANN man dir die Aufgabenstellung "Auslesen eines
ADC" nicht mehr machen. Nur: Ein wenig C müsstest du halt können. Gar
nicht mal viel, aber wenigstens ein bischen. Und ein wenig Übung in der
C-Programmierung auf einem AVR müsstest du haben. Gar nicht mal viel,
aber wenigstens ein bischen.
Und nein: Du brauchst dir dort nicht raussuchen, welches Bit du in
welchem Register zu setzen hast. Dort sind 2 Funktionen, die eine heisst
ADC_init (na was wird die wohl machen) und die andere heisst ADC_Read
(was wird die wohl machen). Du brauchst sie nur übernehmen und
verwenden! Du musst da gar nichts erfinden. Wenn du sie zumindest in
groben Zügen verstehst, ist das mehr als du brauchst. Im Grunde genommen
reicht es, wenn du die Funktionen aufrufen kannst - mehr musst du dazu
nicht können! Und selbst das ist in einem simplen main()-Beispiel
gezeigt.
Oder anders gefagt:
Welchen Teil in ...
1
intmain()
2
{
3
uint16_tadcval;
4
ADC_Init();
5
6
while(1){
7
adcval=ADC_Read(0);// Kanal 0
8
// mach was mit adcval
9
10
}
11
}
... verstehst du nicht? Denn das ist alles was du verstehen musst und
womit du weiterarbeitest. Die beiden Funktionen, die übernimmst du
einfach aus dem Tutorial! Eventuell passt du höchstens noch die
Einstellung der Referenzspannung an. Aber mehr brauchst du nicht tun, um
einen funktionierenden ADC zu haben.
Die nächste Stufe der Hilfe besteht dann schon darin, dass jemand zu dir
hinfährt und den Code höchstpersönlich bei dir eintippt.
Siehst du im Tutorialsbeispiel irgendwo eine ISR?
Nein. Also, wozu hast du dann so etwas ähnliches wie eine ISR
eingeführt? Und was war jetzt so schlimm den Teil im ADC_Init einfach
beieinander zu lassen?
> tut mir leid programmiere seit paar monaten erst
Dann wärst du gut beraten, wenn du nicht ständig dein eigenes Süppchen
kochen würdest, sondern dir die Ratschläge der Erfahreneren zu Herzen
nimmst und sie ganz einfach befolgst.
LASS DIE FINGER VON INTERRUPTS, WENN DU SIE NICHT BEHERRSCHT.
Und das tust du ganz offensichtlich nicht. Noch nicht einmal
ansatzweise.
Also lasse ich das ganze mit adscra und dem kram weg? Oder ich lasse es
da und wie du es gemacht hast noch drunter?
Danke hast mir meinen abschluss gerettet ;) die schule lehrt nicht genug
.. ./
Jürgen Schmitt schrieb:> Also lasse ich das ganze mit adscra und dem kram weg?
Der steht doch schon in ADC_Init!
Sag mal, liest du eigentlich auch selbsttätig mal irgendwas worauf man
dich nicht mit der Nase stösst?
Jürgen Schmitt schrieb:> Danke hast mir meinen abschluss gerettet ;) die schule lehrt nicht genug> .. ./
In diesem Fall ist nicht die Schule das Problem.
Pisa hat schon recht, dass es mit dem Textverständnis beim Lesen nicht
weit her ist.
Sorry, aber hier muss ich mal ne Lanze für BASCOM AVR brechen.
Jürgen schau Dir mal die Basic Programmierumgebung namens
Bascom an, da wirst Du recht einfach und schnell zum Ziel
kommen.
Damit kannst Du einfach per
"config adc" den AD-Wandler initialisieren
und per "getadc(x)" denselbigen kanalweise auslesen
Für Deine Anwendung reicht auch die freie Demoversion
noch locker aus.
Jürgen Schmitt schrieb:> bekomme dauernd den fehler hier "HBFI09b-IO1.c:41: undefined reference> to `ADC_Init'"
Klar.
In deinem Code gibt es ja auch keine Funktion ADC_Init. Und auch keine
Funktion ADC_Read.
Aber im Tutorial gibt es sie.
Also geh zum Tutorial. Such dir den Abschnitt, markier dort den Text in
dem die beiden Funktionen ausprogrammiert sind, dürck auf Strg-C (für
kopieren), dann gehts du in deinen Programmtext, setzt den Cursor an
eine geeignete Stelle (Achtung: Funktionen kann man nicht überall
einsetzen) und drückst Strg+V für "Einsetzen".
Und schon hast du den Quelltext der beiden Funktionen auch in deinem
Code. Damit gibt es dann bei dir plötzlich die beiden Funktionen und du
kannst sie auch verwenden.
Und nächstes mal nimmst du dir kein Schulprojekt mehr, bei dem du hinten
und vorne nicht weiter weißt.
Fhutdhb Ufzjjuz schrieb:> Sorry, aber hier muss ich mal ne Lanze für BASCOM AVR brechen.
Das hat mit BASCOM oder C erst mal herzlich wenig zu tun.
Es geht wieder mal darum, dass jemand den Mund zu voll genommen hat und
ein Projekt angefangen hat, ohne das geringste dafür notwendige
Basiswissen zu besitzen.
In BASCOM würde er genauso anstehen, weil er ganz einfach die Doku nicht
gelesen hätte. Genausowenig wie er ein C-Buch für die primitivsten
Grundlagen gelesen hat oder geschweige denn vielleicht mal ein paar
Vorversuche für die einfachsten Dinge gemacht hätte und sich so aus dem
Sumpf gezogen hat. Ich wage die Behauptung: er hat noch nie irgendein
Programm für einen µC geschrieben. Sieh dir sein Programm an, wie er LED
behandelt. Hätte er je mit einem Taster eine LED ein/aus geschaltet,
hätte er sich gemerkt, dass LED's auch irgendwo wieder ausgeschaltet
werden müssen. Siehst du in seinem Code irgendetwas in diese Richtung?
Karl Heinz und auch Jürgen, ich bewundere euere Geduld.
Wen ich nicht verstehe, das ist der Lehrer, der das Schulprojekt
betreut. Ich bin bis jetzt davon ausgegangen, daß ein Ausbilder das
Thema, das er vermitteln möchte eigentlich selber umfassend behrrscht
und auch vermitteln kann. Wenn so etwas wie hier zu sehen der Alltag an
der heutigen Schule ist, so erklärt es einiges zu den schlechten Pisa
und sonstigen Ergebnissen.
wobei ich mich immer frage ob es die Lehrer oder doch die Schüler sind.
Bei einer Fortbildung meinerseits saßen auch noch 20 andere in der
Klasse und hatten nichts besseres zu tun als 1 Jahr lang jeden Tag mit
Windows Karten zu spielen. Tja so sahen dann auch deren Klausuren aus.5
setzen !
uint8_t !
Ich hab nicht explizit darauf hingewiesen, aber das hab ich ihm weiter
oben schon mal korrigiert.
Ist ja auch so wahnsinnig sinnig einen 10 Bit Wert in einer 8 Bit
Variablen unterzubringen.
Passt genau zu dem was Stephan sagt: nach einem Semester sind selbst die
einfachsten Dinge immer noch eine unüberwindliche Hürde.
Ein interessierter Bastler macht so ein Projekt an einem Nachmittag. Und
das ganz ohne Stress. Hier wird seit 14 Tagen daran rumgehampelt und ein
Ende ist noch lange nicht in Sicht. An einem Projekt das aus dem
Vergleichen von jeweils 2 Zahlen und ein/ausschalten von Motoren
besteht.
Und das soll ein Abschlussprojekt sein? Abschluss wofür? Was soll durch
diesen Abschluss dokumentiert werden?
(Sorry, aber manchmal muss ich mir auch Luft machen)
der karl heinz hat es ganz anders beschrieben. Dachte so würde es
funktunieren. Kann ich nicht einfach eine Bibliothek aufrufen? wie löse
ich das mit AVR_Init jetzt genau :S
LED ein aus versteh ich. Uns wurde nur per taster ein ausschalten von
LEDs gelehrt. Und das Projekt einfach gegeben.
Und jeder fängt mal von anfang an an. Bin erst seit Monaten dabei.
Jürgen Schmitt schrieb:> der karl heinz hat es ganz anders beschrieben. Dachte so würde es> funktunieren. Kann ich nicht einfach eine Bibliothek aufrufen? wie löse> ich das mit AVR_Init jetzt genau :SBeitrag "Re: komme mit dem A/D-Wandler vom Atmega8 nicht klar. (Sonnennachführung, Spannungen vergleichen)"
einfach den Text der Funktionen in deinen Quelltext reinkopieren.
Das einfachste von der Welt.
Aber ich hab schön langsam den Verdacht, du weißt gar nicht was
Funktionen sind. Das erklärt auch, warum du dich von Anfang so dagegen
gesträubt hast, die Funktionen aus dem Tut zu benutzen.
Stephan Henning schrieb:> Bei einer Fortbildung meinerseits saßen auch noch 20 andere in der> Klasse und hatten nichts besseres zu tun als 1 Jahr lang jeden Tag mit> Windows Karten zu spielen.
So ähnlich dürfte es hier auch aussehen: fauler Schüler. Leider schaffen
die es immer wieder sich hier ihre Hausaufgaben machen zu lassen, ich
würde den Fred in die Tonne kippen oder zumachen und den TO KRÄFTIG auf
die Schnauze fallen lassen. Dann hat er was gelernt.
warum hausaufgaben machen lassen?
ich sitz seit tagen da dran. Und die codes habe ich nicht. und ka wie
ich mit denen umgehen soll.
Am Anfang wart ihr doch auch bestimmt so. Habe auch mehrere Schritte
benutzt. Hat auch nichts mit faueler Schüler zu tun.
Hab ich gemacht, dann wurde mmir gesagt:"Warum benutzt du ein Interupt?"
mach es doch so. Dann bin ich auf das Problem mit AVR_Init gestoßen.
Habe den Quellcode dafür rauskopiert. Mein Programm zeigt keine Fehler
an. Cool, Board angeschlossen. Alles verkabelt. Statt LDR Pottis
verwendet. Aber keine Funktion.
Jürgen Schmitt schrieb:> Hast direkt alles gewusst. Auch nie Probleme gehabt. Oder mal gehabt> nachgefragt. Die Lösung bekommen, aber nicht die Lösung verstanden.
Ich war selbstständig (und bin es noch).
Datenblätter lesen (ggf. mit Wörterbuch), Application Notes (wenns
komplizierter wird), Tutorials durcharbeiten, GOOGELN (ich wette dass
99,99% aller Anfängerfragen schon beantwortet wurden, hier im Forum oder
anderswo) usw.
*Nicht*: Hallo, ich hab keine Ahnung, war in der Schule ein fauler Sack,
bin es immer noch und muss jetzt... Wie geht dass?
Tut schrieb:> Hast du dir eigentlich schon das AVR-GCC-Tutorial (auf das dich schon> die ganze Zeit Leute verweisen) durchgelesen und auch durchgearbeitet?
Ich wette nein.
aller Tage ich brauche deine unnötigen kommentare nicht ! ! !
Wie schon gesagt, bin seit Tagen/Wochen dran. Jeder sagt was anderes.
Das was ich ausgearbeitet habe ist voll der Chaos geworden.
Jürgen Schmitt schrieb:> Habe den Quellcode dafür rauskopiert.
Und wo ist das in deinem zuletzt geposteten Programm?
Das letzt von dir gepostete Programm lässt sich nicht korrekt erstellen.
Ist das jetzt endlich erledigt?
> Mein Programm zeigt keine Fehler> an. Cool, Board angeschlossen. Alles verkabelt. Statt LDR Pottis> verwendet. Aber keine Funktion.
Das kann jetzt vieles sein.
Angefangen von falscher Verkabelung bis zu falscher Auswertung, bis zu
falsch eingestellter Referenzspannung bis zu falsches Programm auf den
µC geflasht.
Jürgen Schmitt schrieb:> aller Tage ich brauche deine unnötigen kommentare nicht ! ! !alle Tage wieder, ich darf doch sehr bitten!
> Das was ich ausgearbeitet habe ist voll der Chaos geworden.
Warum wundert mich das nicht?
Jürgen Schmitt schrieb:> Hab ich gemacht, dann wurde mmir gesagt:"Warum benutzt du ein Interupt?"> mach es doch so.
Sei froh, dass ich dir den Interrupt ausgeredet habe.
Auf einer Wissens-Skala von 1 bis 20 solltest du mindestens auf 12 sein
um mit Interrupts zu arbeiten. Nach dem was ich gesehen habe und so wie
du dich anstellst, bist du gerade mal bei 4
Jürgen Schmitt schrieb:> 10€ für einen fertigen Quellcode !
Die üblichen Stundensätze(!!!) liegen >50€, genaueres können dir die
Selbstständigen hier sagen.
> Ich krieg ein Projekt ohne Grundwissen. Schwachsinnig ey.
Aber natürlich.
Für euch ist das ja eine Sache von 10min. Bin noch ein Schüler so viel
habe ich nicht. :D Und brauche ja nur den Teil. Wert rein Wert raus. So
weit bis ich mit 4 Variabeln weiter arbeiten kann.
10min. also 60€/6=10€ :)
>Für euch ist das ja eine Sache von 10min. Bin noch ein Schüler so viel>habe ich nicht. :D Und brauche ja nur den Teil. Wert rein Wert raus. So>weit bis ich mit 4 Variabeln weiter arbeiten kann.>10min. also 60€/6=10€ :)
Aufgrund dieser Attitüde steigt der Stundensatz schon mal auf 360€.
10min. also 360€/6=60€ :)
>Bin noch ein Schüler
Das wissen wir mittlerweile.
>10min. also 60€/6=10€ :)
Du bist vielleicht naiv...
@Karl Heinz
Bitte, mach zu. Das wird ja eh nix mehr.
Hallo Jürgen.
Versteh ich das hier richtig:
Du versuchst hier gleichzeitig
- Programmierung überhaupt (Problemanalyse, Lösungswege)
- C Programmierung (Sprache, Compilerbedienung, Programm- und
Dateiaufbau) zu lernen,
- Microcontroller-Programmierung (Den Code auf dem Chip zu bekommen und
laufen zu lassen sowie Microcontroller-spezifische Funktionsweisen) zu
lernen,
- Grundlagen analoger Schaltungstechnik (Spannungsteiler an
Widerständen) zu lernen,
- und zum Schluß noch Leistungselektronik (soll ja dann mal ein Motor
angesteuert werden) zu lernen.
Das ist ganz schön viel auf einmal.
Oder sehe ich das jetzt falssch? Welche Erfahrungen mit diesen Themen
konntest Du denn schon sammeln. Vielleicht postest Du hier mal was Du in
diesen Bereichen schon gemacht hast, dann wissen die hilfsbereiten
Forenteilnehmer wo sie ansetzen können.
Jürgen Schmitt schrieb:> Für euch ist das ja eine Sache von 10min. Bin noch ein Schüler so viel> habe ich nicht. :D Und brauche ja nur den Teil. Wert rein Wert raus. So> weit bis ich mit 4 Variabeln weiter arbeiten kann.
Den Teil hast du bereits.
Der steht mehr oder weniger 1:1 im Tutorial.
Du brauchst ihn dir nur von dort zu kopieren. Und zwar vollständig!
alle Tage wieder schrieb:>>Bin noch ein Schüler> Das wissen wir mittlerweile.>>>10min. also 60€/6=10€ :)> Du bist vielleicht naiv...
Allerdings.
Denn wenn das so einfach wäre könnte das ja jeder.
Aber ich lass mir natürlich auch die Stunden zahlen, die ich gebraucht
habe um dorthin zu kommen, dass ich das in 10 Minuten machen kann.
Daher: Das kannst du dir nicht leisten, da einen Profi anzuheuern.
Entweder selber lernen oder es wird teuer.
Ist bei einem Handwerker auch nicht anders.
Dieswegen bin ich auch durcheinander. Ist ein Auftrag ohne Grundwissen.
Habe meine Konstruktion fertig. Alles auch verschaltet. Von meinem MC
aus 5V drauf gegeben. Dann 4 Leitungen jeweils in einen Eingang vom MC
also PORT-c 0,1,2,3
Habe auch die Motorsteuerung fertig. 4Ausgäne Steuersignale vom MC.
PORT-d 1(links) 2(rechts) usw.
Muss halt vom Eingang die Signale In Digitale. Brauche auch keine
Auswertung sondern nur einen vergleich. Oben ist gepostet der Code.
Jürgen Schmitt schrieb:> Dieswegen bin ich auch durcheinander. Ist ein Auftrag ohne Grundwissen.>> Habe meine Konstruktion fertig. Alles auch verschaltet.
Und das sieht elektronisch wie aus?
Und wie sieht jetzt dein Programm aus?
>Ist ein Auftrag ohne Grundwissen.
Das ist doch ganz einfach. Wenn Du aufgrund der Einträge im Klassenbuch
nachweisen kannst, das die notwendigen Grundlagen noch nicht vermittelt
worden sind, dann darf man Dir auch keine 5 geben, es sei denn Du bist
aufgefordert worden Dir das Wissen per Hausarbeit selbst anzueignen.
Sonst musst Du die Kröte (die 5) halt schlucken.
>Brauche auch keine Auswertung sondern nur einen vergleich. Oben ist >gepostet der
Code.
Du hast den Code schon! Jetzt ist mal gut.
Karl heinz Buchegger schrieb:> Jürgen Schmitt schrieb:>> Dieswegen bin ich auch durcheinander. Ist ein Auftrag ohne Grundwissen.>>>> Habe meine Konstruktion fertig. Alles auch verschaltet.>> Und das sieht elektronisch wie aus?
Damit da kein Missverständnis entsteht:
Wie der Motor angeschlossen ist, interessiert noch nicht.
Es geht einzig und alleine um die 4 ADC Eingänge.
Wie sind die verschaltet (Aufpassen: wie SIND die momentan verschaltet,
nicht wie SOLLTEN sie verschaltet sein, wenn dann einmal LDR da drann
sind) und wie sieht das Auswerteprogramm jetzt aus.
Stephan Henning schrieb:> @Karl Heinz> bin mal gespannt wie lange Du noch Geduld hast.
Ich hoffe nicht mehr lange. Nicht weil ich Karl Heinz einen
Nervenzusammenbruch wünsche, bloss nicht!!!, aber ich würde mich freuen
wenn der TO keine Hilfe bekommt und mal die Folgen seiner Faulheit zu
spüren bekommt. Hoffenlich ist der Name echt, der Lehrer nutzt Google
und findet diesen Fred.
Huch schrieb:> Jetzt ist mal gut.
ack
Ich versuchs nochmal: ZUMACHEN!
Huch schrieb:> Du hast den Code schon!
Das traurige ist: Getreu dem Forenmotto rücken wir in solchen Fällen den
Code nicht komplett raus. Aber er kriegt den Hinweis, wo er ihn herholen
kann um ihn an seine Bedürfnisse anzupassen.
Und dann klappt noch nicht mal das Kopieren einer Codequelle.
Kopfschüttel.
Weiter oben war ich anscheinend schon prophetisch, als ich prophezeit
habe, dass jemand zu ihm fahren und die Tasten drücken müss.
Ich hab nicht umsonst nach der momentanten Verschaltung gefragt.
Ich will wissen wie du die Potis angehängt hast!
Du musst das Lesen was geschrieben steht und nicht das was du gerne
lesen möchtest!
Ich frag mich manchmal wie es dem armen Menschen gegangen ist, der meine
Anfängerfragen beantworten musste.
Ich kam da mit meinem riesen Ausdruck vom PET-Basic an und wollte wissen
wieso da ein JSR gerade vor nem String kam.
Oder die stundenlangen Sitzungen am Nollendorfplatz. Der einzige
Elektronikladen in dem man die englischen Bücher bekam und in Englisch
war ich ne Niete.
Ach warn das noch Zeiten. Irgendwann haben wir uns in Assembler Witze
erzählt. Naja. Ich werd wohl alt.
Stephan Henning schrieb:> soll ich raten ? Der Mittelabgriff vom Poti hängt in der Luft. :-)
:-)
Genau darauf will ich hinaus :-)
Aber dem Kerl ist ja keine Information zu entlocken. Wegen jedem Müll
muss man 5 mal nachfragen.
Eigentlich sollte man meinen, dass jemand der in Schwierigkeiten ist,
alles daran setzt, kooperativ zu sein.
Das aktuelle Programm steht auch noch aus.
alle Tage wieder schrieb:> Huch schrieb:>> Karl Heinz hat wohl wieder 'ne Lieferung Baldrian bekommen.> Muss nen starkes Zeug sein um sowas hier auzuhalten.
Acepromazin
Jürgen Schmitt schrieb:> jetzt habe ich LDRs dran.>> Aber prinzipiell sind die ja gleich. oder nicht? Haupsache richtig> verschaltet.
Poti wäre schon in Ordnung, wenn du es richtig eingbaut hast.
Bei LDR erhebt sich sofort die Frage: Wie gross hast du den anderen
Widerstand gemacht und hast du mal nachgemessen, was die Spannung an den
ADC Eingängen für Werte hat?
Poti wäre insofern besser, weil man da einfach eine Spannung einstellt
und dann hat man was reproduzierbares. Bei LDR ist das immer so eine
Sache ob man mit der Hand reproduzierbar die gleiche Abschattung
hinkriegt.
Poti so in der Größenordnung von 10k. Ob das 4.7k oder 15k sind spielt
nicht die große Rolle, 1MOhm hingegen wäre schon etwas zu viel.
Was macht das Programm?
Huch schrieb:> Ich frag mich manchmal wie es dem armen Menschen gegangen ist, der meine> Anfängerfragen beantworten musste.> Ich kam da mit meinem riesen Ausdruck vom PET-Basic an und wollte wissen> wieso da ein JSR gerade vor nem String kam.> Oder die stundenlangen Sitzungen am Nollendorfplatz. Der einzige> Elektronikladen in dem man die englischen Bücher bekam und in Englisch> war ich ne Niete.>> Ach warn das noch Zeiten. Irgendwann haben wir uns in Assembler Witze> erzählt. Naja. Ich werd wohl alt.
vor 20 Jahren gabs kein Forum wo wir fragen konnten. ASM haben wir
trotzdem gelernt. Nur C kriege ich einfach nicht hin. (habs auch nie
vermisst)
Ich hab aufmerksam mitgelesen. Und jetzt muß ich sagen: ich fänd es
nicht ganz "fair", wenn dieser Thread offen gelassen wird. Es gibt echt
viele Leute, die auch mit Grundlagen ihre Probleme haben/hatten. Und
denen wurde es auch immer überlassen, sich da selbst schlau zu machen.
Das war bei mir so und bei 1000en anderen auch.
Der TO hat alle Informationen erhalten, die er zur Lösung der Aufgabe
braucht. Ihm fehlt es an den allertiefsten Grundlagen. Wenn hier weiter
"geholfen" wird, dann darf sich NIENIENIE wieder hier über faule Schüler
beschwert werden. Es wäre nicht fair gegenüber den Leuten, die sich
selbst etwas erarbeiten...
Ich würde mein Kind auf die Schnauze fallen lassen, und zur Strafe für
die 5 das Taschengeld kürzen -> Lerneffekt.
Sorry...
OK
D.h. die Spannungen sind anscheinend soweit in Ordnung. Du hast
heffentlich auch direkt am µC Pin gemessen. Nicht dass da irgendwo ein
Kabel in der Luft hängt. Direkt am µC Pin messen ist das sicherste um
all die kleinen Fehlerchen auszuschliessen und zu detektieren.
Also: Jetziges Programm, wie siehts aus.
Und zwar komplett!
Joachim B. schrieb:> Ich hab aufmerksam mitgelesen. Und jetzt muß ich sagen: ich fänd es> nicht ganz "fair", wenn dieser Thread offen gelassen wird.
Im Grunde hast du recht.
Allerdings: Fertige Lösung gibts sowieso nicht.
Joachim B. schrieb:> Ich hab aufmerksam mitgelesen. Und jetzt muß ich sagen: ich fänd es> nicht ganz "fair", wenn dieser Thread offen gelassen wird. Es gibt echt> viele Leute, die auch mit Grundlagen ihre Probleme haben/hatten. Und> denen wurde es auch immer überlassen, sich da selbst schlau zu machen.> Das war bei mir so und bei 1000en anderen auch.> Der TO hat alle Informationen erhalten, die er zur Lösung der Aufgabe> braucht. Ihm fehlt es an den allertiefsten Grundlagen. Wenn hier weiter> "geholfen" wird, dann darf sich NIENIENIE wieder hier über faule Schüler> beschwert werden. Es wäre nicht fair gegenüber den Leuten, die sich> selbst etwas erarbeiten...> Ich würde mein Kind auf die Schnauze fallen lassen, und zur Strafe für> die 5 das Taschengeld kürzen -> Lerneffekt.>> Sorry...
Danke, besser hätte ich es nicht formulieren können.
Da gab es erst kürzlich einen Fred zu solchen Fällen und trotzdem wird
weiterhin die Arbeit für andere erledigt. :-(
MACHT ENDLICH DICHT HIER!
habs direkt am mc gemessen.
Habs ja oben schon reingestellt. Hat sich nichts geândert. Ausem
turturial raus kopiert und getestet und wieder weg. Nichts brauchbares
so zu sagen.
Kanns nicht rein stellen. Bin unterwegs von der schule nach hause.
Karl Heinz ich bewundere deine Geduld immer wieder :)
Jürgen Schmitt schrieb:> Hat sich nichts geândert. Ausem> turturial raus kopiert und getestet und wieder weg
was heißt wieder weg? Die Funktionen sollten schon im code drin bleiben.
Was ich Persönlich nicht verstehen kann, wieso du die Leute nicht
unterstützst die dir helfen wollen.
Zeig, sobald du kannst, doch einfach mal dein aktuelles Programm.
Grüße
Chris
/* nach Aktivieren des ADC wird ein "Dummy-Readout" empfohlen, man liest
12
also einen Wert und verwirft diesen, um den ADC "warmlaufen zu lassen" */
13
14
ADCSRA|=(1<<ADSC);// eine ADC-Wandlung
15
while(ADCSRA&(1<<ADSC)){}// auf Abschluss der Konvertierung warten
16
/* ADCW muss einmal gelesen werden, sonst wird Ergebnis der nächsten
17
Wandlung nicht übernommen. */
18
result=ADCW;
19
}
da ist die Einstellung der Referenzspannung drinnen, da ist die
Einstellung des Frequenzvorteilers drinnen.
All das hast du rausgeworfen und dann wunderst du dich, warum dein ADC
nicht korrekt arbeitet? Die Dinge stehen doch nicht einfach so zum Spass
in den Tutorialsroutinen drinnen!
(Für deinen Fall willst du wahrscheinlich AVcc als Referenzspannung
nehmen. Daher: Die erste der beiden Einstellungen entkommentieren und
dafür die andere für die interne Referenzspannung unter Kommentar
setzen)
Ok habs verstnden mit referenzspannung. Die lde s sind als ddrb
definiert.
Wenn ich die if funktionen noch richtig mache also if wenn so und so
dann leuxhte wenn nicht also else leute nicht.. Dann müsste es
funktunieren.
Versuche mein avr studio zum laufen zu bringen dann meld ich mich noch
mal.
Danke für die hilfe und geduld :)
Jürgen Schmitt schrieb:> Wenn ich die if funktionen noch richtig mache also if wenn so und so> dann leuxhte wenn nicht also else leute nicht.. Dann müsste es> funktunieren.
Nein.
Denn du musst den Portpin an dem die LED hängt auch noch auf Output
konfigurieren.
Die Details dazu finden sich im Datenblatt bzw., wer hätte das gedacht,
im Tutorial
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Zugriff_auf_IO-Ports