Tiedote ylläpidolta:

Elektroniikkafoorumi sulkeutuu tietoturva ongelmien takia.
Käyttäjien tietoja (yv:t, sähköpostiosoite ja salasanan hash) on saattanut vuotaa vääriin käsiin.

Foorumi on asettettu vain luku tilaan. Vanhoja keskusteluja voi lukea palvelinsopimuksen päättymiseen asti.
Tietokannasta on poistettu kaikki salasanat, sähköpostiosoitteet ja yksityisviestit.

Jos haluat saada omat yksityisviestisi, lähetä sähköpostia yllapito@elektroniikkafoorumi.com
samasta sähköpostista mikä oli foorumin tiedoissa niin voin kaivella niitä varmuuskopioista.

Mielenkiintoni foorumin ylläpitoon on viime vuosina ollut vähäistä jo muutenkin joten tähän on hyvä lopettaa.
Kiitokset kaikille käyttäjilla ja pahoittelut mahdollisista ongelmista.

Päivitys: Näyttäisi siltä että mahdollinen vuoto koski vanhaa phpBB2 tietokantaa,
joten helmikuuta 2012 uudemmat tiedot pitäisi olla turvassa.

-Lahha
yllapito@elektroniikkafoorumi.com


Arduino

Täällä aloittelijat voivat kysyä apua elektroniikkaan liittyviin ongelmiin.

Valvoja: Moderaattorit


Kokelas
Kokelas
Viestit: 8
Liittynyt: Su Helmi 22, 2015 16:12
ViestiLähetetty: Su Joulu 18, 2016 20:51
Moro,Äly loppui.
Yritän kehitellä ultraääni anturasta toisen laista projektia.
Elikkä anturin lukema olisi vaikka 100cm
Kun painan napista tallentaisi tuon 100cm muuttujaan.
Sitten kun välimatka Lyhenee/pitenee ja näyttäisi vain lukua minkä matkan se on siirtynyt.
Elikkä tuo alku etäisyys olisi vaikka 100cm ja etäisyys kasvaisi/lyheneisi vaikka 50cm.
Lukeman minkä se näyttäs olisi tuo 50cm.

Alkuperäinen luku ei saisi muuttua vaikka etäisyys Lisääntyy tai vähentyisi.

Ainoastaa kun painaisi nappia alkaisi uusi Mittaus.

Nöyrimmät kiitokset jos voisitte autaa .
Viimeksi muokannut kalervo päivämäärä Ma Helmi 27, 2017 8:48, muokattu yhteensä 1 kerran

Jäsen
Jäsen
Viestit: 134
Liittynyt: La Maalis 17, 2012 14:43
ViestiLähetetty: Su Joulu 18, 2016 21:34
Minkälainen ultraäänianturi ?

Onko näyttää softaa, jolla saa mitan näkyviin.

Siis normaalin mitan, eikä muutosmittaa.

Edit - onko kyseessä tällainen härveli ?
http://ihmevekotin.fi/product/299_ultra ... ri-hc-sr04

Suomenkielistä tietoa löytyy kirjastosta: Sulautetut: Opi rakentamaan robotteja ja muita sulautettuja järjestelmiä.
Sivu 118-119
Luku 4 - Hyönteisrobotti

Kokelas
Kokelas
Viestit: 8
Liittynyt: Su Helmi 22, 2015 16:12
ViestiLähetetty: Ma Joulu 19, 2016 6:11
HC-SR04 Ultraääni anturi.
Arduinon perus koodi jolla mitataan etäisyyttä kohteseen(seinään).
Ei taida nyt oppikirjat auttaa minua tässä ideassa.

Jäsen
Jäsen
Viestit: 87
Liittynyt: La Helmi 05, 2011 14:40
ViestiLähetetty: Ma Joulu 19, 2016 8:46
dist1= ensimmäinen mittaus
dist2=toinen mittaus
deltadist=dist2-dist1
näytä deltadist

Tuon koodaat sinne väliin ja tulostat sen mihin ikinä sen datan nyt kuuluukin tulla.
Eikös? Ei tuo oppikirjaa tarvitse.

Kari
Espoo, Finland

Jäsen
Jäsen
Viestit: 134
Liittynyt: La Maalis 17, 2012 14:43
ViestiLähetetty: Ma Joulu 19, 2016 9:51
GaryP antoikin jo valmista pseudokoodia.

