Går det att få input i en PIC16F628?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Dukeman
Inlägg: 47
Blev medlem: 25 april 2004, 19:54:27
Ort: Fagersta

Går det att få input i en PIC16F628?

Inlägg av Dukeman »

Så här ligger det till:
Jag är über-nybörjare på det här med PIC programmering, men jag tänkte
att det kan vara värt att lära sig då jag tycker att elektronik i övrigt är ett
väldans trevligt tidsfördriv. Jag tänkte att jag (efter en del övning osv) skulle
kunna bygga en bomb-atrapp (till Airsoft och eftersom det är lite tråkigt med bara lysdioder så tänkte jag
sätta in en knappsats (X\Y matris) som skulle skicka ettor (+5v) till PIC:en
för att skriva in armerings\desarmeringskoder osv. går det att bara koppla in
knappsatsen i pic-ens i/o portar och sedan få picen att reagera på knapptryckningar?


En annan fråga: MÅSTE man lära sig Asssembler eller finns det någon BASIC
variant för att programmera sina PIC-ar (kan Visual Basic sedan tidigare och
assembler verkar lite avancerat)
danei
EF Sponsor
Inlägg: 27417
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

visst går det. lägg spänning på en kolumn i taget och kolla om det kommer spänning på någon av raderna. Det finna picbasic, men om man vill ha koll på vad picen gör så är asembler bättre.
Dukeman
Inlägg: 47
Blev medlem: 25 april 2004, 19:54:27
Ort: Fagersta

Inlägg av Dukeman »

hmm.. jag tänkte så här:

En sådan knappsats där varje kolumn\rad är kopplad till en port på PIC:en
Samma PIC är kopplad till en annan pic som styr en 2*7 segment LED display. PIC #1 är huvudstyrenhet och har en liten högtalare inkopplad, pic #2 har en större för att kunna tala om när bomben "exploderar".När en knapp trycks ned ska drels ett klick koma ur den lilla högtalaren, dels skall knappen sparas i minnet (en 3-4 sifffrig kod totalt) om koden stämmer skall den skicka en sekvens klick till den lilla högtalaren och sedan skicka en signal till PIC #2 som sätter igång timern (som visas på LED-display). Om koden är fel eller en viss knapp (# eller * till exempel) trycks in skall detta tömma "knappminnet" och ge ut ett litet ljud för att konfirmera. När bomben väl är igång skall en annan kod kunna skrivas in på samma vis för att skicka en ny signal till pic #2 för att stoppa nedräkningen samt ljuda i den stora högtalaren för att signalera att bomben "desarmerats". Eventuellt (om jag ser någon anledning) skall man kunna programmera om den på plats för att få en annan desarmeringskod. Skulle det gå tror du?
Användarvisningsbild
Hedis
Inlägg: 2493
Blev medlem: 8 december 2003, 15:10:44
Ort: Vänersborg
Kontakt:

Inlägg av Hedis »

Varför i hela friden köra med flera pic:ar?
Ta en som portarna räcker till på om det är problemet.

Det blir mycket enklare då du slipper fixa kommunikation mellan cpu:erna mm.
Dukeman
Inlägg: 47
Blev medlem: 25 april 2004, 19:54:27
Ort: Fagersta

Inlägg av Dukeman »

men jag tänkte mest att man kunde ha en modulär uppbyggnad, till exempel FÖRST bygga hela knappsats-kretsen och sedan kunna utöka det med till exempel[/] en timer\bomb... då kan jag ju ha min lilla knappsats till fler andra projekt (jag bygger ju fler så klart :roll: ) utan att behöva koda en massa mer... men i vilket fall... skulle det jag beskrev gå att genomföra i PICbasic eller måste jag lära mig assembler?


btw: funkar IC-prog till Denna Programmerare?
Användarvisningsbild
mrmike
Inlägg: 301
Blev medlem: 29 oktober 2003, 20:40:12

Inlägg av mrmike »

Dukeman:
Detta behöver du nog (i pinnar räknat):
*7 pinnar till knappsatsen
*4 (kanske nån mer) pinnar till displayen
*1 pinne till den lilla högtalaren
*1 pinne för att styra nåt som i sin tur styr den stora högtalaren (förslagsvis en tuta med ett fetingbatteri
= 13 I/O-pinnar så det går att göra med en inte allt för stor och dyr krets. Fast modulidéen är kanske inte så dum
danei
EF Sponsor
Inlägg: 27417
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

Du behöder inte skriva om bara för att du lägger på mer funktioner. Klippa och klistra i koden är en bra lösning. Det man har skrivir en gång kan man använda mycket.
mullemeck
Inlägg: 1306
Blev medlem: 27 maj 2003, 23:52:06
Ort: Lund
Kontakt:

Inlägg av mullemeck »

jo, det du vill göra bör inte vara några problem att genomföra med picbasic.

jag tycker själv inte att picbasic är så begränsande utan det jag har velat göra har alltig gått att göra, även de lite mer avancerade grejorna.

Mrmike: Om mina teorier stämmer så skulle man kunna klara av att läsa av knappsatsen med endast 2 portar som har A/D konverterare.
Användarvisningsbild
mrmike
Inlägg: 301
Blev medlem: 29 oktober 2003, 20:40:12

Inlägg av mrmike »

[edit]ööh, hur tänkte jag nu? det va inget. Hur menar du mullemeck.
mullemeck
Inlägg: 1306
Blev medlem: 27 maj 2003, 23:52:06
Ort: Lund
Kontakt:

Inlägg av mullemeck »

Tänkte att skulle man inte kunna sätta en resistor till varje rad/kolumn på knappsatsen och koppla in alla raderna till en port och alla kolumnerna till en annan.

sen läser man bara av spänningen med en A/D omvandlare och kan få ut på vilken kolumn och rad en knapp har tryckts ner..
danei
EF Sponsor
Inlägg: 27417
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

Det förutsätter att det är två brytare i varje knapp. Det går åt 7 ben om man inte har någon extern krets.
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Det går att läsa av en hel knappsats med bara en pinne om man har A/D. Fast man kan bara känna av en nedtryckt knapp åt gången, och det går åt en massa motstånd.

Den vanliga matris-metoden är nog oftast bäst, man kan ju dela de flesta pinnarna med andra funktioner.
Användarvisningsbild
$tiff
Inlägg: 4941
Blev medlem: 31 maj 2003, 19:47:52
Ort: Göteborg
Kontakt:

Inlägg av $tiff »

>> Dukeman

Det här verkar vara ett kul projekt, jag hade lätt snott idén om jag varit airsoftspelare :lol:

Projektet är ganska omfattande som första projektet. Om du tänkt lära dig mikrokontrollers samtidigt så lär det ta sin tid att knåpa ihop allt det här!

Bli inte avskräckt för det. När du väl lärt dig mikrokontrollern så lär du ha stor nytta av den!

Jag tycker PICBasic är ett utmärkt språk för ditt projekt. Dubehöver inte ha total insikt för att bygga detta, utan snarare ett enkelt språk som går fort att lära sig och använda.
Dukeman
Inlägg: 47
Blev medlem: 25 april 2004, 19:54:27
Ort: Fagersta

Inlägg av Dukeman »

tja... den knappsatsen som jag tänker på har 7 pinnar (3 rader fyra kolumner) och om man tiull exempel trycer på knapp "3" (kolumn 3, rad 1) så sluts pinne 2 (R1) och 5 (K3). men jag kan ju inte bara til exempel skicka in 5 volt i samtliga rader och sedan kolla vilken kolumn som skickar ut en etta, då detta skulle göra att knapparna i en viss kolumn skulle ge samma utslag allihopa... hur löser jag det då?

Displayerna jag tänker på har 2*7 segment och gemensam katod och därmed 18 pinnar (14 segment, 2 katoder och två punkter)... jag tänkte driva den displayen tillsammans med en högtalare (tjut och signaler inga talande ljud osv) på en pic och knappsatsen samt en piezo-summer på en annan. så länge knapp-picen skickar en etta till display-picen så räknar den ner, kollar om tiden är noll och i så fall tjuter högtalaren. om signalen skulle försvinna från den ena PIC en till den andra så uppfattas detta av timern som att bomben desarmerats (detta är en trivial sak, hur man skall få den att sluta sända... kod eller dylikt. mjukvarusak).

En annan fråga:
Finns det möjlighet att spara "variabler" i pic16F628?
har get mig fasen på att börja me den, dels för att jag har tre st av L varianten på väg till mig via UPS just nu :D och dels föratt den verkar bra. jag funderar närmast på om man skall skriva in en desarmeringskod när man "armerar" bomben i fråga eller om man kan spara en permanent kod i kretsen...

länkar:
Knappsatsen
Displayen
Användarvisningsbild
mrmike
Inlägg: 301
Blev medlem: 29 oktober 2003, 20:40:12

Inlägg av mrmike »

Ahaa, e ju så poppis med lcd:s så jag trodde du skulle ha en sån. LED-display är snyggare till en bomb.
F628:an har 128 byte eeprom (minne man kan läsa och skriva och som håller datan efter man stänger av strömmen) om du menade spara de på det viset.
Skriv svar