Sida 1 av 2
Kodlås-resistorer
Postat: 4 mars 2007, 13:48:50
av squiz3r
Hej, jag hadde tänkt bygga ett kodlås som jag ska läsa från en PIC, Jag hadde tänkt att det bara skulle använda en IO pinne.
Jag tänkte köra "RC-TIME" på PICen, Dvs. jag gör IO pinnen till en hög utgång, så att jag laddar upp kondensatorn. sen gör jag om den till en ingång o mäter hur långtid det tar för den att ladda ur sig. Min fråga är, vilka värden skulle vara passande att ha på motstånden. (det måste ju bli ganska stor skilnad på resistansen, beroende på vilken knapp man tycker på. två knappar får ju inte göra samma resistans.)
sen funderar jag på också hur det blir om man trycker ner mer än en knapp på samma gång
Tack på förhand
//Daniel A
Postat: 4 mars 2007, 14:10:05
av MadModder
Motståndens värden får inte vara lika som något annat, samt att olika kombinationer av flera motstånd inte heller får bli lika som ett annat ensamt eller andra i grupp.
Det enklaste är att varje motstånd är dubbelt så stort som det innan.
T.ex 1k 2k 4k 8k 16k 32k 64k 128k 256k 512k 1M 2M 4,1M 8,2M 16,4M 32,8M
Sen får du ju välja lämplig konding så det inte tar orimligt lång tid att ladda ur den.
Om du däremot antar att man aldrig får trycka in mer än en knapp åt gången, räcker det att motstånden är olika bara. 1 till 16k i 1k-steg t.e
Postat: 4 mars 2007, 14:11:18
av eriikh
Varför kan du inte ta en pic med A/D omvandlare istället och använda viktade motstånd?
edit: MadModder hann före
Edit2: Mitt 128:onde inlägg

Postat: 4 mars 2007, 14:14:30
av MadModder
En annan idé som varit uppe tidigare, är att använda en potentiometer med en skala på 1-10 eller nåt, så det blir som ett kassaskåp med kodratt.
Vrid till rätt siffra, vänta tills det piper, vrid till nästa osv.

Mycket enkelt med en A/D-ingång. koppla potens ändben till 0V och +5V, och mittenbenet till PICen.
Postat: 4 mars 2007, 14:14:51
av squiz3r
eriikh: Vad menar du med viktade motstånd? Jag har ingen PIC hemma med A/D..
Madmodder: hmm... det var så enkelt

Då får jag ta och göra det...
//Daniel A
Postat: 4 mars 2007, 14:15:46
av squiz3r
Madmodder: Det var en rolig idé!!! måste tänka vidare på det

Postat: 4 mars 2007, 14:17:03
av MadModder
Det funkar bra även med tidmätningen, då man omöjligen kan trycka på fler "knappar" samtidigt.
Postat: 4 mars 2007, 14:19:44
av squiz3r
Det hadde varit anurlunda, och man behöver inte betala en hel förmögenhet på knappar... Men då måste man på något sätt programera den så att den inte går på ett exakt värde utan bara ungefär.
//Daniel A
Postat: 4 mars 2007, 14:20:51
av MadModder
Precis. Men det är väl ingen konst att kolla om ett värde är mellan två andra.
[edit]
Du behöver inte kolla om tiden är si eller så heller. Ta tiden och dela den med lämpligt tal och avrunda resultatet, så får du ett värde som ändras från t.ex 1 till 20 beroende på var ratten befinner sig. Då har du ju siffrorna direkt som du kan jämföra.
Postat: 4 mars 2007, 14:22:53
av squiz3r
Jo, om man nästan inte kan kolla om det är ett exakt värde

Jag och ASM har fortfarande inte blivit bästa vänner.
//Daniel A
Postat: 4 mars 2007, 22:18:11
av Tony
Jag skulle nog ta en rotations-sensor, då behövs ingen A/D-omvandlare -bara två I/O-pinnar. och resultatet blir exakt som ett gammalt hederligt kombinationslås.
-Nej förresten det blir bättre eftersom det mekaniska låset genererar mindre och mindre vridningsvinkel för varje siffra.
Man kan bygga en rotations-sensor av två läsgafflar och en skiva med några spår i.
Madmodder>> 1% av 32M = 320k >> 1k
Ett R2R nätverk skulle däremot fungera.
Postat: 5 mars 2007, 04:58:43
av nanopile
Vad sägs om att andvända några sådana här för o göra en matris.
http://www.elfa.se/elfa-bin/dyndok.pl?l ... k=7015.htm
när en knapp trycks ned så går ström till ett par pinnar på motståndsnäten och värdet kan lätt läsas av en pic.
Förslagsvis med adomvandlaren.
Postat: 5 mars 2007, 18:22:26
av MadModder
Tony: man får väl skaffa motstånd som inte har någon tolerans
R2R blir lite knepigt när man bara har slutande knappar. Då måste man ju ha pullups. Inga pinnar får vara oanslutna i en R2R-stege. Kanske går om man har en typisk R2R med 10k och 20k, samt pullups på 100Ω...
Postat: 14 mars 2007, 17:10:48
av squiz3r
Oj.Nu har denna tråden blivit markerad som läst fast det var nya inlägg...

vilket fall som helst... Jag tror att jag kör med 1k 2k 3k......11k 12k. Om man trycker in flera på samma gång blir det ju bara fel, så det gör inget.
Men min nuvarande fråga: Hur exakt kan jag läsa av värdet, kan motstånden/kondensatorn ändra sig med temperaturen eller kan jag mäta så exakt jag kan med PICen?
Tack!
//Daniel A
Postat: 15 mars 2007, 18:12:45
av squiz3r
Jag har nu ett systemför att kolla 4olika knappar på en IO, jag kommer att utöka det till 12knappar. Men nu låter jag en LED blinkalikamånga gånger som min variabel är, det går bra att räkna dem när det är ca 20blinkningar, men när det blir ca. 100st är det inte lika lätt att hålla reda på. Så är det någon som har förslag på hur jag kan (på ett bättre sätt) ta reda på hur stor variablen är? Jag har inte lärt mig använda "debug" ännu, o det värkar rätt kompliserat...
//Daniel A