Arduino - projekti, ideje, savjeti, problemi izdvojena tema

poruka: 1.365
|
čitano: 442.334
|
moderatori: DrNasty, pirat, XXX-Man, Lazarus Long, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
Ova tema je sadržajno povezana sa sljedećim temama: Uvod u elektrotehniku (istosmjerna struja)
17 godina
moderator
online
Re: Arduino - projekti, ideje, savjeti, problemi

Backlight možeš uključivati/isključivati pomoću Arduina.

 

Backlight ekrana ti se napaja preko tog pina ili je taj pin samo za signal? Ako je samo za signal, onda nema problema, a ako se napaja, onda bi možda bilo pametno serijski spojiti 1K otpornik ili ubaciti tranzistor. Uglavnom, neki Arduinov digitalni pin spojiš na pin za backlight i softverski uključuješ/isključuješ backlight. Vrtiš petlju i kad se pritisne neki gumb, zapamtiš to vrijeme (iskoristiš funkciju millis() ). I onda u petlji provjeravaš je li ti millis() > vrijeme + 60*1000. Ako je, onda isključuješ backlight, odnosno spuštaš pin za backlight na LOW.

8 godina
neaktivan
offline
Re: Arduino - projekti, ideje, savjeti, problemi
8 godina
neaktivan
offline
Arduino - projekti, ideje, savjeti, problemi

Poštovani, stigao mi je Arduino Uno R3; spojim ga s USB kabelom u PC i Device Menageru NIŠTA. Nema ga ni u tragovima; čitam da je moguće problem u kabelu, ćipu drajverima ali ne znam, kupiš novo ne radi kao da sam uključio peglu. Ima li tko čisto i brzo rješenje ili da ga dam u oglasnik iako ne znam koja mu je cijena; ne bih htio pretjerati

 
0 0 hvala 0
17 godina
moderator
online
Re: Arduino - projekti, ideje, savjeti, problemi

Zato uvijek kupiš bar dvije komponente, pogotovo kad su tako jeftine (pretpostavljam da si kupovao izvana, preko eBaya ili nečeg sličnog). Jer najgora stvar je čekati 3-5 tjedana komponentu s kojom želiš nešto raditi pa da se onda ispostavi da je neispravna pa onda moraš čekati još toliko za drugu.

 

Koje Windowse imaš? Arduino IDE si instalirao? U Device Manageru znači nemaš žuti uskličnik kod ni jedne komponente, znači sve koje su prepoznate imaju i funkcionalni driver?

 

Verzija R3 je ona s CH340G čipom? Drivere za taj čip imašovdje (za slučaj da je problem u tome da ih Windowsi nisu sami povukli preko Windows Updatea).

 

Uzmeš drugi kabel. Ako ne radi ni s njim, spojiš ga na drugo računalo, s Windowsima 7 ili novijima. Ako ni tamo ne radi, onda je vjerojatno riječ o defektnom primjerku pa tražiš povrat love i odložiš ga u tehnički otpad.

8 godina
neaktivan
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Hvala na savjetu,

Imam windows 10, IDE sam instalirao, prvi čip iza Usb-a ima oznaku : ATMEL MEGA 16U2, Veliki čip( microcontroler ) Atmel 328. Inače sad moram čekati drugi Arduino da bih vidio što ne valja, čitam savjete ostalih ali oni očito znaju što rade. Kad dodje drugi arduino dobit ću novi usb kabel pa ću probat. Ja nisam spajao vanjsko napajanje ali mislim da bi za prvi uplaud trebao ici samo s USB kabelom; pri uplaudu mi crvenim slovima piše da nije nešto sinhronizirano. Svejedno hvala na savjetu, ako bude i novi tako blesav odustajem makar mi je privlačno napraviti neki projekt. Prvo sam htio koristiti Arduino i gsm modul za uključivanje pumpice za navodnjavanje povrća na daljinu veću od 3 Km pa je to jedini način. Još jednom hvala

