Sida 1 av 2

Styra via Datorn?

Postat: 22 november 2008, 17:09:32
av Raggare
Tjeena!
(Ursäkta Rubriken, visste inte vad ja skulle skriva)
Min tanke är att styra något via/med datorn. Jag vet inte exakt vad det ska vara. Men att man kanse kan starta/stoppa grejjen eller ha kontroll över den. Nu skulle jag gärna vilja ha mkt tips om något lätt och kul man kan bygga, inte bara starta en lysdiod dom lyser och sen att man stänger av den, utan gärna något värre! Tack på förhand! Mvh Robban

Postat: 22 november 2008, 17:39:48
av vfr
Hemmet kanske? Lampor, kaffebryggare, stereo mm.

Postat: 22 november 2008, 17:55:51
av Raggare
Något sånt. Tack för förslagen, men lär ju finnas fler :roll:

Postat: 22 november 2008, 20:28:29
av vfr
Det är ju bara att surfa runt här på forumet under en tid så får man massor av uppslag. Speciellt i projektdelen. Man måste ju inte ta en hel projektidé utan kan hämta lite idéer här och var.

Postat: 22 november 2008, 21:18:26
av Mizzarrogh
Tex är det ju några här som byggt reläboxar som man kan koppla vad som helst till, om man inte vill finlöda så mycket så finns ju även färdiga kort man pluggar till tex parr/ser portarna, eller en USB-plugg, sedan kan man lätt bygga om dem med tes externa reläer och annat kul (tex en uttagsbox med nätplugg före/efter reläna) Lycka till, och glöm inte säkringarna! :)

Edit: Om man inte vill riva i själva kortet är det ju tämligen enkelt at tex låta ett klent relä, eller en transistor, etc styra ett större om så krävs.

När du vinnit litet mer kunskap kan du ju tex bygga en styrning med thyristorbryggor (tex låta klena styra större) och annat, ganska enkelt men kul.


(Edit: Innan någon börjar gasta om nätspänning här, så kan man ju ha tex 12 eller 24V som alternativ, fortfarande mycket kul.)

Postat: 23 november 2008, 12:31:12
av Raggare
Jag har ju iof en 12V saftblandare som står och dammar! Men den är jävligt jobbig att ha tänd i rummet då den är rejält stark! Men man kan ju alltid byta till en svagare lampa. Men jag vet inte vad man skall kunna bygga för skojj av den? Nån som har någon idé? :)

Postat: 23 november 2008, 12:58:21
av ElectricMan
Alarm till nåt?

Postat: 23 november 2008, 17:19:53
av Raggare
Till vad i såfall? :)

Postat: 23 november 2008, 18:39:49
av ElectricMan
Nån som kommer in i rummet, öppnar fönstret, öppnar lådan för dina pengar, ringer på ringklockan, ringer på telefonen mm. mm...

Postat: 23 november 2008, 20:01:53
av POS
Jag har precis byggt den här som styrs via datorn:
http://elektronikforumet.com/forum/view ... 30&start=0
Jättelätt om man som jag köper styrkortet och programvaran.

Postat: 23 november 2008, 20:03:08
av Raggare
Kanse det! Men nu varrt ja ju så sugen på att bygga en sådanhär! . Men jag vet inte om jag är i behovav en sådan, det skall vara om man köper värstinggrejjer, men då blir det dyrt, och det kanse känns lite onödigt att bygga en sådan om man tänkter efter? Jag har ju iof en original Radio till en gammal 740 och 2st 6*9 or...

Postat: 3 december 2008, 13:08:07
av Ac3T
Det finns ganska mycket man kan göra med t.ex. paralellporten som faktiskt är det mest enkla sättet att ansluta styrningar, på ett relativt enkelt sätt.

Efter man tillverkat "hårdvaran" kommer alltid epitetet mjukvaran, det är här man oftast stöter på problemen (Klart, man stöter ofta på fel med hårdvaran här också i form av felsökning). Ett förslag dock är att du experimenterar med en gammal dator först innan du ger dig på mer komplexa programmeringsspråk som t.ex. Visual Basic, C++, Delphi osv. och testar att ta hem Quick BASIC. På den sidan hittar du flertalet kompilatorer, dock rekommenderar jag Quick BASIC 4.5

