
Arduino: Analogread visar endast 1023 hela tiden!
Re: Arduino: Analogread visar endast 1023 hela tiden!
" sprättar en bärs å väntar med spänning på fortsättningen på tråden...." 

Re: Arduino: Analogread visar endast 1023 hela tiden!
jag gissar att al har läst om hur det är löst med unika värden för varje knapp i tex ratt-fjärrar osv (alltså knappar i bilratten som styr funktioner på bilstereon) där man har olika resistanser som är sinnrikt uträknade mot varann för att kunna detektera samtidiga knapptryck, och sen försökt implementera detta själv ?
Jag misstänker att det i praktiken blir omöjligt att få det säkert om man har sådär många knappar, men ska man bara kunna detektera en i taget finns det ju enklare lösningar som påpekats i tråden.
Jag misstänker att det i praktiken blir omöjligt att få det säkert om man har sådär många knappar, men ska man bara kunna detektera en i taget finns det ju enklare lösningar som påpekats i tråden.
- SeniorLemuren
- Inlägg: 8425
- Blev medlem: 26 maj 2009, 12:20:37
- Ort: Kristinehamn
Re: Arduino: Analogread visar endast 1023 hela tiden!
Du har nog rätt där Nerre. Jag förväntade mig bara att han hade följt det schema som Miramithe visade, men så var nog inte fallet.Nerre skrev:Har Al kopplat som Miramithe ritade? Al har mig veterligen INTE visat nåt schema på hur han kopplat?
Jag tolkade det hela som att Al har knapparna sitter parallellt med motstånden, d.v.s. ett knapptryck kortsluter ett motstånd.

Re: Arduino: Analogread visar endast 1023 hela tiden!
Hur fick du fram dessa värden? De är inte bara orimliga, de är skrivna på ett väldigt konstigt sätt också:Al_Bundy skrev:Knapp nummer 1 har 220 KOhm
Knapp nummer 2 har 130 Ohm
Knapp nummer 3 har 13000 Ohm
Knapp nummer 4 har 100 KOhm
Knapp nummer 5 har 37000 KOhm
Knapp nummer 6 har 560 KOhm
Knapp nummer 7 har 1300 MOhm
Knapp nummer 8 har 24 Ohm
Knapp nummer 9 har 470 Ohm
Knapp nummer 0 har 390 KOhm
Knapp nummer * har 12 KOhm
Knapp nummer # har 150 KOhm
Jag har räknat ut alla dessa och enligt mitt tycke så borde AnalogRead() visa en större skillnad mellan dessa. Eller hur?
130000 Ohm = 13 kOhm
37000 kOhm = 37 MOhm
1300 MOhm = Väldigt högt och väldigt ovanligt. Värden över några hundra KOhm ger inte tillförlitliga värden till en ADC. Man ska helst ha värden under 50 kOhm.
Vill du att det ska "fladdra" mindre så sätt dit en kondensator på ca 100 nF mellan A5-pinnen och jord.
Sedan är det så att (oavsett om du har kondensator eller inte) så kan du få felaktiga resultat precis när du trycker in eller släpper en knapp. För att det inte ska tolkas som att du tryckt på en annan knapp behöver du kanske ta in 10 värden i rad som alla måste hålla sig inom samma intervall för att du ska vara säker på att en viss knapp är nedtryckt.
Re: Arduino: Analogread visar endast 1023 hela tiden!
Då vet jag att nästa gång jag ska köra ADC så ska jag köra under 50 kOhm. Exemplet på inlägg #1 visar en 10k Ohm potentiometer. Då förstår jag1300 MOhm = Väldigt högt och väldigt ovanligt. Värden över några hundra KOhm ger inte tillförlitliga värden till en ADC. Man ska helst ha värden under 50 kOhm.
Vill du att det ska "fladdra" mindre så sätt dit en kondensator på ca 100 nF mellan A5-pinnen och jord.

Jag bytte bort den där 1300 MOhm motståndet mot en mindre.
Jag ska testa med en kondensator på 100 nF. Jag har bara tyvärr bara uF och pF.
Re: Arduino: Analogread visar endast 1023 hela tiden!
Varför inte bara göra som alla andra och köra med typ bara 1k ohm motstånd och i serie?
Re: Arduino: Analogread visar endast 1023 hela tiden!
För då måste jag montera ner det jag har byggt. Jag vet att serie är mycket smartare men jag hade absolut ingen aning att man kunde göra så. Därför gjorde jag mer en blandning av serie- och parallellkoppling där varje motstånd går till egen knapp.
Det är ungefär det samma, men nästa gång ska jag köra samma motstånd i en serie
Det är ungefär det samma, men nästa gång ska jag köra samma motstånd i en serie