14 godina
neaktivan
offline
Re: Arduino - projekti, ideje, savjeti, problemi
Jesi li odabrao dobar port na koji ti je spojen Arduino?

U Windows aplikaciji odi na Tools i zatim pronađi izbornik Port. Tamo odaberi ponuđeni port. Ako je zasivljen i ne dozvoljava odabir onda imaš problem.
Stručnjak za odmaganje...
17 godina
moderator
online
Re: Arduino - projekti, ideje, savjeti, problemi
neznalica totalna kaže...

pri uplaudu mi crvenim slovima piše da nije nešto sinhronizirano.

Kao što kolega reče - možda nisi odabrao port ili si odabrao krivi port. Što u Arduino IDE-u imaš pod Tools > Port? Ako imaš samo COM1 onda znači da ti računalo nije prepoznalo pločicu. Ako imaš i još neki drugi port, onda vjerojatno jest. To možeš provjeriti tako da ištekaš USB kabel UNO-a - ako ti je sad taj port nestao, onda znači da ti je upravo Arduino UNO spojen na taj port. Onda ga ponovno spojiš i odabereš upravo taj port.

 

Također, jesi za ploču pod Tools > Board odabrao Arduino/Genuino Uno?

8 godina
neaktivan
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Ovako, pod port piše COM9 i ništa više, uključio USB ili ne ništa se ne dogadja. Nemojte se više zamarati mojom pločicom dok ne dodje nova a onda ćemo vidjeti. Puno vam hvala

8 godina
neaktivan
offline
Re: Arduino - projekti, ideje, savjeti, problemi

dali ti kad spojiš USB gori ON led trebalo bi biti otprilike ovako kao na slici ,koji IDE koristiš probaj sa nekim drugim nemoraš ga instalirati skini ZIP bez instalacije i otvori u bilo kojem folderu,daj malo ako možeš pošalji sliku ekrana da vidimo što se događa.....

 dali ti ispisuje ovu grešku kod provjere pločice

http://stackoverflow.com/questions/34623970/solved-updated-cannot-upload-sketches-to-arduino-uno-r3-avrdude-stk500-r

Poruka je uređivana zadnji put pon 27.3.2017 17:43 (morski21).
8 godina
neaktivan
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Dečki hvala, inače kad ga prikopčam na bilo koji USB na PCu ništa se nije dogadjalo; gorile su LED diodu zelena stalno, narančasta je pravilno treptala. Prije pol ure prijatelj mi je donio usb kabel od printera i uDevice menageru se pojavio arduino i novi port 10. Uspio je upload i sad ću čekati novi arduino i novi kabel stvar gotova. Ako imate tutorijal za gsm modul i uključivanje s arduinom jedan relay po mogućnosti pozivom a ne SMSom 

Pozdrav s Krka

14 godina
odjavljen
offline
Arduino - projekti, ideje, savjeti, problemi

Napravio sam kod za senzora brzine(digitalni hall senzor).

Dakle kod izgleda ovako

 

Pod setup() sam stavio

attachInterrupt(digitalPinToInterrupt(_PIN_BRZINA), _brzina_detektirao, RISING);

 

U _brzina_detektirao() je

void _brzina_detektirao()
{
    _brzina = 1000 / (millis() - _brzina_vrijeme) * _OPSEG_KOTACA * 3.6;          
    _brzina_vrijeme = millis();   
    _kilometraza++;
    _kilometraza_B++;
    _prosjek_kilometraza++;     
}

 

 

 

A varijable koje koristim sam definirao kao volatile unsigned long, jer mi treba što veća količina informacija koju može zadržati(tipa za kilometražu). _brzina je definirana kao byte.

Pa je moje pitanje dal se smije koristiti millis() u ISR-u? Trenutno čekam da mi stigne senzor(sutra će vjerojatno), pa ne mogu nikako testirati.

 

 

