Forum: Mikrocontroller und Digitale Elektronik Schiebepoti Auslesen klappt nicht.


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Thgomas T. (helyxc)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi zusammen,

ich möchte mit einem Arduino Mega einen Schiebepoti auslesen und auf 
einem Terminal ausgeben.
Das Terminal funktioniert bereits, allerdings klappt das auslesen nicht, 
da nur 0 ankommen.
Ich möchte ausserdem keine Arduino Funktionen verwenden sondern 
"normales" C.

Hier mein Quellcode:
1
#include <avr/interrupt.h>
2
#include <avr/io.h>
3
#include <stdio.h>
4
5
#define F_CPU 16000000
6
#include <util/delay.h>
7
8
9
#define BAUD_PRESCALLER (((F_CPU / (250000 * 16UL))) - 1) // Für Terminal
10
11
volatile uint16_t adc_wert;
12
13
14
 //############################################################################
15
 //Terminal Zeug
16
void USART_printS(char* StringPtr){
17
 
18
while(*StringPtr != 0x00){
19
  while(!(UCSR0A & (1<<UDRE0)));
20
    UDR0 = *StringPtr;
21
  StringPtr++;}
22
 
23
}
24
25
void USART_printI(int16_t wert){
26
 
27
 char End[]="\n";
28
 char Ausgabe[10]={0,0,0,0,0,0,0,0,0,0};
29
 
30
 itoa(wert,Ausgabe,10);
31
 strcat(Ausgabe,End);
32
 USART_printS(Ausgabe);
33
  
34
}
35
36
ISR (ADC_vect)
37
38
{
39
  static unsigned char channel = 0;
40
 
41
  ADCSRA = 0; 
42
  
43
 adc_wert= ADC;
44
  
45
 
46
}
47
48
49
void setup() {
50
//ADC initialisieren
51
  ADMUX = (1<<REFS0); // VCC als Referenz
52
 
53
  ADCSRA = (1<<ADATE)|(1<<ADIE); // Free Running Mode
54
  ADCSRA |= (1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0); // Prescaler 128
55
  ADCSRA |= (1<<ADEN); // ADC Aktivieren
56
57
 
58
59
      // UART TERMINAL
60
61
 UBRR0H = (uint8_t)(BAUD_PRESCALLER>>8);
62
 UBRR0L = (uint8_t)(BAUD_PRESCALLER);
63
 UCSR0B = (1<<RXEN0)|(1<<TXEN0);
64
 UCSR0C = (3<<UCSZ00);
65
}
66
67
void loop() {
68
69
   USART_printI(adc_wert);
70
    
71
    
72
     _delay_ms(5); 
73
   
74
   
75
 
76
}

Beim Auslesen mit einem Multimeter kann ich eine Spannung zwischen 0 und 
4.05V Messen. (Wieso eigentlich nur 4.05 und nicht 5?), dem entsprechend 
ist der Poti richtig verschaltet.

Anbei noch ein Bild vom Aufbau. Hat jemand eine Idee warum da nichts 
kommt?

Gruß

von Md M. (Firma: Potilatormanufaktur) (mdma)


Bewertung
0 lesenswert
nicht lesenswert
Weise doch adc_wert in der ISR mal einen fixen Wert (ungleich 0) zu, um 
zu sehen, ob die ISR überhaupt aufgerufen wird.

: Bearbeitet durch User
von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Thgomas T. schrieb:
> Ich möchte ausserdem keine Arduino Funktionen verwenden sondern
> "normales" C.

Das würde auch den Verzicht auf "setup()" und "loop()" bedeuten :-)

Thgomas T. schrieb:
> ADCSRA = 0;

Was bezweckst Du damit? Free Running Mode mit single shot? :-)

Thgomas T. schrieb:
> ADCSRA |= (1<<ADEN); // ADC Aktivieren

Prima, und wann willst Du ihn starten?
 ADSC: ADC Start Conversion

Praktisch wäre es auch, die Interrupts mit SEI(); zu aktivieren. Ggf. 
macht das ja der Arduino-Unterbau sowieso - aber "sicher ist sicher".

von Md M. (Firma: Potilatormanufaktur) (mdma)


