Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: welmar - 18.07.15 - klo:20.44

Otsikko: Arduino ja Processing ongelma
Kirjoitti: welmar - 18.07.15 - klo:20.44
Yritän arduinoa saada ohjattua koneella tämä ohjeen mukaan http://www.instructables.com/id/Computer-Controlled-Arduino/?ALLSTEPS Ongelma on se että kun painan run nappulaa Processing ohjelmassa valittaa se
Koodia: [Valitse]
Error opening serial port COM1: Port not found
Otsikko: Vs: Arduino ja Processing ongelma
Kirjoitti: kamara - 18.07.15 - klo:21.22
Kuinka asensit Arduino IDE:n ?

Koodia: [Valitse]
sudo apt-get install arduino

Lisäksi oletko ryhmässä dialout ?
Koodia: [Valitse]
groups

Lisäksi mistä löytyy run-nappula ?
Itselläni ensiksi verify-nappula, jonka jälkeen onnistuneesti suoritettua sen upload-nappulaa.
Otsikko: Vs: Arduino ja Processing ongelma
Kirjoitti: welmar - 18.07.15 - klo:21.30
Lisäksi mistä löytyy run-nappula ?
Itselläni ensiksi verify-nappula, jonka jälkeen onnistuneesti suoritettua sen upload-nappulaa.
run-nappula on siis Processing-ohjelmassa ei Arduinon IDE:ssä. Arduino on repoista asennettu ja koodi menee siihen ihan ok. Ongelma on tuon Processing ohjelman kanssa.
Otsikko: Vs: Arduino ja Processing ongelma
Kirjoitti: kamara - 18.07.15 - klo:21.46
run-nappula on siis Processing-ohjelmassa ei Arduinon IDE:ssä. Arduino on repoista asennettu ja koodi menee siihen ihan ok. Ongelma on tuon Processing ohjelman kanssa.

Onkos se jokin Windows-ohjelma. Oma ohjelmasi ei tarvitse mitään windows-ohjelmaa, vaan voit seurata tapahtumia arduino-iden serial-monitorista.

Mikäli Prosessing on windows-ohjelma, ja yrittää käpistellä com1-porttia, niin joudut tekemään wine:een symbolisen linkin comportille, jotta wine käyttää oikeaa comporttia.

Edit - Tuossa taitaa olla kerrotun samasta ongelmasta:
https://github.com/processing/processing/wiki/Serial%20Issues
Otsikko: Vs: Arduino ja Processing ongelma
Kirjoitti: Tomin - 18.07.15 - klo:22.04
Processing on kyllä saatavilla Linuxillekin. Ei näytä löytyvän Ubuntun repoista (yritin etsiä 14.04:n varastoista). Miten asensit sen? Valitsithan oikean portin asetuksista?
Otsikko: Vs: Arduino ja Processing ongelma
Kirjoitti: welmar - 18.07.15 - klo:22.09
Ei se ole windows ohjelma. Täältä latasin https://processing.org/download/?processing 64 Linux version. Arduino IDE pohjautuu tuohon ja onkin hyvin samanlainen mutta käyttö on tietokone ohjelmointiin arduinon ohjelmoinnin sijaan. Tarkoitus olis siis tehdä ohjelma jolla voisin ohjata arduinoa tietokoneen näppiksellä ja hiirellä. Porttihan varmaankin on väärä, niin minä ainakin tuon virheilmoituksen ymmärrän mutta mitä sille voi tehdä? Arduinon IDE:ssä ei ole kuin vaihtoehto /dev/tty/ACMO ja Processingistä ei löydy mitään ainakaan tool valikon alta.
Otsikko: Vs: Arduino ja Processing ongelma
Kirjoitti: kamara - 18.07.15 - klo:22.11
Processing on kyllä saatavilla Linuxillekin. Ei näytä löytyvän Ubuntun repoista (yritin etsiä 14.04:n varastoista). Miten asensit sen? Valitsithan oikean portin asetuksista?

Ongelmana lieneen, että portin asetuksia ei löydy. Oletuksena saattaa olla /dev/ttyS0, mutta se pitäisi sitten muuttaa symboliseksi linkiksi osoittamaan arduinon porttia (/dev/ttyACM0 tai /dev/ttyUSB0 en muista kummin).
Otsikko: Vs: Arduino ja Processing ongelma
Kirjoitti: Tomin - 18.07.15 - klo:22.17
Hmm, nähtävästi tuo toimii sen verran eri tavalla kuin Arduinon IDE ja kun en ole sitä käyttänyt niin tuo kysymykseni meni vähän harhaan. Eli portti asetetaan koodissa ja ilmeisesti tuon pitäisi ohjeen mukaan kysyä sitä jotenkin tuossa ikkunan alareunan laatikossa. En kyllä ymmärtänyt tuosta koodista miten se sitä kysyisi, mutta ehkä se on jokin Processing:n ominaisuus.

arduinon porttia (/dev/ttyACM0 tai /dev/ttyUSB0 en muista kummin)
Arduino käyttää noita molempia. Se kumpaa kulloinkin käytetään riippuu käytetystä Arduinosta. En tosin itsekään muista kumpia FTDI:n piiriin perustuvat (vanhemmat kuin Uno) käyttävät ja kumpaa AVR:llä USB:n toteuttavat (Uno, Leonardo yms. uudemmat) käyttävät
Otsikko: Vs: Arduino ja Processing ongelma
Kirjoitti: welmar - 18.07.15 - klo:22.41
Arduinon IDE:ssä ainakin tulee ponnahdusikkuna joka ehdottaa porttia ja Processing on lähes identtinen ainakin ulkoisesti niin luulis tekevän samalla lailla mutta ei.