@ Ovaj drugi primjer je bolji, jer izračun brzine vrši kod prikazivanja iste(svake sekunde)

 

void _brzina_detektirao()
{
    _okret_trajanje = millis() - _brzina_vrijeme;          
    _brzina_vrijeme = millis();   
    _kilometraza++;
    _kilometraza_B++;
    _prosjek_kilometraza++;     
}

 

 

 

 

 

 

 

 

 

 

Poruka je uređivana zadnji put ned 9.4.2017 18:05 (Dex.pwn).
 
0 0 hvala 0
8 godina
neaktivan
offline
Re: Arduino - projekti, ideje, savjeti, problemi
Bok,

ima netko iskustva s mjerenjem temperature? Koji je najbolji senzor, cijena nije toliko bitna, ali mi je vazno da je razlucivanje na 0.01 ili bolje (ako je moguce)?
 
0 0 hvala 0
17 godina
moderator
online
Re: Arduino - projekti, ideje, savjeti, problemi
biedronka kaže...
ima netko iskustva s mjerenjem temperature? Koji je najbolji senzor, cijena nije toliko bitna, ali mi je vazno da je razlucivanje na 0.01 ili bolje (ako je moguce)?

Dosad sam se susreo samo s dva senzora temperature. Inače koristim DS18B20 (PDF datasheet), koji ima do 12-bitnu preciznost, odnosno može mjeriti u koracima po 0.0625 stupnjeva C. On je jeftin, lako dostupan, može ga se kupiti golog ili u vodootpornom kućištu.

 

Tebi očito treba nešto profesionalno, recimo ADS1248, koji košta desetak dolara, a kojeg, čini se, nije baš tako jednostavno iskoristiti.

15 godina
offline
Re: Arduino - projekti, ideje, savjeti, problemi
Ili pt100 sa kvalitetnim kontrolerom, ali to je jako skupo
Moj PC  
0 0 hvala 0
14 godina
odjavljen
offline
Re: Arduino - projekti, ideje, savjeti, problemi
mbaksa kaže...
biedronka kaže...
ima netko iskustva s mjerenjem temperature? Koji je najbolji senzor, cijena nije toliko bitna, ali mi je vazno da je razlucivanje na 0.01 ili bolje (ako je moguce)?

Dosad sam se susreo samo s dva senzora temperature. Inače koristim DS18B20 (PDF datasheet), koji ima do 12-bitnu preciznost, odnosno može mjeriti u koracima po 0.0625 stupnjeva C. On je jeftin, lako dostupan, može ga se kupiti golog ili u vodootpornom kućištu.

 

Tebi očito treba nešto profesionalno, recimo ADS1248, koji košta desetak dolara, a kojeg, čini se, nije baš tako jednostavno iskoristiti.

 

Taj DS18B20, jel se može TX, ili RX koristiti za njega(data pin)?

17 godina
moderator
online
Re: Arduino - projekti, ideje, savjeti, problemi
Dex.pwn kaže...
Taj DS18B20, jel se može TX, ili RX koristiti za njega(data pin)?

Vjerojatno može. Samo što ti onda možda ni jedan dio koda ne bi smio imati uključenu biblioteku za serijsku komunikaciju jer brijem da ona stavlja pullup na te pinove (ne znam koliko je to - oko 20K možda?), a DS18B20 traži pullup otpornik od 4,7K.

8 godina
neaktivan
offline
Re: Arduino - projekti, ideje, savjeti, problemi

To u principu znači da se ne koristi Arduino?

14 godina
odjavljen
offline
Re: Arduino - projekti, ideje, savjeti, problemi
biedronka kaže...

To u principu znači da se ne koristi Arduino?

 

 

Ne.

15 godina
offline
Arduino - projekti, ideje, savjeti, problemi

Sad kad imam vremena, da malo objasnim:

