PC robot revisited (8 / 8 steg)

Steg 8: programvara.



Pågående...

Robot os. Oändlig loop.
True % "Ange eller återställa värden inmatningssensorn värden" göra andra jobb vad som behövs utifrån indatavärden. wend del I. Ange eller återställa värdena. Del II få sensor värden. Läsa in stiften

Kommandot för att läsa från hamnar i qbasic är INP. Adressen du behöver läsa från är adressen till parallellporten (vanligtvis 378h) + 1. så vanliga adressen är 379h. Som jag nämnt tidigare, är stiften används för indata 10-13 och 15. Läsa olika stiften är lite hårdare än skriva till hamnarna, som du har att maskera ut stiften din inte intresserad. När du läser porten, används de första 3 bitarna återvände inte. Till exempel skulle qbasic koden nedan läsa pin 12 (av papper). När denna port är hög, "slut på papper / pin 12 växlas" kommer att visas: data = inp (& h379) om (data och 32) = 32 och skriv sedan ut "slut på papper / pin 12 hög" tabellen nedan lista pin mata in pin-kod, dess normala funktion och hur många som krävs för att läsa det (t.ex 32 används i ovanstående exempel): Pin nummer Normal syftet att läsa 10 Ackowledge 64 11 hög när inte upptagen 128 12 hög när av papper 32 13 hög när skrivaren online 16 15 hög när inget fel 8

Om du förstår binär, bör du omedelbart se var dessa siffror kommer från, och varför de används för att maskera ut alla andra stift vi inte försöker läsa. Det enklaste du kan använda för att testa detta är att bara ansluta en växla mellan en ingångsstift och en marken pin (18-25). Till exempel, om du ansluter en växla mellan stift 15 och 20, du kan använda följande kod för att övervaka när växeln skjuts: starta: res = INP(&H379) CLS IF (res och 8) = 8 då utskrift "knappen sköt" annat PRINT "Knappen inte drivit" för dröjsmål = 1 till 500: nästa dröjsmål GOTO börja jag vet här koden är lite rörig , och kommer att flimra, men den är skriven för klarhet. Samma kod kan användas för att övervaka andra fyra ingående linjer genom att ändra till "8" till ett annat från tabellen. Del III andra jobb. Del IV vi kan använda program som parcon för att ange värden på den parallella porten för sådana jpbs som kontrollerande makten tåget. Se också:

Portcontrol är ett trevligt program för att läsa data och skriva data till hamnarna finns på:

http://www.epanorama.net/Circuits/portcontrol.tar

Behöver du en C-kompilator för ditt system för att få det att fungera,

Port control software för Linux
Version 0.3

Copyright Tomi Engdahl 1996-2005

Introduktion

Här programpaketet ger tillgång till PC computern järnvaror/o-portar under Linuxoperativsystem.

Softare paketet är utformat för att köras på Linux-system som körs på normala PC-hårdvara. Programvaran har testats för att köra fint på Fedora Core 4 Linux-distribution. Du behöver GCC att kompilera program.

Paketet innehåller följande verktyg:

lptout enkelt program för att styra LPT1 skrivare port data stift portcontrol allmänt använda I/O port läsa och skriva ansökan control.php AJAX/PHP baserat webbgränssnitt för parallellporten kontrollera

Programmet ges ingen garanti för deras riktighet. Använda dem på egen risk.

Sammanställa

Kör: göra installera

Du installerar

Logga in som root. Kör: göra installera

Programvaran installeras nu till/usr/lokal/sbin/katalog med lptout

Användaren måste ha root previledges att få tillträde till hamnarna för att programmet ska köras. Därför att programmet installeras med SUID ROOT inställningar, vilket innebär att varje gång programmet körs det körs automatiskt vid roten previledges oavsett vem driver den. Detta program är utformat för att få tillgång till LPT1 parallellporten på I/O adress 0x378 (normala adress för parallellporten integrerade på moderkortet)

Till exempel stängs kommandot /usr/local/sbin/lptout 0xFF alla data stift i LPT1-porten till höga tillstånd (1). Kommandot /usr/local/sbin/lptout 0x00 kommer att visa alla data stift till låga tillstånd (0).

Använda portcontrol

portconrol är en enkel generell I/O port kontrollprogram för Linux. Det gör att du kan skriva och läsa de stöds/o-portarna. Programvaran kan skriva angivet värde till port, läsa värdet på tanke I/O adress och skriva ut det till skärmen i olika format och bit-nivå manipulation av data port.

Exempel på

/usr/local/sbin/portcontrol LPT1DATA Läs setbit 1 skriva läser parallellporten data, ange bit D1 till 1 och skriver värde tillbaka effektivt sätter LPT1 stift D1 i parallellporten logik 1

/usr/local/sbin/portcontrol LPT1DATA Läs resetbit läser parallellporten data, ange bit D1 till 0 och skriver värde tillbaka effektivt sätter LPT1 stift D1 i parallellporten logik 0

