Sida 1 av 1

slumptal med pic?

Postat: 20 oktober 2006, 23:19:39
av grym
börjar bli dags att fundera på vinterombyggnad av lerduvekastarna, innan jag gjorde lite ombyggnbader så var det uppbygt med tidreläer, så man kunde trycka på knappen och ha någon sekund på sig innan den skickar iväg duvan, allt för att man ska kunna skjut när man är själv, men det blir lite väl förutsägbart, så en funktion som skapar en relativt sätt slumpvis tidsfördröjning vore inte helt fel, någon som har sett något lämpligt?

Postat: 20 oktober 2006, 23:30:01
av Andax
Har du en pic med ADC är det ett bra sätt att få slumptal om du skickar in en signal som är hyffsat brusig. Annars finns ett antal pseudoslumptal metoder, men man måste ändå fixa ett slumpmässigt startvärde annars blir resultatet samma varje gång man startar upp pic:en.

Postat: 20 oktober 2006, 23:37:14
av grym
har funderat på det, bruset från zenerdioder är kraftigt om man provar sig fram till rätt ström

gör egenteligen inget om det är icke bra slumptal, det finns ju en faktor till och det är när man trycker på knappen, funderade till och med på en inmatad tabell med om inte slumptal så några olika tal, och sedan låte en räknare bara bläddra mellan talen , det räcker ju att inte veta hur lång tid det är tills duvan kommer

Postat: 20 oktober 2006, 23:54:17
av bearing
Man skulle ju kunna spara det senaste slumptalet i EEPROM och använda det som startvärde/grundvärde nästa start.

Postat: 20 oktober 2006, 23:54:21
av Andax
Låter du bara räknaren vara helt frigående så är ju räknarvärdet i princip ett bra slumpvärde om du läser av det vid knapptryckningen. Sen kan du ju skrambla det, precis som du säger, via t.ex. en slumptabell.

Postat: 21 oktober 2006, 00:04:08
av oJsan
Precis som Andax säger, om användaren ändå ska påbörja varje ny sekvens så är det utmärkt att använda en frispringande räknare som slumgenerator.

Postat: 21 oktober 2006, 00:20:14
av sodjan
> så en funktion som skapar en relativt sätt slumpvis tidsfördröjning...

Ta med en kompis och låta *honom* trycka på knappen ?
Och låt honom "springa fritt" mellan serierna så han inte
fryser häcken av sig...

Postat: 21 oktober 2006, 08:29:02
av grym
då ska det provas med en lista med slumptal som det plockas ur

sodjan, kompisarna tar slut så fort om dom springer runt när man skjuter hej vilt :twisted: :oops: 8)

det finns lite mera när det gäller slumptider med, har man två kastare så vill man bara göra en avtryckning, och sedan så ska man kunna programera vissa sekvenser
den förra boxen hadde enkelduva, dubbelduva och tio på raken, nu vill jag ha lite mera variation, och någon slags sluptal behöva för att göra det lite mera skoj,

Postat: 21 oktober 2006, 11:33:34
av oJsan
Börja med att konfigurera en av PIC:ens timers/räknare så den är tillräckligt lång för att täcka maximal väntetid. Använd sedan timerns värde som "random seed" vid varje knapptryckning. Fröet kommer då att "planteras om" vid varje nu kastsekvens och du kommer att få lika många olika sekvenser som antal steg i räknaren...
Använd sedan någon lämplig formel för att skala om räknarvärdet till lämpligt intervall. Att använda en tabell känns onödigt tycker jag, och det borde även minska "upplösningen".

Postat: 21 oktober 2006, 12:03:48
av Nisse
Ojsans lösning går att bygga ut lite.
Starta en andra räknare när knappen trycks ned och stoppa den när knappen släpps. Vips så har man två olika fröer till slumtal.
Använde den metoden i ett specialarbete med Z80 för 14 år sedan eller så. Funkade bra då :)

Mvh
Nils

Postat: 22 oktober 2006, 00:32:45
av JimmyAndersson
Funderade på det här med en zenerdiod: Hur pass kraftigt är bruset?

Postat: 22 oktober 2006, 10:50:23
av grym
beror lite på massor av saker, zenerdiodens spänning och effekt och kapsel, (inte helt rätt men) och vilken ström man kör genom den

har labbat lite med det på högre frekvenser och på den bruskällan jag byggde så kör jag med 4*7.5v sener i ytmonterad glaskapsel,
vi gtar kapslen först, långa ben ger induktanser som begränsar frekvensen uppåt, jag har inte möjlighet att se mer än 1.5 Ghz men det räckte för att jag ska annvända ytmonterade zenerdioder

lite svårt att beskriva men om man sakta övkar strömmen genom zenerdioden så får man först brus på dom lägre frekvenserna, Khz och några Mhz med en viss effekt födelning på bruset, högst effekt på låga frekvenser och sluttande neråt på höga frekvenser, när man sedan ökar strömmen så får man nästan ett platt sträck på spektrumanalysatorn, med en topp i början och ett stopp uppåt i frekvens, och sedan när man ökar strömmen så sjunker medeleffekten på dom frekvenserna man redan hadde brus på men skjuter maxfrekvensen uppåt

hadde inte provat det på med oscilloskopet men gjorde det nu, med lite 50hzrest så fick jag ungefär 2mV tt med ett 10Mhz oscilloskop, 1 div på lägsta känslighet, och dett då jag hadde strömmen genom zenerdiodern på så låg ström som möjligt,
nu är den brusgeneratorn inte optimal för låga frekvenser, man borde nog bygga ett riktigt kort med zener kopplad direkt mot en op för att slippa brum och icke korrekt brus :D

så för att annvända zenerdiodsbrus behövs ordentligt med förstärkning

och med en pic så kan man ju slippa detta

bara en länk till ebay och den brusgenerator jag kollade på
anledningen till att jag inte köper en är att jag kanske skulle behöve en bunta sådanna och då blir det billigare om man kan programera dom själva+ att jag vill ha upp det högre i frekvens

http://cgi.ebay.com/ws/eBayISAPI.dll?Vi ... :B:SS:US:1