pt100 sonda sa omronovim kontrolerom(ne sjecam se vise modela, uglavnom +-0.015°C) je stvarno vrh vrhova, naravno cijena je isto paprena, sad moras procjeniti dal ti se isplati a tvoju primjenu, ali moja iskustva kazu da je ta kombinacija za 95% primjena odradi svoj posao vrhunski. 

Naravno cijena paprena za hobby primjenu, 200-300 dolara

Poruka je uređivana zadnji put čet 13.4.2017 1:01 (CroNk3r).
Moj PC  
0 0 hvala 0
14 godina
odjavljen
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Stigli digitalni hall senzori.

Spojio sve, ubo novi kod, detektira fino, al opet ima onaj problem.

Dole je fotka s debug podacima, i dole je kod. Sve detektira kako treba, al' Arduino kao da je glup pa ne zna izračunati brzinu.

 

 

    // BRZINA BICIKLA
    if(millis() - _brzina_refresh_vrijeme >= 1000) // AKO JE PROŠLO SEKUNDU OD PROŠLOG PRIKAZA BRZINE
    {
    if(_okret_trajanje != 0)
    {
         _brzina = ((1000 / _okret_trajanje) * _OPSEG_KOTACA) * 3.6; // FORMULA PO KOJOJ RAČUNA BRZINU

      // DEBUGANJE PODATAKA
         Serial.println(_okret_trajanje);
         Serial.println(_brzina);
         Serial.println("\n");

         _brzina_refresh_vrijeme = millis();
         _okret_trajanje = 0;
         _vrijeme_na_bajku++;

         if(_brzina < 99)
         {
          _brzina_ukupno += _brzina;
          _brzina_uzeo++;
          _osvjezi = true;
          _krecese = true;
          _aktivan_vrijeme = _vrijeme;

          if(_brzina > _maks_brzina) _maks_brzina = _brzina;
     
          display.setCursor(_EKRAN_BRZINA_X, _EKRAN_BRZINA_Y);
          display.setTextSize(_EKRAN_BRZINA_VELICINA);
          sprintf(_tekst, "%.02d km/h", _brzina);
          display.println(_tekst);
      }
    }
    else if(_krecese == true)
    {
         display.setCursor(_EKRAN_BRZINA_X, _EKRAN_BRZINA_Y);
         display.setTextSize(_EKRAN_BRZINA_VELICINA);
         display.println("00 km/h");
         _osvjezi = true;
         _krecese = false;     
    }                 
    }

 

 

 

_brzina je definirana kao byte,

_OPSEG_KOTACA je 2.35619449019 // OPSEG KOTAČA

 

Eh, sad ja uzmem tu formulu, otiđem na Google, u uvrstim podatke.

Uzmem recimo da je jedan okretaj trajao 1586 ms, znači formula s uvrštenim podacima izgleda ovako

_brzina = ((1000 / 1586) * 2.35619449019) * 3.6;

ko to uvrstim u Google(kalkulator dakle), dobijem 5.35 km/h. Onda pogledam u debug, i vidim da je on izračunao brzinu da mu je 0.

Ili ak uzmem da je jedan okretaj trajao 253 ms, dobijem brzinu od 33.53 km/h, a on to vidi kao 25 km/h.

Kako je to moguće?

 

 

 

 

 

 

 

 

Poruka je uređivana zadnji put čet 13.4.2017 14:21 (Dex.pwn).
17 godina
moderator
online
Re: Arduino - projekti, ideje, savjeti, problemi

Odgovaraš na moj komentar pa valjda očekuješ da ti ja odgovorim. Već u nekoliko navrata sam ti rekao da neću čitati kôd u kojem manje-više svi identifikatori počinju s podvlakom (_). Ako ti možeš biti toliko tvrdoglav, znaj da ja mogu biti još više.  Također, čemu plahte kôda ovdje unutar poruka, kad mogu biti puno pristupačnije na https://codeshare.io ?