Bewertung
0 lesenswert
nicht lesenswert
Dieter F. schrieb:
> Praktisch wäre es auch, die Interrupts mit SEI(); zu aktivieren. Ggf.
> macht das ja der Arduino-Unterbau sowieso - aber "sicher ist sicher".

Ja, Interrupts sind im Arduino-Framework aktiviert, wenn sie nicht 
explizit deaktiviert wurden.

von Thgomas T. (helyxc)


Bewertung
0 lesenswert
nicht lesenswert
Dieter F. schrieb:

> Thgomas T. schrieb:
>> ADCSRA = 0;
>
> Was bezweckst Du damit? Free Running Mode mit single shot? :-)
>
> Thgomas T. schrieb:
>> ADCSRA |= (1<<ADEN); // ADC Aktivieren
>
> Prima, und wann willst Du ihn starten?
>  ADSC: ADC Start Conversion
>


Ahh super danke schön :) Das waren die Fehler.

Jetzt Funktioniert es ganz gut. Allerdings schwankt der Wert noch etwas. 
Ich nehme schon nur die  8 obersten Bits, aber dennoch schwankt der Wert 
um +-1, selbst wenn ich nichts am Poti mache. Gibt da noch eine 
Möglichkeit das zu "glätten" oder so?

von galeo14 (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Du könntest doch mehrere eingelesene Werte mitteln, oder eine Hysterese 
einbauen, wenn die Auflösung nicht so von  Bedeutung ist.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Bewertung
0 lesenswert
nicht lesenswert
Was für einen Wert hat denn das Poti? Wenn es mehr als etwa 5k - 10k 
hat, solltest du dem ADC Eingang noch einen 3,3nF - 22nF nach Masse 
spendieren.

von Thgomas T. (helyxc)


Bewertung
0 lesenswert
nicht lesenswert
Matthias S. schrieb:
> Was für einen Wert hat denn das Poti? Wenn es mehr als etwa 5k - 10k
> hat, solltest du dem ADC Eingang noch einen 3,3nF - 22nF nach Masse
> spendieren.

Er hat 10k, ich habe 100nF nahc masse verbaut.

von Jim M. (turboj)


Bewertung
0 lesenswert
nicht lesenswert
Thgomas T. schrieb:
> Er hat 10k, ich habe 100nF nahc masse verbaut.

Davon ist auf dem Foto aber nix zu sehen.

von Thgomas T. (helyxc)


Bewertung
0 lesenswert
nicht lesenswert
Jim M. schrieb:
> Thgomas T. schrieb:
>> Er hat 10k, ich habe 100nF nahc masse verbaut.
>
> Davon ist auf dem Foto aber nix zu sehen.

Kam im Nachhinein dazu ;) Aber ändert leider nichts am Problem.

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Thgomas T. schrieb:
> Ich nehme schon nur die  8 obersten Bits,

Hmm, ich habe nicht gesehen, dass Du

ADLAR: ADC Left Adjust Result

nutzt und nur ADCH liest :-)

Diese Schiebe-Potis "kratzen" oft. Wahrscheinlich musst Du wirklich 
gleitende Mittelwerte bilden (z.B. aus 3 ... Messungen), damit das noch 
stabiler wird.

von Joachim B. (jar)


Bewertung
0 lesenswert
nicht lesenswert
eigentlich müsste das auch schnell genug sein um 8 Werte zu mitteln, 
aufaddieren und rightshift 3

wenns zu lahm sein sollte dann eben += 4x und >>2

von Thgomas T. (helyxc)


Bewertung
0 lesenswert
nicht lesenswert
Hm, also das hier ist jetzt mein Code ( bzw Teile davon):
Einmal die ISR
1
//AD Werte einlesen
2
ISR (ADC_vect)
3
4
{
5
  if (mw_cnt >= 100){
6
    mw_cnt=0;
7
    
8
    adc_wert = mw/100;
9
    mw=0;
10
  }
11
  else{
12
    mw_cnt++;
13
    mw= mw + (ADC >>2);
14
  }
15
}

und die ADC Config.
1
//ADC initialisieren
2
  ADMUX = (1<<REFS0); // VCC als Referenz
3
 
4
  ADCSRA |= (1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0); // Prescaler 128
5
  ADCSRA |= (1<<ADATE)|(1<<ADSC)|(1<<ADIE); //   Free Running Mode
6
  ADCSRA |= (1<<ADEN); // ADC Aktivieren