Jos et vieläkään keksi kuinka tehdä se, niin tarvinnet vähän opiskelua, jotta opit ohjelmoimaan.

Siispä siirry putkaan...
http://www.ohjelmointiputka.net/oppaat/ ... c_esittaja

http://www.ohjelmointiputka.net/oppaat/ ... cpp_ohj_01

Edit - Päivi Hietasen C++ ja Olio-ohjelmointi taitaa ampua vähän yli tarpeistasi (yli 800 sivua), mutta jos sen jaksat kahlata ymmärtäen, niin riittäneen ohjelmoinnin oppimiseen.

Kokelas
Kokelas
Viestit: 8
Liittynyt: Su Helmi 22, 2015 16:12
ViestiLähetetty: Ma Joulu 19, 2016 12:16
Tuossa olisi koko roskaläjä.

#include <NewPing.h>

#define TRIGGER_PIN 11
#define ECHO_PIN 12
#define MAX_DISTANCE 400
const int LED = 13; // LED-liitin
const int BUTTON = 7; // kytkimen input-liitin
int val = 0; // alustetaan val tallentamaan input-liittimen tilatieto
int old_val = 0 ; // val-muuttujan edellinen eli vanha arvo
int state = 0; //
float matka1 = 0;
float matka2 = 0;
float matka3 = 0;

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.

void setup() {
Serial.begin(9600);
pinMode (LED, OUTPUT); // LED output tilaan
pinMode (BUTTON, INPUT); // BUTTON
}

void loop() {
delay(50);
val = digitalRead(BUTTON); // luetaan input-arvo ja tallennetaan se
// tarkistetaan onko jotain muuttunut kytkimen tilassa
if((val == HIGH) && (old_val == LOW)) {
state = 1 - state;
delay(30); // viive millisekunneissa
}
old_val = val; // val on nyt vanha, joten tallennetaan se
if (state == 1) {
digitalWrite(LED, HIGH);
unsigned int uS = sonar.ping_cm();
float matka1 = (uS);// Tämä kait pitäisi tallentaa
//jonnekkin että ei muuttuisi
//Muutenkin virhettä pukkaa
float matka2 = (matka1);
float matka3 = matka2 - matka1();
Serial.print(matka3);// Tämä olisi tarkoitus saada näyttämään
// Matkan siirtymän, olkoon matka1 2m siirtymä 30cm Tulos olisi matka3 30cm
}
else {
digitalWrite(LED, LOW);
unsigned int uS = sonar.ping_cm();
Serial.print(uS);
Serial.println("CM");
}
}

Vanhempi jäsen
Vanhempi jäsen
Viestit: 400
Liittynyt: Pe Maalis 06, 2009 18:23
ViestiLähetetty: Ma Joulu 19, 2016 15:52
kalervo kirjoitti: if (state == 1) {
digitalWrite(LED, HIGH);
unsigned int uS = sonar.ping_cm();
float matka1 = (uS);// Tämä kait pitäisi tallentaa
//jonnekkin että ei muuttuisi
//Muutenkin virhettä pukkaa
float matka2 = (matka1);
float matka3 = matka2 - matka1();
Serial.print(matka3);// Tämä olisi tarkoitus saada näyttämään
// Matkan siirtymän, olkoon matka1 2m siirtymä 30cm Tulos olisi matka3 30cm
}

Jos nyt ymmärsin oikein, niin muuttaisin tuon ylläolevan näin:
Koodi: Valitse kaikki
if (state == 1) {
    digitalWrite(LED, HIGH);
    unsigned int uS = sonar.ping_cm();
    matka1 = uS;
    if(matka2 != 0){                             // Tässä tarkistetaan onko edellistä mittausta olemassa, jos
        matka3 = matka2 - matka1;      // on, niin lasketaan niiden erotus
    }
    matka2 = matka1;                // Tallennetaan viimeisin mittaus seuraavaa varten

    Serial.print(matka3);// Tämä olisi tarkoitus saada näyttämään
    // Matkan siirtymän, olkoon matka1 2m siirtymä 30cm Tulos olisi matka3 30cm
}

