Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  6 1417
cos
Blyatsquad
cos's Avatar
Hei, jeg er ganske fersk i python og lurte på om noen vet om en kjekk funksjon jeg kan bruke til å aktivere utgangene på en raspberry pi i helt random frekvenser. Jeg trenger ikke full sourcecode, men er på utkikk etter hvilken funksjon som kan gjøre dette for meg uten for mye kode, helst så effektiv som mulig.

Koden skal som forklart over aktivere ett rele, eller flere i helt random sekvenser, og releet skal være aktivt i et tilfeldig tidsrom.

Releet skal f.eks skru seg på etter 4 minutter, og være på i 20 sekunder, aktivere seg etter 1 minutt og være på i 4 minutter, osv. Altså helt tilfeldige intervaller.

Dette skal brukes til å lage forstyrrelser i en prosess som skal reguleres av en PID regulator, dette skal settes opp for å lage en slags simulator. Om noen vet om andre måter å lage et random rele er det bare å fyre løs, jeg er åpen for alle metoder som kan brukes til dette.
Sikkerhetsklarert
Kan ikke python selv, men for å hjelpe deg litt på vei.
For å generere tilfeldige tall i python:

Kode

>>> from random import randint
>>> randint(2,9) #Inclusive
8
Deretter ville jeg valgt flytskjema noe lignende dette:
(dette er ikke python, men genrelt)

Kode

while true{
delay(random)
 turnOn()
delay(random)
 turnOff()
}
Hei, hvis jeg selv skulle gjort noe slikt ville jeg heller brukt arduino så fremt det bare er relè som skal styres. Det finnes en veldig enkel random funksjon der, http://arduino.cc/en/Reference/Random

Men selvsagt. Hvis du har en raspberry pi og du ønsker å gjøre det i python så har du enkle funksjoner for å gjøre det samme der http://docs.python.org/2/library/random.html
cos
Blyatsquad
cos's Avatar
Trådstarter
Er det noen som vet en måte å løse dette på bare med elektroniske komponenter? Hadde vært interessant å sett hvordan det kunne blitt løst. Kunne nesten kjørt en konkurranse på det. Den beste løsningen rent elektrisk, og den beste løsningen i python. Overfører premien i form av gavekort eller PayPal.
Her kan du evt teste program og kabling til arduino før du evt går til innkjøp.. Har ikke testet eller prøv arduino selv så noe mer kan jeg ikke hjelpe deg med...
<?php echo 'VIF'; ?>
datagutten's Avatar
Sitat av cos Vis innlegg
Er det noen som vet en måte å løse dette på bare med elektroniske komponenter?
Vis hele sitatet...
Du kan komme et stykke med 555 timer som trigger en tellekrets, og så legge på nye 555 timere for hver utgang som gir forskjellig tidsforsinkelse.
Det blir fort mange komponenter, så det enkleste er å gjøre det med software på en mikrokontroller.
cos
Blyatsquad
cos's Avatar
Trådstarter
Sitat av datagutten Vis innlegg
Du kan komme et stykke med 555 timer som trigger en tellekrets, og så legge på nye 555 timere for hver utgang som gir forskjellig tidsforsinkelse.
Det blir fort mange komponenter, så det enkleste er å gjøre det med software på en mikrokontroller.
Vis hele sitatet...
Ja, jeg ser at det kan bli en del komponenter ved å løse det slik. Så det beste blir nok å sette opp en raspberry eller arduino til å kontrollere kaoset. Tusen takk for svar