Also wenn ich einen MW über 100 Messungen bilde ist der Wert ziemlich 
stabil.
Die Frage ist klappt das auch noch so gut wenn ich da zb 16 Potis dran 
habe? Kann man das nicht irgendwie schaltungstechnisch optimieren mit 
nem dicken Kondensator irgendwo, sodass sich die Werte garnicht mehr so 
schnell ändern können?

Die Sache mit den obersten 8 MSB habe ich mit einem >> 2 gelöst. Das ist 
doch äquivalent oder?

: Bearbeitet durch User
von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Thgomas T. schrieb:
> Also wenn ich einen MW über 100 Messungen bilde ist der Wert ziemlich
> stabil.

Du berechnest so keinen gleitenden Mittelwert sondern alle 100 Messungen 
einen Durchschnittswert.

Schau mal da z.B.

Beitrag "Re: gleitender Mittelwert im Atmel"

das ist pfiffig.


Thgomas T. schrieb:
> Die Sache mit den obersten 8 MSB habe ich mit einem >> 2 gelöst. Das ist
> doch äquivalent oder?

Ja, ADLAR spart halt etwas Zeit :-)


Wenn Du den Kondensator zwischen Schleifer und GND hast sollte es 
eigentlich O.K. sein. Du kannst ggf. noch mit dem Wert spielen - glaube 
auber nicht, das das viel bringt.

von Thgomas T. (helyxc)


Bewertung
0 lesenswert
nicht lesenswert
Dieter F. schrieb:
> Thgomas T. schrieb:
>
> Beitrag "Re: gleitender Mittelwert im Atmel"
>
> das ist pfiffig.

Hm, also ich hab das jetzt so:
1
ISR (ADC_vect)
2
{
3
4
avgmem -= avgmem/128;
5
avgmem += ADCH;   
6
adc_wert = avgmem/128;
7
 
8
}
Allerdings ist der Wert immernoch ziemlich am Spacken :/. Hab ich das 
falsch übernommen?

>
> Thgomas T. schrieb:
>> Die Sache mit den obersten 8 MSB habe ich mit einem >> 2 gelöst. Das ist
>> doch äquivalent oder?
>
> Ja, ADLAR spart halt etwas Zeit :-)
 Ist umgerüstet ;)
>
> Wenn Du den Kondensator zwischen Schleifer und GND hast sollte es
> eigentlich O.K. sein. Du kannst ggf. noch mit dem Wert spielen - glaube
> auber nicht, das das viel bringt.

Jap, grad gemerkt, der kann auch nichts reißen.

von Dieter F. (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Thgomas T. schrieb:
> Hm, also ich hab das jetzt so:

Du hast die Variablen auch als long deklariert?

Schon mal über ein neues Poti nachgedacht ? :-) Welchen Wert hat das 
Poti eigentlich?

Fällt mir gerade noch so ein - hast Du mal ein leistungsfähiges 
Steckernetzteil dran gehängt? Ggf. schwächelt die USB-Versorgung - was 
Deinen Messwert von 4,05 V erklären würde (oder das Poti ist zu 
"niederohmig").

von Thgomas T. (helyxc)


Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
Dieter F. schrieb:
> Thgomas T. schrieb:
>> Hm, also ich hab das jetzt so:
>
> Du hast die Variablen auch als long deklariert?
>
> Schon mal über ein neues Poti nachgedacht ? :-)
>
> Fällt mir gerade noch so ein - hast Du mal ein leistungsfähiges
> Steckernetzteil dran gehängt? Ggf. schwächelt die USB-Versorgung - was
> Deinen Messwert von 4,05 V erklären würde.

Wow. Das hats echt gelöst. Und schon ist der Wert auch stabil. Bis ich 
darauf gekommen wär hätts glaub ich ein Weilchen gedauert. Danke 
schonmal!

Jetzt fehlt noch ein Schritt zum Ziel.

Ich möchte einen Taster einbauen, der, wenn ich ihn drücke, den ADC Wert 
aufs Maximum (also 255) Springen lässt.
Ich hab in den Anhang die Schaltung gepackt ich die grad dafür benutze.