Tuolla sinun koodillasi matka3 olisi aina nolla, koska kopioit tuon matka1:n matka2:een ennen vähennyslaskun tekemistä. Lisäksi olit tuossa kopioinnissa määritellyt että matka1 on funktio?
Mille vehkeelle tuo koodi on? Arduino? En tiedä onko ihan oikein, mutta miksi noita muuttujien tyyppejä määritellään uudestaan kokoajan, ja miksi osa muuttujista on suluissa ja osa ei?
Arduino ei siis ole itselleni tuttu, jos tuo sille on.
Viimeksi muokannut L18 päivämäärä Ma Joulu 19, 2016 16:18, muokattu yhteensä 2 kertaa

Jäsen
Jäsen
Viestit: 87
Liittynyt: La Helmi 05, 2011 14:40
ViestiLähetetty: Ma Joulu 19, 2016 16:02
Tästähän se polku alkaa. :D :)

Itsellä on vähän tullut taukoa C:n kanssa, kiva kun joku muukin sitä täällä pyörittelee niin
saa vähän motivaatiota.

Eikä kannata lähteä sille linjalle että kysytään "miksi teit noin", asia ei välttämättä ole ihan vielä hallussa,
joten rakentava kritiikki hyvillä paranteluehdotuksilla on tosimiesten tapa auttaa. Tuolla arduinon
omalla foorumilla on eräs idiootti jolla on aina tapana lytätä uudet harrastajat, ei toisteta samoja virheitä.

Esittelu muuttujat valmiiksi koodin alussa, jatkossa voit siten vaan paukuttaa niille arvoja.

Mulla on nyt vähän huonosti ohjeita annettavaksi kun meinaa uni tulla silmään, mutta jospa huomenna
ymmärtäisi lukemansa paremmin.
:wink:

Kari
Espoo, Finland

Jäsen
Jäsen
Viestit: 87
Liittynyt: La Helmi 05, 2011 14:40
ViestiLähetetty: Ma Joulu 19, 2016 16:05
Ja "Code"-painikkeella jatkossa koodit niin saa vähän tolkkua kirjoitusasustakin
Koodi: Valitse kaikki
Koodi tänne

  Pitäisi toimia sisennyksetkin nätisi?
Espoo, Finland

Vanhempi jäsen
Vanhempi jäsen
Viestit: 400
Liittynyt: Pe Maalis 06, 2009 18:23
ViestiLähetetty: Ma Joulu 19, 2016 16:14
GaryP kirjoitti:Tästähän se polku alkaa. :D :)

Itsellä on vähän tullut taukoa C:n kanssa, kiva kun joku muukin sitä täällä pyörittelee niin
saa vähän motivaatiota.

Eikä kannata lähteä sille linjalle että kysytään "miksi teit noin", asia ei välttämättä ole ihan vielä hallussa,
joten rakentava kritiikki hyvillä paranteluehdotuksilla on tosimiesten tapa auttaa. Tuolla arduinon
omalla foorumilla on eräs idiootti jolla on aina tapana lytätä uudet harrastajat, ei toisteta samoja virheitä.

Esittelu muuttujat valmiiksi koodin alussa, jatkossa voit siten vaan paukuttaa niille arvoja.

Mulla on nyt vähän huonosti ohjeita annettavaksi kun meinaa uni tulla silmään, mutta jospa huomenna
ymmärtäisi lukemansa paremmin.
:wink:

Kari


Jaa, otsikossahan näköjään lukikin että arduino... :mrgreen:
Kyselin noista joistain jutuista lähinnä vain sen takia kun en tiedä sattuuko arduinossa olemaan jotain erityispiirteitä koodaamisen kanssa. :)

Jäsen
Jäsen
Viestit: 87
Liittynyt: La Helmi 05, 2011 14:40
ViestiLähetetty: Ma Joulu 19, 2016 22:06
Eipä siinä taida mitään erikoista olla, mutta meikäläisen kokemus loppuukin näissä laitteissa siihen.

Mun kokemukseni ovat hyviä, yksinkertaisia ratkaisuja, valmiita kirjastoja, omia oivalluksia jokunen,
mutta rajattu teho ja I/O-pinnien määrä ehkä pullonkaulana perus-Atmeleissa.