arduinon porttia (/dev/ttyACM0 tai /dev/ttyUSB0 en muista kummin)
Arduino käyttää noita molempia. Se kumpaa kulloinkin käytetään riippuu käytetystä Arduinosta. En tosin itsekään muista kumpia FTDI:n piiriin perustuvat (vanhemmat kuin Uno) käyttävät ja kumpaa AVR:llä USB:n toteuttavat (Uno, Leonardo yms. uudemmat) käyttävät
Unon portti on /dev/ttyACM0 ja Nano /dev/ttyUSB0. Nano on Atmel 328p piirillä eli sama kuin unossa eri pakkauksessa. Molemmat siis AVR.
Otsikko: Vs: Arduino ja Processing ongelma
Kirjoitti: kamara - 19.07.15 - klo:10.43
Löytyykö listasta Arduinon portti:
Tällaisen esimerkin löysin.
Koodia: [Valitse]
// Example by Tom Igoe

import processing.serial.*;

// The serial port:
Serial myPort;       

// List all the available serial ports:
println(Serial.list());

// Open the port you are using at the rate you want:
myPort = new Serial(this, Serial.list()[0], 9600);
 
// Send a capital A out the serial port:
myPort.write(65);
Otsikko: Vs: Arduino ja Processing ongelma
Kirjoitti: welmar - 19.07.15 - klo:13.03
Löytyykö listasta Arduinon portti:
Tällaisen esimerkin löysin.
Koodia: [Valitse]
// Example by Tom Igoe

import processing.serial.*;

// The serial port:
Serial myPort;       

// List all the available serial ports:
println(Serial.list());

// Open the port you are using at the rate you want:
myPort = new Serial(this, Serial.list()[0], 9600);
 
// Send a capital A out the serial port:
myPort.write(65);
Tämän avulla olen päässyt eteenpäin. Alkuperäisessä esimerkkikoodista puuttui toi
Koodia: [Valitse]
println(Serial.list()); Nyt vielä jotain ongelmaa,
Koodia: [Valitse]
it look's like yuor mixing "active" and "static" modes Yritän selvittää ja jos keksi ratkaisua palaan asiaan. Kiitoksia jälleen.
Otsikko: Vs: Arduino ja Processing ongelma
Kirjoitti: kamara - 19.07.15 - klo:13.53
Löytyykö listasta Arduinon portti:
Tällaisen esimerkin löysin.
Koodia: [Valitse]
// Example by Tom Igoe

import processing.serial.*;

// The serial port:
Serial myPort;       

// List all the available serial ports:
println(Serial.list());

// Open the port you are using at the rate you want:
myPort = new Serial(this, Serial.list()[0], 9600);
 
// Send a capital A out the serial port:
myPort.write(65);
Tämän avulla olen päässyt eteenpäin. Alkuperäisessä esimerkkikoodista puuttui toi
Koodia: [Valitse]
println(Serial.list()); Nyt vielä jotain ongelmaa,
Koodia: [Valitse]
it look's like yuor mixing "active" and "static" modes Yritän selvittää ja jos keksi ratkaisua palaan asiaan. Kiitoksia jälleen.

Pitäisiköhän asetusohjelmanpätkä laittaa setup:n sisään ?
Koodia: [Valitse]
import processing.serial.*;
Serial port;
void setup(){
    //Sets the size
    size(300, 300);
    //Sets the neutral background color
    background(0);
    frameRate(10);
    port = new Serial(this,Serial.list()[0] ,9600);
}

void draw(){
    //This reads to see if a key is pressed
    if(keyPressed){
        //These If Statements check to see if a certain key is pressed
        if(key == 'a' || key == 'A'){
            //These backgrounds are the representative colors of the LEDs
            background(50, 20, 200);
            port.write('B'); // This writes to the serial port for the Arduino
        }
        if(key == 's' || key == 'S'){
            background(0, 100, 0);
            port.write('G');
        }
        //This is for the reset of the screen and LEDs on Arduino
        if(key == 'r' || key == 'R'){
            background(0,0,0);
            port.write('w');
        }
    }
}

Edit - Itse tekisin tietokonepuolen ohjainohjelman pythonilla, mutta periaatteessa ei kielellä pitäisi olla väliä.
Jos kiinnostusta siitä löytyy, niin hyvä esimerkkiohjelma on miniterm.py
Tässä yksi yksinkertainen esimerkki:
http://www.filewatcher.com/p/GMapCatcher-0.7.5.0.tar.gz.644774/GMapCatcher-0.7.5.0/gmapcatcher/pyGPSD/miniterm.py.html
Lukee GPS-dongelia.

Ja tässä toinen vähän monimutkaisempi esimerkki: https://code.google.com/p/gnublin/source/browse/lpc3131/examples/uart/miniterm.py?r=98328962053769fffd5f50caa7fb80d0be525521
Otsikko: Vs: Arduino ja Processing ongelma
Kirjoitti: welmar - 19.07.15 - klo:22.20
Valittaa Error opening serial port /ttyS0: incorrect serial port. Tuli muuta tekemistä nyt pariksi päiväksi mutta yritän vähän tutkia noita python juttuja. Nopeasti vilkaistuna en kuitenkaan oikein ymmätänyt miten noita muokkais niin ottais näppikseltä komentoja vastaan niin että sais vaikka sen ledin palamaan pinnissä 1.
Miksei tuossa voi olla mitään kommontointia? Vois edes jotain ymmärtää mutta kun ei ole mitään niin on vähän hankalaa.