Kirjoittaja Aihe: Oheislaitteiden ohjaus - Triggersignaalin käsittely  (Luettu 2934 kertaa)

buffalognu

  • Käyttäjä
  • Viestejä: 19
    • Profiili
Olen rakentamassa kuvausrobottia ubuntu-serverin ympärille. Onko kellään ehdottaa rauta/softapalikoita kameran laukaisemiseksi. Tarkoitus on asettaa kuvattavat kamat  pyörivälle lautaselle ja ottaa kuva kun kohde on kameran kohdalla. Onko kukaan rakentanut vastaavaa. Ongelmana on lähinnä trigger-signaalin saaminen esim bash-skriptiin, jolloin skripti hoitaisi kuvan tallennuksesta.  Primitiivisiä ratkaisujen, kuten näppiksen tai hiiren kannibalisoinnin lisäksi kaivataan hienostuneempia ratkaisuja. Eli, onko valmiita Linux-tuellisia palikoita
( mielellään kotimaisia ) olemassa ?. Nokeva:lta pitäisi löytyä jotain, onko muita ? Onko edustajia Turun seudulla?

Tää kamerajuttu on yksi monista. Muita heti mieleen tulevista ovat vaa'at, lämpötila- ja paineanturit. Työasemiin sopivat ratkaisut ovat cool. Jos homman saa toimimaan automaattisesti serverissä - vielä parempi !

Terveisin

peran

  • Vieras
Vs: Oheislaitteiden ohjaus - Triggersignaalin käsittely
« Vastaus #1 : 15.12.09 - klo:22.43 »
Pythonilla pystyy melko helposti käsittelemään LPT-porttia, josta saa melko reaaliaikaisen vasteen todellisuudesta.

Yhdistä 25 pinnisestä printteriliittimestä esim. pinni 10 (-ACK) maahan, niin luulisi näkyvän sopivalla Python-ohjelmalla. (Muita käytettävissä olevia pinnejä 11 (Busy), 12 (PE paperi loppu), 13 (SLCT), 15 (Error))

Tosin Databittejäkin voi käyttää, mutta ne pitää laittaa vastaanottamaan, ettei tuhoa ko. pinniä.

Yritän kaivella jostain sopivaa Python ohjelmaa, jolla saat napattua painalluksen.

Tässä om sitten eka pythonohjelma, mitä olen koskaan tehnyt. En ole 100 varma, mitä pinniä se tutkii. Todennäköisesti Busy pinniä, jos oikein tutkailin koodia. Se odottaa 100 vaihtokertaa 0 voltista viiteen volttiin (Maa ja vapautus). Joka painalluksella se tulostaa kuluneen ajan. Tai jotain sinne päin...

Siis tää on eka ikinä tekemäni Python ohjelma, joten saa nauraa. Ennen toimintaa pitäneen ladata sopiva python paketti, jotta iee1284-paketti toimii. Ohjelma toimii Ubuntu Hardyssä, saaneen toimimaan ehkä pienillä muutoksilla muissakin Ubuntuissa ja Linukoissa.
Koodia: [Valitse]
import ieee1284
import time
p=ieee1284.find_ports()['parport0']
p.open()
p.claim()
t2=time.time()
for i in range(100):
    p.wait_status(128,0,10)
    t1=time.time()
    print i,t1-t2
    p.wait_status(128,128,10)
    t2=time.time()
    print i,t2-t1
p.close()

Edit - siis ratkaisuehdotukseni ei ota kantaa, millä teknisellä ratkaisulla trikkaat ko. kappaleen kohdilleen.
Jos on mahdollista saattaa huone täysin pimeäksi ja kappale estää ir-valon liikkumisen, niin sopiva trikkeri on varsin edullinen toteuttaa, vaikka tällä:
http://www.bebek.fi/kauppa/index2.php

Etsi - sieltä Kemo-rakennussarja Mini-Infrapuna-Valokaappi Nr. B 215
Laittamalla tehokkaampaa infrapunalähetintä saa kantavuutta paremmaksi. Aika hyvin toimii jopa 60 W hehkulamppu, mutta se saattaa tehdä jo liikaa sivuheijastuksia ja muita ongelmia.

Edit - Prosessinhan saa pimeäksi, jos otat kuvat salamalla, tai teet mustan putken ko. anturille, jottei valo pääse anturille kuin halutusta suunnasta.

Edit - Tämä tosin taisi kuulua niihin primitiivisiin vastauksiin.  :P
... mutta siis ei estä mitenkään serveri-toteutusta.

Edit - P.S. Bebekin nettisivut kilpailevat kovasti epäkäytännöllisimmän nettikauppapaikan tittelistä, joten kärsivällisyyttä etsintään.
« Viimeksi muokattu: 15.12.09 - klo:23.23 kirjoittanut peran »