/usr/local/sbin/portcontrol LPT1DATA SättVärde 0xff skriva skriver värdet 0xff (255 dec) till parallellporten sätter effektivt alla LPT1 data stift till logik 1

/usr/local/sbin/portcontrol LPT1DATA Läs ut bin läser parallellporten data stift påstår och skriver ut resultaten som binära tal till skärmen (standard output).

/usr/local/sbin/portcontrol LPT1DATA Läs ut bin läser parallellporten data stift påstår och skriver ut resultaten som binära tal till skärmen (standard output).

/usr/local/sbin/portcontrol LPT1DATA Läs printbits 021 läser parallellporten data stift påstår och skriver ut påstår av bits D0, D2 och D1 i den ordningen på skärmen (standard output).

Stöds port identifierare LPT1DATA LPT1-porten data linjer kontroll (0x378) LPT1STATUS LPT1 registrera skrivarens status ingångar LPT1HANDSHAKE LPT1 handstake utgång Kontrollera JOYSTICK Joystick port behandlingen (endast läsning meningsfullt)

Stöds kommandon PRINT DEC Läs data, ger utdata som decimaltal PRINT HEX läsa data, ger utgång som hexadecimala nummer Skriv ut BIN Läs data, ger utgång som binära tal PRINTBITS bitar läser de angivna bitarna i angiven ordning (0..7)

SKRIVA skriver registrera värde till värdet för läsa läser från angiven port att registrera

SÄTTVÄRDE värdet anger det givna värdet att registrera och värdesätter utför och med tanke på värdet och registrera eller värde utför eller med tanke på värdet och register XOR värde utför XOR med tanke på värdet och register SETBITS bitar uppsättningar ges bitar till 1 i registrera RESETBITS bitar uppsättningar ges bitar till 0 i registret SETBIT bits samma som SETBITS RESETBIT bitar samma som RESETBITS TOGGLEBITS bits växlar anges lite värden

värde kan vara ger som decimaltal eller heaxadecimal börjar med 0 x bits är en lista över bit position identifierare från 0 till 7

Portnamn är ning att skrivas på höga fall. Kommandon på låga fall.

Via webbgränssnitt

Webbgränssnittet för att styra paralle port är enkelt modernt webbaserat gränssnitt för att styra parallellporten. För att göra det måste du ha följande delar i ditt system: - Apache spindelväv servaren med PHP5 support arbetar med det - portcontrol programvara installerad till försummelsen installera katalog - SAJAX Enkel Ajax Toolkit av ModernMethod - moderna webbläsare som stöder JavaScript (IE6, Mozilla Firefox)

Det är enkelt att installera webbgränssnittet. Allt du behöver är att kopiera filen control.php till en lämplig plats på din webbkatalog du vill att det ska kopia den Sajax.php filen från SAJAX paket till samma katalog där du har control.php.

Sedan bara gå till URL där du har den tillgänglig control.php. Du bör se status line plus en uppsättning knappar. Statusfältet bör automatiskt uppdatera varje 5 sekunder med parallellporten status och aktuell tid på serverdatorn. Trycka på knapparna kommer att ändra parallellporten bit staterna.

Observera att på vissa system PHP-skript kan hot har tillräckligt rättigheter att köra programvaran portconrol. Kontrollera din behörighet att se till att rättigheter är korrekta (systemet inte fungerade på min Fedora Core 4 system när jag hade SELinux säkerhet aktiverat).

SAJAX Enkel Ajax Toolkit av ModernMethod kan laddas ner från http://www.modernmethod.com/sajax/

Obs: Det finns en annan version av filen control.php. Denna fil controlfile.php arbete ganska mycket på samma sätt, men i stället för kontrollerande parallellport skriver och läser status från en fil (status.txt i samma katalog som skriptet är). Det kan användas för att testa systemet för kontroll av AJAX/PHP baserat.

Se Steg
Relaterade Ämnen

Hur man bygger en Robot - The BeetleBot v2 (Revisited)

detta är skalbagge robot instructables revisited a la MythBusters stil!Ursprungligen gjorde jag en instructables om min skalbagge robot version 1.Nu är det dags att visa dig en ny version av denna underbara robot. Denna nya version är mycket lättare...

Upp och upp - Robot balansera Revisited

Detta instructable hjälper dig att bygga en enkel, 2 hjul balanserande robot, och spenderar lite tid att utforska de olika faktorer som påverkar balansera prestanda. Detta är min andra robot projekt, och jag hade två viktiga motiv – att bestämma, och...

PulleyBot: En remskiva Driven Robot

PulleyBot är en enkel, enhetlig manöverdonet 3D tryckta leksak med en växellåda som helt består av trissa system. Detta instructable är en handledning om hur man monterar PulleyBot, men om du är intresserad av remskiva, kabel och kedjan mekanismer, d...

Instructables Robot klockan