14 godina
odjavljen
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Nadam se da Pastebin prolazi 

 

https://pastebin.com/bL8LjSAz

 

17 godina
moderator
online
Re: Arduino - projekti, ideje, savjeti, problemi

Znaš što znači byte? Vrijednost između 0 i 255 - bez decimalnog dijela. A tebi treba i decimalni dio, zar ne? Znači, mora biti

float brzina = 0;

 

Ako si pak išao s onim da držiš brzinu kao cijeli broj pomnožen sa 100, onda ti je byte premali, jer ti omogućuje držanje maksimalne brzine 2,55 km/h. Onda ti treba unsigned int.

 

Nadalje, imaš:

brzina =(1000/ okret_trajanje)* OPSEG_KOTACA *3.6;

Koliko je meni poznato, tu ti je prvi operand cijeli broj i onda se dalje računa kao da radiš cjelobrojne operacije, ne? Tako da ako ti je okret_trajanje > 511, brzina ti ispadne, očekivano, nula, jer ti je onda 1000/okret_trajanje 0, a sve što množiš s nulom je nula. Dakle, tu bi trebalo biti:

brzina =(1000./ okret_trajanje)* OPSEG_KOTACA *3.6;

 

Mislim da bi to trebalo biti dovoljno, a ako ni to ne pomaže, onda napravi typecast na više od tih operanda, znači nešto tipa:

brzina =(1000./ float(okret_trajanje))* float(OPSEG_KOTACA) * 3.6;

Poruka je uređivana zadnji put čet 13.4.2017 16:08 (mbaksa).
14 godina
odjavljen
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Hvala. To sam prebacio dok sam čekao odgovor.

Izbjegavao sam float jer si ti nešt spominjao da Nano nema nešto u procesoru za dec. brojeve, da mora softwareski rješavati decimale.

Sad jedino ak imaš nekakvu ideju kako napraviti da prikaže brzinu za koju je potreban okretaj kotača duži od 1000ms.

Trenutno prikazuje brzinu svake sekunde, ali je problem taj što onda minimalna brzina mora biti 8 km/h(2.35619449019 * 3.6, u slučaju kada je za jedan okretaj potrebno 1000 ms).

 

17 godina
moderator
online
Re: Arduino - projekti, ideje, savjeti, problemi

Možeš ti i dalje izbjegavati float, samo onda koristi dovoljno velike cjelobrojne tipove i prvo množi pa onda dijeli.

 

Recimo da idemo na sigurno pa da onda imaš:

long brzina = 0;

 

I onda dalje imaš:

brzina =1000 * OPSEG_KOTACA *3.6 / okret_trajanje;

 

Kako ti izgleda OPSEG_KOTACA?

14 godina
odjavljen
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Opseg je 2.35619449019 m

Tipa da uzmem 235612

17 godina
moderator
online
Re: Arduino - projekti, ideje, savjeti, problemi

Nije mi u prošloj poruci došlo do glave da je i 3.6 decimalni broj...

 

Onda ti znači može biti:

brzina = 235612 * 36 / okret_trajanje / 1000;

14 godina
odjavljen
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Hvala, isti je rez.

Sad je sve tip-top. Samo da naručim još 20-ak m žice, i ostatak šminke :D

17 godina
moderator
online
Re: Arduino - projekti, ideje, savjeti, problemi

Na kraju će ti beciklin težiti dvajst kila pa ćeš još morati ugraditi i elektromotor. 

8 godina
neaktivan
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Hvala na savjetima. Mislim da ću se probat poigrat s AD pretvornikom pa javim rezultate. Za sada mi se to čini kao bolja opcija.

Poruka je uređivana zadnji put čet 13.4.2017 23:58 (biedronka).
Ova tema je sadržajno povezana sa sljedećim temama: Uvod u elektrotehniku (istosmjerna struja)
Nova poruka
E-mail:
Lozinka:
 
vrh stranice