Re: Arduino: Analogread visar endast 1023 hela tiden!
Du har händelsevis inte 0,1µF?Al_Bundy skrev: Jag ska testa med en kondensator på 100 nF. Jag har bara tyvärr bara uF och pF.
( µ finns på [Alt Gr]+m)
Re: Arduino: Analogread visar endast 1023 hela tiden!
Jag testade sätta en kondensator men det blev bara värre eller ingen skillnad alls. Fortfarande J¤%¤%&# osv. Jag satte dit en 338 pF keramikkondensator. mellan ett motstånd. Men jag kanske satt fel?
Om vi leker med tanken att jag har kopplat så här. Vad ska då kondensatorn sitta då?

Om vi leker med tanken att jag har kopplat så här. Vad ska då kondensatorn sitta då?

Re: Arduino: Analogread visar endast 1023 hela tiden!
Felen i serieöverföringen skulle kunna bero på att interna oscillatorn (antar att den används) inte går i precis 16 MHz.
Re: Arduino: Analogread visar endast 1023 hela tiden!
Hur sätter man en kondensator mellan ett motstånd? Måste det inte vara två för att man ska kunna få in något mellan?
Den bör sitta mellan GND och A0. Men du har ju inga problem med fladdrig avläsning så vad den ska göra för nytta vet jag inte. Vad var det det inte hjälpte mot?
Den bör sitta mellan GND och A0. Men du har ju inga problem med fladdrig avläsning så vad den ska göra för nytta vet jag inte. Vad var det det inte hjälpte mot?
Re: Arduino: Analogread visar endast 1023 hela tiden!
> Fortfarande J¤%¤%&# osv.
Det har ingenting alls med någon kondensator att göra.
Kondingen var för att stabilisera värderna på A0 (eller A5),
men det behövs ju inte vilket dina värden visade.
J¤%¤ är störningar på seriekommunikationen, det är ett helt
annat problem. Kanske missmatch i baudrate. Eller glapp (det
har du ju redan haft på andra ställen i kopplingen
).
Det har ingenting alls med någon kondensator att göra.
Kondingen var för att stabilisera värderna på A0 (eller A5),
men det behövs ju inte vilket dina värden visade.
J¤%¤ är störningar på seriekommunikationen, det är ett helt
annat problem. Kanske missmatch i baudrate. Eller glapp (det
har du ju redan haft på andra ställen i kopplingen

Re: Arduino: Analogread visar endast 1023 hela tiden!
Ja, du kan ju sätta dit en kondensator var du vill, men om det ska ha någon effekt mot fladdrande värden på ADC så ät det mellan pin A5 och GND som gäller.Al_Bundy skrev:Jag satte dit en 338 pF keramikkondensator. mellan ett motstånd.
Sedan får du börja lära dig lite vad prefixen M k m µ n p betyder. Jag föreslog en kondensator på 100 nF. Du testar 338pF. Det motsvarar 0.3 nF, nästan 300 gånger mindre kapacitans än 100 nF - och därmed 300 gånger sämre på att stabilisera en signal (lite förenklat).
Re: Arduino: Analogread visar endast 1023 hela tiden!
Ifall du inte har några avkopplingskondensatorer, och ingen avstörning mellan VCC och AVCC, är det inte så konstigt att värdena vandrar lite. Men det borde inte göra något för funktionen på ditt program, eftersom att knappavläsning rimligtvis görs genom att passa in knapparna i olika intervall, och inte specifika värden.
Re: Arduino: Analogread visar endast 1023 hela tiden!
Jag vet vad M k m µ n p betyder. Jag sa även att jag inte hade någon nF så jag tog bara någon för att testa om det blev någon skillnad.jesse skrev:Ja, du kan ju sätta dit en kondensator var du vill, men om det ska ha någon effekt mot fladdrande värden på ADC så ät det mellan pin A5 och GND som gäller.Al_Bundy skrev:Jag satte dit en 338 pF keramikkondensator. mellan ett motstånd.
Sedan får du börja lära dig lite vad prefixen M k m µ n p betyder. Jag föreslog en kondensator på 100 nF. Du testar 338pF. Det motsvarar 0.3 nF, nästan 300 gånger mindre kapacitans än 100 nF - och därmed 300 gånger sämre på att stabilisera en signal (lite förenklat).