peran

  • Vieras
Vs: Oheislaitteiden ohjaus - Triggersignaalin käsittely
« Vastaus #2 : 15.12.09 - klo:23.38 »
Siis ton tulostinportin pyhittämiseksi ko. tapahtuman vastaanottajaksi ei millään tavalla rajoita, mikä laite trikkaa oli se sitten toi infrapuna-vastaanotin tai laser-valokenno tai joku muu vastaava.

Trikkauslaitteen pitää vain antaa kytkentä maahan, kun kappale on oikealla kohdalla.

buffalognu

  • Käyttäjä
  • Viestejä: 19
    • Profiili
Vs: Oheislaitteiden ohjaus - Triggersignaalin käsittely
« Vastaus #3 : 15.12.09 - klo:23.53 »
Siis ton tulostinportin pyhittämiseksi ko. tapahtuman vastaanottajaksi ei millään tavalla rajoita, mikä laite trikkaa oli se sitten toi infrapuna-vastaanotin tai laser-valokenno tai joku muu vastaava.

Trikkauslaitteen pitää vain antaa kytkentä maahan, kun kappale on oikealla kohdalla.
Hyvä. Kävin tuolla mainitsemallasi bebek-sivustolla. Homma löytyy . Kiitos avustasi.
Nyt täytyy vähän sulatella !

Terveisin

peran

  • Vieras
Vs: Oheislaitteiden ohjaus - Triggersignaalin käsittely
« Vastaus #4 : 16.12.09 - klo:18.26 »
Siis ton tulostinportin pyhittämiseksi ko. tapahtuman vastaanottajaksi ei millään tavalla rajoita, mikä laite trikkaa oli se sitten toi infrapuna-vastaanotin tai laser-valokenno tai joku muu vastaava.

Trikkauslaitteen pitää vain antaa kytkentä maahan, kun kappale on oikealla kohdalla.
Hyvä. Kävin tuolla mainitsemallasi bebek-sivustolla. Homma löytyy . Kiitos avustasi.
Nyt täytyy vähän sulatella !

Terveisin

Toivottavasti ymmärsit myös sen, että tota Bebekin rakennussarjaa käyttäessäsi pitää hoitaa pimeys anturille, jotta toimii, kun kappale menee (ir-)valon tielle. Lisäksi kannattaa ostaa Naaraspuolinen 25 pinnin Cannon-liitin, mutta niitä toki saa mistä tahansa elektroniikkaliikkeestä. Näin ainakin luulisin.

buffalognu

  • Käyttäjä
  • Viestejä: 19
    • Profiili
Vs: Oheislaitteiden ohjaus - Triggersignaalin käsittely
« Vastaus #5 : 16.12.09 - klo:19.00 »
Siis ton tulostinportin pyhittämiseksi ko. tapahtuman vastaanottajaksi ei millään tavalla rajoita, mikä laite trikkaa oli se sitten toi infrapuna-vastaanotin tai laser-valokenno tai joku muu vastaava.

Trikkauslaitteen pitää vain antaa kytkentä maahan, kun kappale on oikealla kohdalla.
Hyvä. Kävin tuolla mainitsemallasi bebek-sivustolla. Homma löytyy . Kiitos avustasi.
Nyt täytyy vähän sulatella !

Terveisin

Toivottavasti ymmärsit myös sen, että tota Bebekin rakennussarjaa käyttäessäsi pitää hoitaa pimeys anturille, jotta toimii, kun kappale menee (ir-)valon tielle. Lisäksi kannattaa ostaa Naaraspuolinen 25 pinnin Cannon-liitin, mutta niitä toki saa mistä tahansa elektroniikkaliikkeestä. Näin ainakin luulisin.

Kiitos avusta. Pitää kokeilla. Tässä muuten juolahti mieleen seuraavanlainen ratkaisu. En tiedä miten paljon tuossa on säätämistä, mutta alustavasti toimii. Optisesta hiirestä saa liikeanturin. Eli hiiri asetetaan sopivalle etäisyydelle pyörivän lautasen kehästä. Kehälle sitten liimataan korokekappaleet haluttuihin triggauspisteisiin.
Kun tollanen koroke tulee hiiren kohdalle, niin hiiri antaa liikeinfoa. Sitten vaan luetaan vaikkapa bash:in read-komennolla /dev/input/mouse1-tiedostoa.





peran

  • Vieras
Vs: Oheislaitteiden ohjaus - Triggersignaalin käsittely
« Vastaus #6 : 16.12.09 - klo:20.32 »
Jos noinkin yksinkertainen ratkaisu periaatteessa toimii, niin mikset käytä optokopleria, jolloin kustannukset ovat n. 5 euroa. (Optokopler, liitin ja mahdollisesti vähän passiivista elektroniikkaa).