Ohne den Widerstand klappts nicht. Wenn der Poti auf dem geringsten Wert 
ist und ich dann auf den Knopf drück machts puff. Ich habe extra einen 
kleinen genommen, da sonst wenn ich auf den Knopf drücke, nichtmehr 255 
erreicht wird (Mit diesem Widerstand 253). Das klappt ans ich ganz gut, 
nur wenn ich den Poti in in den unteren 10% habe, dann komme ich mit dem 
Knopf nichtmehr auf 253 und der Maximalwert sinkt immer weiter mit 
sinkender Schleiferstellung, aber eben nur wenn der Schleifer fast ganz 
unten ist.  Ich denke mal da fehlt noch was, oder?

Danke

: Bearbeitet durch User
von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Thgomas T. schrieb:
> Ich denke mal da fehlt noch was, oder?

Eine Diode?

von Thgomas T. (helyxc)


Bewertung
0 lesenswert
nicht lesenswert
Dieter F. schrieb:
> Thgomas T. schrieb:
>> Ich denke mal da fehlt noch was, oder?
>
> Eine Diode?

Hmm schon versucht. Dann komm ich überhaupt garnicht auf den Wert 255 ( 
denke mal das liegt an den 0,7V Spannungsabfall an der Diode) und der 
Abfall bei niedriger Schleiferstellung ist ebenfalls da

Geht das Evtl indem ich mit einem Widerstand einen Spannungshub mache, 
sodass es zb von 5 bis 2V misst?
Dann muss ich ja dem ADC auch irgendwie sagen dass der max. Ausschlag 3V 
ist anstatt 5V. geht das über AREF?

: Bearbeitet durch User
von avr (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Besser mit einem Widerstand das Poti entkoppeln. Z.B. 10k zwischen 
Abgriff und Kondensator+Taster.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Bewertung
1 lesenswert
nicht lesenswert
Thgomas T. schrieb:
> tolle_idee.png

Da bin ich mir nicht so sicher. Wenn der Fader auf 0 steht und du den 
Taster drückst, fliessen etwa 250mA durch Taster, Widerstand und Fader - 
das stinkt mit Sicherheit und zerstört die Kohlebahn.
Also erstmal:

avr schrieb:
> Besser mit einem Widerstand das Poti entkoppeln. Z.B. 10k zwischen
> Abgriff und Kondensator+Taster.

Oder auch 1k. Irgendwas muss den Strom durch den Fader begrenzen.

Thgomas T. schrieb:
> Dann muss ich ja dem ADC auch irgendwie sagen dass der max. Ausschlag 3V
> ist anstatt 5V. geht das über AREF?

Da kannst über die Spannung an AREF innerhalb der Grenzen des 
Datenblatts den Vollausschlag des ADC einstellen (min. 2V). Aber die 
Entkopplung mit Widerstand ist einfacher, wie von avr vorgeschlagen.

: Bearbeitet durch User
von W.A. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
avr schrieb:
> Besser mit einem Widerstand das Poti entkoppeln. Z.B. 10k zwischen
> Abgriff und Kondensator+Taster.

Dann macht es zwar trotzdem "puff", weil beim Drücken des Tasters der 
Kondensator kurz geschlossen wird, aber nicht mehr so doll ;-)

Es gibt nur Brandspuren auf den Tasterkontakten.

von Joachim B. (jar)


Bewertung
0 lesenswert
nicht lesenswert
Matthias S. schrieb:
> Wenn der Fader auf 0 steht und du den
> Taster drückst, fliessen etwa 250mA durch Taster, Widerstand und Fader -
> das stinkt mit Sicherheit und zerstört die Kohlebahn.

Matthias S. schrieb:
> Oder auch 1k. Irgendwas muss den Strom durch den Fader begrenzen.

genau 1k zwischen Schleifer und ADC Eingang, Taster mit 470 Ohm nach 
+VCC am ADC sollte auch besser sein.

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Joachim B. schrieb:
> Taster mit 470 Ohm nach
> +VCC am ADC sollte auch besser sein.

Haben wir dann nicht einen schönen Spannungsteiler in Verbindung mit den 
1KOhm gegen Masse (wenn der Schleifer auf der GND-Seite ist)?

von Luke (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ja das gäbe einen schönen Spannungsteiler ;)

Was mir so einfällt:
1. Einen Taster nehmen der einen Wechselkontakt hat, damit schalten ob 
GND oder VCC unten an das Poti geht, dann bekommst du auch 255 weil dann 
egal in welcher Position das Poti ist 5V anliegen wenn der Taster 
gedrückt ist.