Detta är en awesome Instructables Robot klockan som är perfekt för alla skrivbord, natt stannande, fönsterbrädan, Soffbord, etc... Den är liten och trådlösa, vilket gör det perfekt för resor. Att aktivera det bara trycka roboten och titta på honom ly...

2D tecknad Animation av Instructable Robot

Den bekant instructable robot som vi alla har vuxit till kärlek har nu modelleras i Synfig Studios fantastiska 2D-animation programvara och publiceras på dessa sidor för alla att använda. Fullt fungerande robot modellfilen ingår och allt är gratis. D...

DIY Robot Cart (billigt + kraftfulla + snabb)

Hej allihopa, i Autodesk 123 Design, jag jag skapade en modell av en robotic vagnMin design är original och jag hoppas snart kunna göra produkten eftersom det är ganska billigt och lätt att göra.Det finns många användningsområden för den här datorn,...

Enkel robot-låg förlorat-mycket användbart

Hej alla, detta är Sai Jayanth.This är min 1: a fungerande modell instructable att jag förberett. Denna arbetsmodell förbereddes av mig på grund av vissa aspekter. Jag har sett vatten förorenande på grund av industriellt avfall släpper ut i vattensam...

2 rullar Android vikt kontrollerad robot

Denna robot leksak är som en Segway, förutom att det är naturligt själv balanseringen. Den fungerande principen för rörelse liknar sfär leksaken, minus utanför bollen del och gyro. Den är stabil eftersom tyngdpunkten är lägre än hjul centrum. Det ska...

A Följ mig robot med enkel krets

Dess en mycket enkel och lätt att göra följa mig robot. Det kan känna närvaron av objekt som skall följas med hjälp av infraröd (IR) sensor. Det finns en IR-Led och två IR fotodiod (med tillbaka IR-Filter). När IR får speglas från ett närliggande obj...

Virkade fyrkantig hatt - Instructable Robot, Sponge Bob & WALL-E

En av de projekt som har simmat runt i mitt huvud var denna "fyrkantig" stil hatt, även kallad en jester hatt. Jag kunde inte motstå att ange Instructable Robot tävlingen så detta Instructable är en produkt av två.Medan jag var att skapa robot h...

Cross-Stitched Instructables Robot

Jag postat en begäran om detta forum ämne för Instructables robot tävling! Om jag inte fick något svar men jag var verkligen förvånad och upprörd när en såg har att Instructables äntligen lanserat "Instructables robot tävling"!Eftersom jag har b...

Lucy's Retro Robot kostym... Gjorde med husgeråd!

Maker lägret är en stor del av sommaren i vårt hus (vi inte bor nära en officiella läger så har vi vår hemma). Mina flickor älskar det och vi har alltid skitkul att göra saker tillsammans, försöker nya projekt, och för mig är det ett bra sätt för att...

Stora trä Robotic Dinosaur

The Giant trä Robotic dinosaurie är ansvarig för stadenSäkerhet i Oita stad i Japan, bara fruktansvärt problemet med dettaÄr ljudet av promenader och motor,Det finns 100 av dessa i olika städer i Japan går runt :)Samimy Productions presenterarStora t...

Bygga en Robot

drömmer du om att göra livet lättare? Att använda robotar för att liv? Tja kan du bygga en robot idag. Även om det inte kanske vara robot tjänare kan det hjälpa dig i enkla uppgifterJag beslöt att göra en robot av Lego Mindstorms kit. Det är slags ta...

Kartong Instructables Robot hjälm

Jag vann nyligen ett pris från Instructables. Och så som tack och beröm, jag tillbringade en eftermiddag, beväpnad med en sax, lite lim, lite färg och en pensel, bygga ett Instructables robot hjälm från extra kartonger jag hittade ligga runt huset.St...

Papp Robot huvud

har du ville göra en enkel robot hjälm för skojs skull? Väl kommer att du gilla denna handledning om hur man gör ett enkelt, Billigt och roligt papp robot hjälm!Steg 1: Kropp av huvud Du behöver en kartong ca 1 1/2 fot lång, på ungefär tio inches dju...

Barns Robot kostym med ljudeffekter, godis detektor och mer

jag gjorde min dotter denna robot kostym till halloween. Jag blev inspirerad av denna Kid Robot kostym. Jag tog mig i lite av en annan riktning och till några mer nyheter såsom lampor i antenner och öron, en big button-kontrollen med en ljudeffekt fö...

Cyborg Cybernetic robotic maskin främmande arter Laser rökare LED'S Halloween kostym! LEGIT

HejMitt namn är Kenny, och jag har alltid varit ett stort fan av teknik! Jag har alltid varit bra med sladdar. Jag har tusentals random trådar jag har samlat genom åren) min andra talanger består av lödning, ändra komponenter, datorer och spelsystem,...

Kvinnliga Robot Chicken kostym

mitt mål för Halloween var att skapa en bad ass hyllning till Robot Chicken.Från min första skiss till färdigställande!Jag vill tacka alla som stött och inspirerade mig att skapa denna kostym!...