6st knappar till en ingång...
Näpp! De har gjort om deras beskrivningar och jag hittar inte den igen. Deras trick var att över varje brytare fanns ett motstånd och brytaren kunne därför växla mellan X ohm eller 0 ohm. Vid att välja binära motståndsvärden (X, 2X, 4X, 8X, 16X...) och sedan välja rätt belastningsmotstånd kunne man räkna ut vilken/vilka av brytarna som var på eller av.
Här är exempelkod för PIC17C756 tagen ur referensmanualen:
Kod: Markera allt
BSF STATUS, RP0 ; Select Bank1
CLRF ADCON1 ; Configure A/D inputs,
; result is left justified
BSF PIE1, ADIE ; Enable A/D interrupts
BCF STATUS, RP0 ; Select Bank0
MOVLW 0xC1 ; RC Clock, A/D is on, Channel 0 is selected
MOVWF ADCON0 ;
BCF PIR1, ADIF ; Clear A/D interrupt flag bit
BSF INTCON, PEIE ; Enable peripheral interrupts
BSF INTCON, GIE ; Enable all interrupts
;
; Ensure that the required sampling time for the selected input
; channel has elapsed. Then the conversion may be started.
;
BSF ADCON0, GO ; Start A/D Conversion
: ; The ADIF bit will be set and the GO/DONE
: ; bit is cleared upon completion of the
: ; A/D Conversion.
Har en fundering ang schemat....

R1 - 180ohm
R2 - 470ohm
R3 - 1kohm
R4 - 1.8kohm
R5 - 3.9kohm
R6 - 1kohm
R7 - 1kohm
Blir det inte spänningsdelning med pull-down motståndet också så att om man tex trycker på knappen med 1kOhm så blir det mellan +5 och GND 1kOhm + 1kOhm + 1kOhm, (1.66V+1.66V+1.66V) dvs där picen läser av får man en spänning på ca 1.66V ? Eller mäter inte picen mellan jord och ingång?
Tänkte köra med 12 knappar och tänkte försöka få värdena så långt från varandra som möjligt för tydligare avläsning.

R1 - 180ohm
R2 - 470ohm
R3 - 1kohm
R4 - 1.8kohm
R5 - 3.9kohm
R6 - 1kohm
R7 - 1kohm
Blir det inte spänningsdelning med pull-down motståndet också så att om man tex trycker på knappen med 1kOhm så blir det mellan +5 och GND 1kOhm + 1kOhm + 1kOhm, (1.66V+1.66V+1.66V) dvs där picen läser av får man en spänning på ca 1.66V ? Eller mäter inte picen mellan jord och ingång?
Tänkte köra med 12 knappar och tänkte försöka få värdena så långt från varandra som möjligt för tydligare avläsning.
- JimmyAndersson
- Inlägg: 26579
- Blev medlem: 6 augusti 2005, 21:23:33
- Ort: Oskarshamn (En bit utanför)
- Kontakt:
Jasså, du gjorde både ett inlägg och skickade ett PM. Det kanske du inte hade behövt egentligen...
Men jag svarar här också:
"om man tex trycker på knappen med 1kOhm så"...."får man en spänning på ca 1.66V ?"
Jepp.
"Tänkte köra med 12 knappar och tänkte försöka få värdena så långt från varandra som möjligt för tydligare avläsning."
Troligen behöver du då inte byta ut R6 och R7, men det beror på vilka motstånd du väljer.
Men jag svarar här också:
"om man tex trycker på knappen med 1kOhm så"...."får man en spänning på ca 1.66V ?"
Jepp.
"Tänkte köra med 12 knappar och tänkte försöka få värdena så långt från varandra som möjligt för tydligare avläsning."
Troligen behöver du då inte byta ut R6 och R7, men det beror på vilka motstånd du väljer.
Om man plockar bort R7 så borde det bli rätt. Bara det inte blir så att den tjuvdrar allt för mycket genom pull-down motståndet när ingen knapp trycks.
Tänkte köra på batteridrift.
Hur länge tror ni 3st seriekopplade vanliga alkaliska 1.5V batterier klarar att driva en PIC med endast knapparna som ingång?
Bara på ett ungefär räcker för mig. Handlar det om dagar, veckor, månader eller år?
Tänkte köra på batteridrift.
Hur länge tror ni 3st seriekopplade vanliga alkaliska 1.5V batterier klarar att driva en PIC med endast knapparna som ingång?
Bara på ett ungefär räcker för mig. Handlar det om dagar, veckor, månader eller år?
- JimmyAndersson
- Inlägg: 26579
- Blev medlem: 6 augusti 2005, 21:23:33
- Ort: Oskarshamn (En bit utanför)
- Kontakt:
"Om man plockar bort R7 så borde det bli rätt. Bara det inte blir så att den tjuvdrar allt för mycket genom pull-down motståndet när ingen knapp trycks."
När ingen knapp trycks så går det ingen ström mellan knappmatningen och GND, så det ska inte vara några problem. Minns inte varför jag satte dit R7, men det fanns någon orsak när jag hade mina motståndsvärden iallafall.
Vet tyvärr inte hur länge batterierna skulle räcka. Kolla hur många Ah (AmpereTimmar) ett batteri ger och sedan kolla hur mycket ström knappar och PIC drar. Det borde röra sig om veckor eller månader åtminstone.
Dina motståndsvärden fungerar nog bra.
När ingen knapp trycks så går det ingen ström mellan knappmatningen och GND, så det ska inte vara några problem. Minns inte varför jag satte dit R7, men det fanns någon orsak när jag hade mina motståndsvärden iallafall.

Vet tyvärr inte hur länge batterierna skulle räcka. Kolla hur många Ah (AmpereTimmar) ett batteri ger och sedan kolla hur mycket ström knappar och PIC drar. Det borde röra sig om veckor eller månader åtminstone.
Dina motståndsvärden fungerar nog bra.
En DS2408 är ett annat alternativ om man har få portar på uC:n.
För knappar och sånt kolla figur 19-22 http://datasheets.maxim-ic.com/en/ds/DS2408.pdf
För knappar och sånt kolla figur 19-22 http://datasheets.maxim-ic.com/en/ds/DS2408.pdf