oder

2. Den Taster an einen zweiten Pin vom AVR anschließen und den Wert 
einlesen. Wenn Taster gedrückt dann einfach den Wert des Potis 
"überschreiben*

von Thgomas T. (helyxc)


Bewertung
0 lesenswert
nicht lesenswert
Hmm also ich habe jetzt vom Schleifer zum ADC und vom Taster zu VCC 
jeweils 1k dazwischen gehängt. (Hab keine 470er da). Jetzt ist der 
Maximalwert nichtmehr 255 und der Taster hängt immernoch von der 
Faderstellung ab.

von mork (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Thgomas T. schrieb:
> Ich hab in den Anhang die Schaltung gepackt ich die grad dafür benutze.

Warum ist da Avcc als Versorgung für den ADC/PortC nicht beschaltet?

von Thgomas T. (helyxc)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
mork schrieb:
> Thgomas T. schrieb:
>> Ich hab in den Anhang die Schaltung gepackt ich die grad dafür benutze.
>
> Warum ist da Avcc als Versorgung für den ADC/PortC nicht beschaltet?

Ist es. Ich benutze (noch) einen Arduino Mega. Habs nur nicht da 
eingezeichnet.


Also ich habs jetzt so gelöst wie im Anhang zu sehen ist. So scheint 
alles zu gehen. Nichts scheint warum zu werden und die Frische Bergluft 
in meinem Zimmer wird durch keinen verschmorten Kohlegestank gestört. :)
Ich komme auf den Wert 255 und der Knopf ist unabhängig von der 
Faderposition.

Jetzt ist nur noch eine Sache. Wenn den Knopf wieder loslas braucht der 
Kondensator zu lange um sich zu entladen. Dh der Wert spring nicht mehr 
schnell genug auf den alten zurück. Nehme ich einen kleineren C, so 
kommt das zittern wieder. Ich benutze 10nF.
Spricht vll sonst noch was anderes was ich jetzt nicht sehe dagegen das 
so zu betreiben?

Gruß

: Bearbeitet durch User
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Bewertung
0 lesenswert
nicht lesenswert
Thgomas T. schrieb:
> Also ich habs jetzt so gelöst wie im Anhang zu sehen ist. So scheint
> alles zu gehen.

Ich hoffe, das es sich um einen Zeichenfehler handelt. Wenn der Fader 
auf 0 steht und du den Taster drückst, schliesst du die Betriebsspannung 
kurz.
Der Taster muss ans ADC-seitige Ende des 10k Widerstandes.
Allerdings hast du noch so viele Ports frei, das ich den Taster an einen 
freien Pin anschliessen und den Rest per Software lösen würde.

Thgomas T. schrieb:
> Nehme ich einen kleineren C, so
> kommt das zittern wieder. Ich benutze 10nF.

Beachte bitte auch die Siebung von AVCC nach Datenblatt. Atmel empfiehlt 
eine Drossel (10µH-100µH, aber 470µH gehen auch) zwischen VCC und AVCC 
und einen extra 100nF an AVCC gegen Masse.

: Bearbeitet durch User
von Joachim B. (jar)


Bewertung
0 lesenswert
nicht lesenswert
Dieter F. schrieb:
> Haben wir dann nicht einen schönen Spannungsteiler in Verbindung mit den
> 1KOhm gegen Masse

ja und wenn der Taster nicht gedrückt ist hängt der 470 Ohm in der Luft 
und spiel Hündchen "der tut nix"

wenn er gedrückt wird teilt er zwar auf 2/3 sollte aber für einen Atmel 
als high reichen, äh wie war die Frage?

von Joachim B. (jar)


Bewertung
0 lesenswert
nicht lesenswert
Thgomas T. schrieb:
> Jetzt ist nur noch eine Sache.

Matthias S. schrieb:
> Ich hoffe, das es sich um einen Zeichenfehler handelt. Wenn der Fader
> auf 0 steht und du den Taster drückst, schliesst du die Betriebsspannung
> kurz.

wollte ich auch gerade schreiben!

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Matthias S. schrieb:
> Der Taster muss ans ADC-seitige Ende des 10k Widerstandes.

Ja, sonst riecht's elektronisch :-)

