Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Oma usb signaali

Sivun loppuun

TVdata [28.02.2012 17:03:44]

#

Millä kielellä helpoiten ja miten saadaan ohjelma joka lähettäisi usb:llä itse kirjoittamiani ykkösiä ja nollia?

Grez [28.02.2012 17:07:32]

#

USB-sarjaporttisovittimen avulla ja kaikilla kielillä on erittäin helppoa.

TVdata [28.02.2012 17:35:41]

#

Antaisiko joku tarkemmat ohjeet c++:lla.

Metabolix [28.02.2012 17:40:32]

#

1. Osta ja kytke koneeseen sarjaporttisovitin.
2. Avaa binaarimuodossa tiedosto /dev/ttyUSB0 tai vastaava.
3. Kirjoita. Tavussa on kahdeksan bittiä.

Petja [29.02.2012 14:32:50]

#

Grez kirjoitti:

kaikilla kielillä on erittäin helppoa

Haluaisin toki tietää :)

Grez [29.02.2012 15:02:51]

#

Petja kirjoitti:

Haluaisin toki tietää :)

Siis mitä, miten kaikilla kielillä kirjoitetaan sarjaporttiin?

No, jos nyt pilkkua viilataan, niin ehkä se ei ole brainfuckilla helppoa. Tarkoitin kuitenkin, että millä tahansa kielellä, joka ylipäätään soveltuu sarjaportin kanssa jutusteluun, se yleensä on erittäin helppoa.

TVdata [29.02.2012 18:02:30]

#

Tarkoitus on saada tietokone kommunikoimaan arduinon kanssa.(homma arduinon rajoitteiden takia) Arduino lähettäisi antureiden antamaa tietoa suoraan tietokoneelle Serial.printn metodilla ja tietokone lähettäisi ohjeita sarjaportin avulla arduinon pinnille. Arduino ohjelmoidaan tunnistamaan pulssit ehtojen avulla käskyiksi ja niin edelleen. Ongelma on siinä että miten teksti saadaan ohjelmaan tietokoneessa? Sulautetut-kirjassa opetetaan kuinka flash saadaan lukemaan tietoa sarjaportilta koodilla:

import flash.net.Socket;
import flash.events.ProgressEvent;

funktion printSerial(event:ProgressEvent):void {
trace(socket.readMultiByte(socet.bytesAvailable,"utf-8"));
}
var socket = new flash.net.Socket("localhost", 5335);
socket.addEventListener(ProgressEvent.SOCKET_DATA,printSerial);

Ohjelma tulostaa tekstiä sarjaportilta serproxyn tulkkaamana, mutta miten sama tehtäisiin c++:lla muuttujaan?

Metabolix [29.02.2012 18:07:02]

#

Arduino sisältää siis valmiiksi tuon mainitun sarjaporttiadapterin, joten sitä käsitellään koneella sarjaporttina eikä USB-laitteena, joten voit lukea kyseisestä sarjaportista aivan kuten muistakin tiedostoista.

TVdata [29.02.2012 18:13:44]

#

Panisiko joku koodia?

Metabolix [29.02.2012 18:23:21]

#

Miksi ihmeessä yrität ohjelmoida mikrokontrollerilla, jos edes yksinkertainen tiedostosta lukeminen ei vielä onnistu? >_>

#include <fstream>
void lue(const char* portti) {
	std::ifstream tiedosto(portti);
	std::string rivi;
	while (std::getline(tiedosto, rivi)) {
		std::cout << rivi << std::endl;
	}
}
int main() {
	lue("/dev/ttyUSB0");
}

Tarkista portin nimi tai kokeile. Windowsissa hyvä arvaus on vaikka "COM1". Kirjoittaminen tapahtuu aivan vastaavalla tavalla.

TVdata [01.03.2012 18:51:42]

#

Kiitos.

Metabolix kirjoitti:

Miksi ihmeessä yrität ohjelmoida mikrokontrollerilla, jos edes yksinkertainen tiedostosta lukeminen ei vielä onnistu? >_>

Vastaus:

Tero Karvinen & Kimmo Karvinen Sulautetut kirjoitti:

Miten luet tätä kirjaa

Tämän teoksen lähtökohta on antaa tietoa helposti opittavassa muodossa.

Joo, en viitsinyt etsiä kohtaa jossa kerrotaan että aikaisempia kokemuksi ohjelmoinnista ei tarvita vaikka sellainen kohta on. "o o"