Olisi kiva saada kunnon keskustelua aikaiseksi, ilman ylenkatseita tai kauteutta kun joku
muu on jälleen kerran askeleen tai useammankin edellä. Meidän PiPi-ropotti saatiin jollain ihmeen ilveellä
joskus rakennettua jonkinsortin valmiuteen, mutta sitten lopahti into ja aika, osaaminen ei
riittänytkään enää.

L18, voitko tarkentaa, millaisia juttuja sinulla oli mielessä kun kysyit tuota?

Kari
Espoo, Finland

Vanhempi jäsen
Vanhempi jäsen
Viestit: 400
Liittynyt: Pe Maalis 06, 2009 18:23
ViestiLähetetty: Ma Joulu 19, 2016 23:23
GaryP kirjoitti:Eipä siinä taida mitään erikoista olla, mutta meikäläisen kokemus loppuukin näissä laitteissa siihen.

Mun kokemukseni ovat hyviä, yksinkertaisia ratkaisuja, valmiita kirjastoja, omia oivalluksia jokunen,
mutta rajattu teho ja I/O-pinnien määrä ehkä pullonkaulana perus-Atmeleissa.

Olisi kiva saada kunnon keskustelua aikaiseksi, ilman ylenkatseita tai kauteutta kun joku
muu on jälleen kerran askeleen tai useammankin edellä. Meidän PiPi-ropotti saatiin jollain ihmeen ilveellä
joskus rakennettua jonkinsortin valmiuteen, mutta sitten lopahti into ja aika, osaaminen ei
riittänytkään enää.

L18, voitko tarkentaa, millaisia juttuja sinulla oli mielessä kun kysyit tuota?

Kari


Siis, lähinnä mietin että onko noilla jokin funktio esim. kun aloittaja on joitakin muuttujia laittanut sulkeiden sisään koodissaan. Ei mitään kummempaa oikeastaan. Aina joskus haluaisi kokeilla arduinoakin kun se tuntuu olevan niin suosittu, mutta aina jotenkin palaan tuttuun ja turvalliseen picciin, jolle on tullut varmaan tuhansia rivejä koodia kirjoitettua. :mrgreen:
Mutta eipä se C-kieli taida paljoa erota eri laitealustojen välillä.

Jäsen
Jäsen
Viestit: 87
Liittynyt: La Helmi 05, 2011 14:40
ViestiLähetetty: Ti Joulu 20, 2016 4:55
Jaa, tarkoitat siis että kun muuttuja esitellään joka kerta uudestaan "privaatisti"? Ei kai siinä mitään järkeä ole, paitsi jos haluaa että sama muuttujanimi sisältää eri arvon sisäisien kutsujen välillä, joka on varmasti omiaan sotkemaan koodaajan ja koodia seuraavan henkilön ajatukset. :)

Itse esittelen muuttujia aika vapautuneesti heti ohjelman alussa, luon kaikille oman, lukuunottamatta apumuuttujia, joiden sisältö nollataan aina varmuuden vuoksi funktioiden alussa.

Ja nyt kannattaa huomioida että vaikka minulla on ohjelmoijan mieli, en ole silti mikään
hyvä esimerkki/taitava, edes uskottava. On niin monta tapaa päästä samoihin oikeisiin
lopputuloksiin, epäilen aina uutta koodia tulkitessani omaa älykkyyttäni jos en ymmärrä.

Jaottelen koodit aina selkeisiin omiin pikkuruisiin toimintayksiköihin joita kutsun tarvittaessa apuun,
On ollut pakko kehitellä omat tavat toimia kun viisi erduinoa keskustelee keskenään I2C-väylän
kautta ja yrittävät pysyä synkassa, tehdä omalla vuorollaan omat rutiininsa, antaa palautteen
pääpirulle (sirulle), ja jäävät sitten odottelemaan uusia ohjeita. Ja silti mättää vähän väliä.
Kun ymmärtäisi paremmin debuggausta, voisi ongelmat ratketa, epäilen monesti kuitenkin
sitä kilometrin johtohässäkkää sekä liitoksia informaatiokatkoista. Mutta mikään ei voi olla varmaa.

Kari
Espoo, Finland

Paluu Apua aloittelijoille

Paikallaolijat

Käyttäjiä lukemassa tätä aluetta: Ei rekisteröityneitä käyttäjiä ja 1 vierailijaa

cron