Thgomas T. schrieb:
> Jetzt ist nur noch eine Sache. Wenn den Knopf wieder loslas braucht der
> Kondensator zu lange um sich zu entladen.

Nicht, wenn Du richtig verbindest - aber schon ein wenig :-) so ist es 
halt - außer Du nimmst (wie viele andere auch) einen extra 
Taster-Eingangs-Pin.

von Thgomas T. (helyxc)


Bewertung
0 lesenswert
nicht lesenswert
Hm okay. Es war kein Zeichenfehler, aber selbst wenn ich den Taster ans 
andere Ende des Widerstands packe verändert sich nichts. Ich denke mal 
irgendwas im Arudio hat das Abfackeln verhindert. Jedenfalls lief alles.

Ich denke ich werde es nun doch Softwareseitig lösen, sprich mit nem 
extra Pin für den Knopf.

Danke an alle die geholfen haben.

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Thgomas T. schrieb:
> Ich denke ich werde es nun doch Softwareseitig lösen, sprich mit nem
> extra Pin für den Knopf.

Dann schau Dir bitte Peter Danneggers Entprellroutine an -> 
Tastenentprellung bei den Artikeln. Ist nicht leicht zu verstehen, aber 
wirklich gut - ich verwende die immer, wenn ich Tasten oder 
Drehimpulsgeber abfrage.

von Joachim B. (jar)


Bewertung
0 lesenswert
nicht lesenswert
Dieter F. schrieb:
> Thgomas T. schrieb:
>> Ich denke ich werde es nun doch Softwareseitig lösen, sprich mit nem
>> extra Pin für den Knopf.
>
> Dann schau Dir bitte Peter Danneggers Entprellroutine an

und dann Software, wird der Taster gedrückt liefert eben nicht der ADC 
sondern deine Software 255 oder 1023 egal wo der Potischieber steht.

von Dieter F. (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Joachim B. schrieb:
> und dann Software, wird der Taster gedrückt liefert eben nicht der ADC
> sondern deine Software 255 oder 1023 egal wo der Potischieber steht

Häh?

von Joachim B. (jar)


Bewertung
1 lesenswert
nicht lesenswert
Dieter F. schrieb:
> Häh?

wie bitte?

ist Häh jetzt eine qualifizierte Frage oder nur ein Ausdruck von Lese 
und Verständnisschwäche?

Thgomas T. schrieb:
> Jetzt fehlt noch ein Schritt zum Ziel.
>
> Ich möchte einen Taster einbauen, der, wenn ich ihn drücke, den ADC Wert
> aufs Maximum (also 255) Springen lässt.

OK, noch mal langsam für die mit der längeren Laufzeit:

Er möchte einen Taster der den ADC Wert auf 255 springen lässt.

Warum er das möchte ist mir unklar, der ADC Wert ist zu keiner Zeit 
sichtbar!
Er ist auch nicht 255 beim Maximum sondern 1023, aber nun gut, 
angenommen er verwirft 2 Bit, dann ist 255 das maximum von ADC, das wird 
aber niemand sehen der es nicht sehen soll, will sagen es wird irgendwo 
ausgegeben.
Nun kann man auch 255 ausgeben wenn der Taster gedrückt wird, das ist 
keine Magie sondern nur Software, wo der ADC dann zur Zeit aktuell steht 
ist doch Schnuppe oder sowas von egal denn er will eine Ausgabe von 255 
bekommen auf Tasterdruck.

Es wäre auch möglich das ein Servo auf Tasterdruck das Poti an den 
oberen Anschlag zu 255 fährt, aber das wurde nicht verlangt, jedenfalls 
lese ich das nicht.

von Dieter F. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Joachim B. schrieb:
> ein Ausdruck von Lese und Verständnisschwäche?

Ja, ich bin es nicht gewohnt unvollständige Sätze zu Lesen.

Joachim B. schrieb:
> Er ist auch nicht 255 beim Maximum sondern 1023

Da er ADLAR gesetzt hat und nur ADCH liest schon.

von Joachim B. (jar)


Bewertung
1 lesenswert
nicht lesenswert
Dieter F. schrieb:
> Ja, ich bin es nicht gewohnt unvollständige Sätze zu Lesen.

sagt:

Dieter F. schrieb:
> Häh?

alles klar

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.