Sällskapsspel med PIC...
Postat: 4 november 2007, 02:48:23
Detta är ett reviderat projekt som jag höll på med för något år sedan, men som jag aldrig fick att funka riktigt. Eftersom jag funderat på ett annat större projekt så vill jag få detta mindre projekt att funka först. Det KAN ju vara så att jag saknar talang för detta och kanske ska ställa in det...
Detta är en hemmavariant av Jeopardy, sju spelare har varsin knapp och så är det en spelledare med en knapp som startar spelet. Ni som har sett TV-versionen förstår hur det funkar, ni som har spelat bordsversionen i samband med öldrickning förstår även behovet av en opartisk domare som kan ta det från en bedömningssport till en intellektuell utmaning... Eller nåt...
Nåja, det viktiga i detta läget är inte behovet av denna apparat eller ens dess funktion, utan mer att det program man skriver verkligen hamnar i PIC:en och startar.
Detta är den tänkta kretsen: Länk till schemat och layout...
C1 och C4 är tänkt som avkopplingskondensatorer, något som orginaldesignen saknade. C2 och C3 är för att spänningsregulatorn ska funka. Q1 ska egentligen vara en keramisk resonator, se fråga 3 nedan. ICSP är kontakten till programmeraren och SV1 är för att koppla in spelknapparna. Som synes drivs allt av ett 9volts batteri. En 74LS47 (BCD TO 7-SEGMENT DECODER/DRIVER) används för att spara pinnar på PIC:en, de två LED-Displayerna multiplexas med hjälp av två transistorer och lite motstånd. I Centrum så sitter det en PIC, i detta fall 16F84.
Angående programmet så fick jag multiplexningen av displayen att funka och den reagerade på knapparna, dock inte riktigt som jag ville. En del av problemet var att jag aldrig var riktigt säker på att PIC:en blev rätt programmerad. Jag använde sådana där billighetsprogrammerare som man gör av några motstånd och en 7407. Nu hade jag tänkt att skaffa en WISP628 för "In Circuit Programming" som många lovordar på detta forum. Ett annat problem tror jag knapparna var, PIC:en har interna Pull-up motstånd som jag aktiverade och så är spelknapparna (SV1 i schemat) kopplade så att de sluts till jord när en spelare tror han kan något. Jag tyckte även att det var svårt att felsöka då man inbland fick intrycket att PIC:ens funktion var inkonsekvent.
Nu till frågorna:
1. Är schemat korrekt för att man ska kunna programmera PIC:en med en WISP628?
2. Jag har valt en PIC 16F84 för att jag har sådana kvar från de tidigare exprimenten, skulle jag vinna något på att uppgradera till en modern variant?
3. Jag använde en keramisk oscillator med tre ben som jag köpte från ELFA. Inkoppling är som kristallen i schemat, men med centerbenet till jord, är det ett bra val eller är det därför som jag fick för mig att PIC:en ibland inte gick igång?
4. Angående spelarnas knappar, kan man använda den interna pullup:en så som jag gjorde eller är det bättre att använda extern PullUp? Eller kanske pulldown med knapparna som sluter till +5V?
5. Är kontaktstuds något man måste fixa med hårdvara eller räcker det att tänka på det i mjukvaran?
6. Det hade ju varit kul att ha en pinne till på PIC:en så att jag kan visa en "8" och "9" också. Nu är ju "D"-signalen på displaydrivaren dragen till GND... Det är ju bara 7 spelare och ska man ha en klocka som visar kvarvarande tid att svara så "behöver man ju" (egentligen "kan") inte visa mer än de sista 7 sekunderna, men finns det någon enkel lösning på det som jag inte tänkt på?
7. Angående layouten så vet jag att displayen är upp och ned, det ska den vara. Men är det något annat som ser dumt ut?
Om du har läst ända hit så hoppas jag att du kan svara på åtminstone någon av mina frågor eller åtmistone komma med några synpunkter. Såg att det blev ganska långt när jag förhandsgranskade, men jag tror det är bättre att skriva för mycket än för lite...
Detta är en hemmavariant av Jeopardy, sju spelare har varsin knapp och så är det en spelledare med en knapp som startar spelet. Ni som har sett TV-versionen förstår hur det funkar, ni som har spelat bordsversionen i samband med öldrickning förstår även behovet av en opartisk domare som kan ta det från en bedömningssport till en intellektuell utmaning... Eller nåt...
Nåja, det viktiga i detta läget är inte behovet av denna apparat eller ens dess funktion, utan mer att det program man skriver verkligen hamnar i PIC:en och startar.
Detta är den tänkta kretsen: Länk till schemat och layout...
C1 och C4 är tänkt som avkopplingskondensatorer, något som orginaldesignen saknade. C2 och C3 är för att spänningsregulatorn ska funka. Q1 ska egentligen vara en keramisk resonator, se fråga 3 nedan. ICSP är kontakten till programmeraren och SV1 är för att koppla in spelknapparna. Som synes drivs allt av ett 9volts batteri. En 74LS47 (BCD TO 7-SEGMENT DECODER/DRIVER) används för att spara pinnar på PIC:en, de två LED-Displayerna multiplexas med hjälp av två transistorer och lite motstånd. I Centrum så sitter det en PIC, i detta fall 16F84.
Angående programmet så fick jag multiplexningen av displayen att funka och den reagerade på knapparna, dock inte riktigt som jag ville. En del av problemet var att jag aldrig var riktigt säker på att PIC:en blev rätt programmerad. Jag använde sådana där billighetsprogrammerare som man gör av några motstånd och en 7407. Nu hade jag tänkt att skaffa en WISP628 för "In Circuit Programming" som många lovordar på detta forum. Ett annat problem tror jag knapparna var, PIC:en har interna Pull-up motstånd som jag aktiverade och så är spelknapparna (SV1 i schemat) kopplade så att de sluts till jord när en spelare tror han kan något. Jag tyckte även att det var svårt att felsöka då man inbland fick intrycket att PIC:ens funktion var inkonsekvent.
Nu till frågorna:
1. Är schemat korrekt för att man ska kunna programmera PIC:en med en WISP628?
2. Jag har valt en PIC 16F84 för att jag har sådana kvar från de tidigare exprimenten, skulle jag vinna något på att uppgradera till en modern variant?
3. Jag använde en keramisk oscillator med tre ben som jag köpte från ELFA. Inkoppling är som kristallen i schemat, men med centerbenet till jord, är det ett bra val eller är det därför som jag fick för mig att PIC:en ibland inte gick igång?
4. Angående spelarnas knappar, kan man använda den interna pullup:en så som jag gjorde eller är det bättre att använda extern PullUp? Eller kanske pulldown med knapparna som sluter till +5V?
5. Är kontaktstuds något man måste fixa med hårdvara eller räcker det att tänka på det i mjukvaran?
6. Det hade ju varit kul att ha en pinne till på PIC:en så att jag kan visa en "8" och "9" också. Nu är ju "D"-signalen på displaydrivaren dragen till GND... Det är ju bara 7 spelare och ska man ha en klocka som visar kvarvarande tid att svara så "behöver man ju" (egentligen "kan") inte visa mer än de sista 7 sekunderna, men finns det någon enkel lösning på det som jag inte tänkt på?
7. Angående layouten så vet jag att displayen är upp och ned, det ska den vara. Men är det något annat som ser dumt ut?
Om du har läst ända hit så hoppas jag att du kan svara på åtminstone någon av mina frågor eller åtmistone komma med några synpunkter. Såg att det blev ganska långt när jag förhandsgranskade, men jag tror det är bättre att skriva för mycket än för lite...