Det lite "tråkiga" är förstås att det är DOS-miljö och stora & klumpiga tecken, men det kan kanske ses som en fördel att det inte är större yta eftersom det tenderar att bli ganska mycket text i ett program man skriver.

Som operativsystem rekommenderar jag Windows 95 eller 98 (Beroende på datorn, vad den klarar av osv) eftersom det kan vara bra att kunna köra andra saker också, t.ex. USB-kameror, USB-hårddiskar mm.

Nästa problem är förstås själva programmet.

Det finns faktiskt en ganska bra hjälp i QB (Quick BASIC) där man får hjälp med programexempel och en syntaxförklaring (Hur kommandona fungerar och hur de används). Sedan finns det också Google där man kan söka efter diverse sidor där man kan ta hem programexempel.

Hur som helst, om vi fokuserar oss på paralellporten, LPT1 (Line Printer Port 1). Hur göra, och vad göra?

Om vi ska t.ex. styra en transistor som styr ett relä - I korthet styra ett relä, måste vi veta först och främst vad vi gör.

Vi har ett relä och dess styrpinne (En 'tåt' som styr det, till & från)
Vi har en LPT-port, och WikiPedia's sida om skrivarporten säger oss att vi har 8 st 'pinnar' som vi kan använda som styrportar, D0-D7 (D för Data).

Då är det bara att ansluta "relämodulen" till pinne 2 (Databit 0), och sedan kommer nästa steg; Att aktivera kräket :twisted:

Om vi tittar runt lite på WikiPedias sida (Länken ovan) så ser vi att skrivarporten har en unik adress, vilken vi måste åberopa för att kunna göra något.

En kik senare har avslöjat att den har adress &H378 (Där &H betyder att det är ett hexadecimalt värde) eller decimala värdet på det blir 888. Ok, härligt då vet vi det.

Men när vi vet vart den "bor", hur talar vi om för den hur den ska göra då?
Jo, lite efterforskningar talar om att eftersom det är 8 bitar, med värdet 1 eller 0 på vardera, kan vi ställa in allt från 0 (ingen, 0) till 255 olika kombinationer binärt.

Nu blev det kanske rörigt, men ett litet tips:
Starta kalkylatorn i Windows, gå till menyn "Visa" och välj "Avancerad"

Knappa in värdet "255" och klicka sedan på radioknappen "Bin" och du bör få resultatet "11111111", vilket är hur det skulle se ut på paralellporten om du skrev det värdet i QB som programmet under demonstrerar.


Om vi skriver ett par enkla rader i Quick BASIC:

Kod: Markera allt

CLS 'Rensa skärmen
OUT &H378,0 'Nollställer porten, allting=Av
SLEEP 5 ' "Sov" 5 sekunder
OUT &H378,1 ' Ställer bit 0 som en logisk 1:a och aktiverar relämodulen
SLEEP 5 ' "Sov" 5 sekunder
OUT &H378,0 'Nollställer porten igen
END 'Avslutar programmet
Om vi ansluter en till relämodul:

Kod: Markera allt

CLS 'Rensa skärmen
OUT &H378,0 'Nollställer porten, allting=Av

SLEEP 5 ' "Sov" 5 sekunder

OUT &H378,1 ' Bit 0 logisk 1:a och aktiverar relämodul 1

SLEEP 5 ' "Sov" 5 sekunder
OUT &H378,3 ' Bit 1 logisk 1 aktiverar relämodul 2, inaktiverar relämoul 1

SLEEP 5 ' "Sov" 5 sekunder
OUT &H378,0 'Nollställer porten igen
END 'Avslutar programmet
Toppen, kan inte bli bättre... Men jag läste att man kunde läsa information från skrivarporten också, hur gör jag det?
Det är faktiskt ganska enkelt, egentligen.
Först måste vi kolla på "databladet" och en titt senare konstaterar att in-portarna har en egen adress, nämligen &H379.
Samma sak gäller här, fast omvänt såklart eftersom vi ska skicka in en "bit" i datorn och få den känna av detta.