Metabolix [01.03.2012 18:58:04]

#

TVdata kirjoitti:

Tämän teoksen lähtökohta on antaa tietoa helposti opittavassa muodossa.

Voi hyvänen aika. Samalla logiikalla voisit ruveta lukemaan jotain hiukkasfysiikan perusteita opettelematta ensin yhteenlaskua ala-asteella.

ljlassi [01.03.2012 22:22:08]

#

On ihan järkevää pitää riittävä kunnainhimo omissa projekteissa, näin oppii parhaiten ja motivaatio säilyy. Kuitenkin yleensä jos projekti ei ole itselleen liian vaikea niin siitä pitäisi selvitä pääosin itsenäisesti opiskelemalla ilman, että täytyy jatkuvasti kysyä apua esim täältä putkasta.

Esimerkkinä hiukan rohkeasta, mutta hyvästä projektista oma projektini, jossa lähdin tekemään hiukan Facebookin kaltaista sosiaalista mediaa. Eihän sivusto tietenkään tule koskaan valmiiksi saatikka julkaisukuntoon, mutta ainakin tuli opiskeltua PHP:n ja tietokantojen perusteet huolella, vaikken aluksi edes osannut tehdä sivujen taittoa. Tässäkin tosin pitää muistaa, että kun on lähtenyt opiskelemaan tätä reittiä niin pitää kuitenkin jälkikäteen käydä läpi asiat tarkemmin, koska koodi tuskin on tasoltaan mitenkään kovin "ammattimaista".

Grez [01.03.2012 22:30:58]

#

Mikrokontrollereiden ohjelmointi voi olla hyvinkin helppoa puuhaa.

Jos mikrokontrollereiden ohjelmointi olisi automaattisesti hirveän vaikeaa, voisin olla Metabolixin kanssa samaa mieltä.

Metabolix [01.03.2012 22:37:53]

#

Grez kirjoitti:

Mikrokontrollereiden ohjelmointi voi olla hyvinkin helppoa puuhaa.

Selvästikään se ei silti ollut tarpeeksi helppoa, kun piti tulla alkeita tänne kysymään. Jotain olisi siis syytä osata jo etukäteen. Toki vertaukseni oli aika kärjistetty.

Grez [01.03.2012 22:49:12]

#

Eikös tässä kyselty nimenomaan asioiden tekemisestä PC:n puolella eikä mikrokontrollerin puolella?

groovyb [02.03.2012 07:17:48]

#

Mitä ihmeen tiuskimista tämä nyt on? Ei näihin postauksiin kenenkään tarvitse vastailla jos kokee vastenmieliseksi.

Ei sellaista kysymystä olekkaan, jonka vastaus ei olisi jollekkin äärettömän yksinkertainen ja täten voisi aina joku vastata että opettele asiat itse äläkä kysy noin yksinkertaisia asioita. Tuo vastaus voisi tulla automaattisesti, eikä kysymyksen edes tarvitse tallentua.

qeijo [02.03.2012 09:03:17]

#

groovyb kirjoitti:

Mitä ihmeen tiuskimista tämä nyt on? Ei näihin postauksiin kenenkään tarvitse vastailla jos kokee vastenmieliseksi.

Ei sellaista kysymystä olekkaan, jonka vastaus ei olisi jollekkin äärettömän yksinkertainen ja täten voisi aina joku vastata että opettele asiat itse äläkä kysy noin yksinkertaisia asioita. Tuo vastaus voisi tulla automaattisesti, eikä kysymyksen edes tarvitse tallentua.

Opettele ensin itse, tuu sitten vasta kyselemään! (vitsi)

TVdata [03.03.2012 18:50:59]

#

groovyb kirjoitti:

Ei sellaista kysymystä olekkaan, jonka vastaus ei olisi jollekkin äärettömän yksinkertainen...

Totta, vastaus on tosiaan erittäin helppo. 42

ErroR++ [04.03.2012 09:58:15]

#

Metabolix kirjoitti:

Tarkista portin nimi tai kokeile. Windowsissa hyvä arvaus on vaikka "COM1".

No jos aivan tarkkoja ollaan, laitetiedostot ovat Windowsissa "\Device\" -alkuisia. Toki (joitakin) laitteita voi ohjata niiden nimillä, mutta ainakin kun katselin oman koneen järjestelmätietoja (msinfo32.exe), huomasin laitteiden olevan "\Device\" -alkuisia.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta