Sida 1 av 1
Flera knappar till samma port? (snilleblixt?)
Postat: 10 november 2004, 22:09:35
av Rollo
Kom på en liten sak idag...
Håller på med ett litet projekt och har något snålt med portar kvar på min 16f628, men det känns onödigt att använda ännu en.
Därför kom jag på att man borde kunna använda sig av kommandot POT i PicBasic. Man kopplar 3-4 brytare med olika motstånd in på samma port(verkar som att man ska ha kondingar också).
Sen kör man bara POT och då vet den vilken knapp som är nedtryckt, beroende på värdet den får!
Obs!Har inte testat än.. Ska ge mig på det nu ikväll eller imorgon..
Nån som har några invändingar eller kommentarer?
Postat: 10 november 2004, 23:24:53
av PaNiC
Inga andra kommentarer än att det fungerar utmärkt att göra så

.
Postat: 13 november 2004, 00:23:17
av $tiff
det kan ta flera millisekunder att exekvera kommandot "POT"

Postat: 13 november 2004, 10:53:54
av cykze
Använder man en vanlig A/D-omvandlare går det ju snabbare.
Postat: 13 november 2004, 11:16:42
av $tiff
Klart, en ADC hade ju varit det bästa. Men tyvärr har vår kära PIC16F628 inte sådana. Däremot har den två komparatorer och en 4-bits variabel intern spänningsreferens, så man skulle ju kunna skanna en analog ingång på den vägen

Postat: 14 november 2004, 14:47:53
av Rollo
Har pillat med det ett tag nu men jag får det inte att fungera överhuvudtaget..
Har 3 knappar, 7 Ohm , 20 Ohm och 40 Ohm.
Och en konding på 0,1 µF.
Någon som har använt sig av POT som vet några klurigheter?
PicBasic:
Kod: Markera allt
Buttons:
var1 = pot porta.3 , 255
if var1 = 20 <> 90 then low porta.0
if var1 = 90 <> 160 then low porta.1
if var1 = 160 <> 250 then low porta.2
goto buttons
*edit*
Såg på en sida att dom använde en elektrolyt, ska man det? har inte sett det på något annat ställe.

Postat: 14 november 2004, 17:22:18
av $tiff
motsånden har på tok för låg resistans! De bör ligga på några kOhm för att det ska fungera bra! Prova med det istället.
Kondingen kvittar så länge den ligge på sisådär 0,1µF.
Har du satt scale till rätt värde? (Tveksamt eftersom det inte fungerade för dig)
Postat: 14 november 2004, 19:04:14
av Rollo
Oops!
Skyller på att det är dagen före måndag men mina motsånd är ju av samma värden men i Kohm...
Har sett lite kodexempel med POT men där får de ut Scale värdet på en display, hur gör man om man inte har en sådan?
Jag vill ju inte behöva kalibrera SCALE varje gång jag startar.
Postat: 15 november 2004, 00:56:59
av Tony
En 8-line to 3-line priority encoder omvandlar från Dec till Bin, om flera ingångar aktiveras samtidigt så är det högsta värdet som gäller.
Mao 4 knappar på 2 bitar.
Har du många knappar (telefontangentbord e.dyl.) är det matriskoppling som gäller.
Sen kan man ju vända på steken, expandera antalet utgångar mha. shiftregister så får man fler portar att ha som ingångar.
Postat: 15 november 2004, 22:51:26
av $tiff
Du behöver bara hitta scale en gång för din specifika hårdvara. Den motsvarar tidskonstanten för din RC-krets. Var noga med att du har din högsta resistans kopplad i serie med kondensatorn när du letar fram scale. När det väl är gjort så är det bara att lägga den som en konstant i ditt program ju!