Anslut en strömbrytare (2-vägs) mellan + och jord (2 av tre pinnar) och mittenuttaget till ett motstånd, typ 1 kΩ blir lagomt som du ansluter till t.ex. pinne 15 (Status-bit 0).

-Ok, nu har jag gjort det, sen då?
Jag låter BASIC-koden tala för sig självt:

Kod: Markera allt

CLS
DO 'Starta....
X=INP(&H379) 'Ställer parametern X utifrån vad den läser från porten
LOCATE 10: PRINT X ' Gå till teckenplats 10, skriv parametervärdet av X
LOOP UNTIL INKEY$" " '...loopen tills mellanslagstangenten är intryckt
Sen behöver det ju förstås inte vara en strömbrytare som ändrar ett värde. Det kan vara en annan komponent, en annan dator eller vad som helst som kan leverera en logisk 1:a (från ca. 2,7 till 5 Volt

Om vi t.ex. låter strömbrytaren i exemplet ovan styra reläet:

Kod: Markera allt

CLS ' Töm skärmen
DO ' Starta....

X= INP(&H379) 'Läs in parametern X som in-värdet på porten
IF X = 7 THEN OUT &H378,1 'Om strömbrytaren är på, dra relämodulen
LOOP ' ... loopen
Sedan är det bara fantasin som sätter gränserna

Detta är bra som ett första-steg innan man ger sig in på större programmeringsspråk. Själv har jag aldrig orkat eftersom jag är lite 'trög' och orkar inte därefter lära mig de där mer komplicerade programmeringsspråken.


Jag hoppas jag har inspirerat till något häftigt & ballt :D

Åh, just ja. Litet tips: Om du inte har en redan, skaffa en "bibel" från Elfa. Där finns det mkt kul att läsa och låta sig inspireras av.

Men ska du beställa t.ex. TTL-kretsar rekommenderar jag att du gör det hos Electro:kit :D

Edit:
Glömde bort att skriva en sak ang. värdet 7 som parametervärdet.
Just nu minns jag inte vad det brukar vara eftersom 3 bitar (tåtar) aldrig ser insidan/utsidan av datorn utan används internt / inte alls. I exemplet ovan utgick jag från att de var satta som 1: or, utom en av dem.
De är förresten inverterade också, vilket innebär att värderna blir annorlunda... Därför om du använder min kod ovan, byter du ut 7 mot det värdet du får från programexemplet ovan.
Edit 2: Skrev fel pinne på paralellporten

Re:

Postat: 6 januari 2009, 16:19:16
av Raggare
Tack! Men som vanligt så fattar man ju 0! :| Men tack ändå för att du tog dig tid! :wink:

Re: Styra via Datorn?

Postat: 7 augusti 2009, 12:30:12
av Ac3T
Bättre sent än aldrig, var några månader sen jag skrev det där =0P

Har du testat något av det tidigare jag skrev?

Om/När du vågat dig på att testa kommer du märka att det faktiskt ÄR väldigt enkelt att få skiten & funka.

Prova att koppla in några reläer, typ 8 stycken på ut-portarna och koppla dem till nåt skoj, som t.ex. lampor (Wow vad skoj- Not! Men det kanske passar som disco-anläggning) och prova t.ex. följande kod:

Kod: Markera allt

CLS ' Töm skärmen
DO 'Börja en loop
SLEEP 1 'Sov 1 sekund
X= INT(RND * 255) + 1 ' Gör parametern X innehållandes slumpvist värde mellan 0 och 255
OUT &H378, X ' Skicka ut värdet av X till skrivarporten
LOOP WHILE INKEY$ = "" 'Loop:a tills dess någon tangent trycks ner.
Finns även roliga plugins för t.ex. WinAMP där du kan styra t.ex. lampor i takt med musiken. Dock lär jag säga att för att få dem att funka måste man använda en äldre version. Minns inte exakt, men version 2.xx fungerar iaf.
De kan vara lite svåra att få tag i, men fråga om du är intresserad så kan jag skicka över de jag har, inkl. WinAMP...

Re: Styra via Datorn?

Postat: 7 augusti 2009, 12:42:30
av Icecap
Och har man Win XP eller nyare kommer man inte åt hårdvaran direkt men måste via en drivrutin.