Arduino - projekti, ideje, savjeti, problemi izdvojena tema

poruka: 1.365
|
čitano: 384.062
|
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)
16 godina
moderator
offline
Re: Arduino - projekti, ideje, savjeti, problemi
CroNk3r kaže...
U teoriji bi se moglo 1024 spojiti, al realno nekih 100 mislim da bi max moglo uz dobre otpornike(ali da preko 50 ne bi bilo dobro bas ici zbog smetnja i slicnih stvari).

Probao sam max 10 komada.

Kak se onda kreću vrijednosti analognog ulaza? Ne variraju previše? Što se događa kad padne napon? Kod promjene temperature? S nekoliko gumbiju ne vidim problem, ali s puno njih bi moglo biti problema.

 

Također, kako dolaziš do vrijednosti? Testiraš svaki pojedini gumb, pa onda prema tome pišeš kôd? Ak imaš puno gumbiju i u projektu ti otiđe jedan otpornik pa ga zamijeniš drugim iste nazivne vrijednosi to može rezultirati prepoznavanjem krivog gumba, ako su vrijednosti (bile) rubne.

 

Moram reći da mi se to rješenje nimalo ne sviđa za ozbiljniju primjenu. Za nekoliko gumbiju fora, ali za više toga... Mislim da bi takve stvari u praksi trebalo izbjegavati - na kraju krajeva, gumbi su digitalni ulazni elementi, a ovo je nepotrebno uvođenje analognog signala.

 

CroNk3r kaže...
Ne mozes vise tipki istovremeno jer to radi na temelju djelila napona.

Zapravo ispada da se može, samo što treba pažljivo odabrati vrijednosti otpornika (dvostruko veći od susjednog), pri čemu otpornici moraju biti spojeni paralelno na izvor struje, a ne serijski. Primjer imaš ovdje. Ja sam probao istu stvar (samo s dva gumba doduše), ali s internim pullup otpornikom, a gumbe sam spajao pull-down otpornicima (1k i 2k) i stvar funkcionira - kad se pritisnu oba, dobi se vrijednost koja manja i od prvog i drugog gumba (39, 64, oba: 30), očito zato jer je i otpor manji. Netko je inače spomenuo da uz takvo stavljanje vrijednosti otpornika (R-2R) mogao bi pouzdano imati 8 gumbiju (i od svakog individualno registrirati pritisak). Naravno, kod onog spajanja koje si ti spominjao mogao bi imati daleko više, ali onda ne možeš registrirati individualne gumbe.

 

CroNk3r kaže...
EDIT: evo slika jedna

I meni kao početniku je jasno da ti ta shema ne funkcionira.

 

Poruka je uređivana zadnji put ned 15.2.2015 18:03 (mbaksa).
14 godina
offline
Re: Arduino - projekti, ideje, savjeti, problemi
mbaksa kaže...

Kak se onda kreću vrijednosti analognog ulaza? Ne variraju previše? Što se događa kad padne napon? Kod promjene temperature? S nekoliko gumbiju ne vidim problem, ali s puno njih bi moglo biti problema.

Također, kako dolaziš do vrijednosti? Testiraš svaki pojedini gumb, pa onda prema tome pišeš kôd? Ak imaš puno gumbiju i u projektu ti otiđe jedan otpornik pa ga zamijeniš drugim iste nazivne vrijednosi to može rezultirati prepoznavanjem krivog gumba, ako su vrijednosti (bile) rubne.

Moram reći da mi se to rješenje nimalo ne sviđa za ozbiljniju primjenu. Za nekoliko gumbiju fora, ali za više toga... Mislim da bi takve stvari u praksi trebalo izbjegavati - na kraju krajeva, gumbi su digitalni ulazni elementi, a ovo je nepotrebno uvođenje analognog signala.

 

Zapravo ispada da se može, samo što treba pažljivo odabrati vrijednosti otpornika (dvostruko veći od susjednog), pri čemu otpornici moraju biti spojeni paralelno na izvor struje, a ne serijski. Primjer imaš ovdje. Ja sam probao istu stvar (samo s dva gumba doduše), ali s internim pullup otpornikom, a gumbe sam spajao pull-down otpornicima (1k i 2k) i stvar funkcionira - kad se pritisnu oba, dobi se vrijednost koja manja i od prvog i drugog gumba (39, 64, oba: 30), očito zato jer je i otpor manji. Netko je inače spomenuo da uz takvo stavljanje vrijednosti otpornika (R-2R) mogao bi pouzdano imati 8 gumbiju (i od svakog individualno registrirati pritisak). Naravno, kod onog spajanja koje si ti spominjao mogao bi imati daleko više, ali onda ne možeš registrirati individualne gumbe.

I meni kao početniku je jasno da ti ta shema ne funkcionira.

 

Da, slazem se s tim da je neprakticno rjesenje, al jako dobro posluzi kad ponestane digitalnih ulaza, do vrijednosti se dolazi cisto matematicki, ako imas 6 tipki(najlakse za objasnit) onda si izracunas:

1024/5= cca 205

u zagradi su vrijednosi za koje je kojia tipka na analognom ulazu

1. 0V - 0(0-102)

2. 1V - 205(103-307)

3. 2V - 410(308-515)

4. 3V - 615(517-720)

5. 4V - 820(721-924)

6. 5V - 1024(925-1023)

Otprilike popunjeno, trebalo bi biti shvatljivo kako radi.

Do tih vrijednosti se dolazi lako jer ti svaki otpornik daje isti pad napona(u teoriji, u praksi male razlike postoje), i onda samo iscitavas napone, arduino moze citati od 0-5V(on te napone izrazava od 0-1023)

 

 

U tom slucaju bi se moglo dogoditi da ako imas previse gumbova da ti dode do toga da npr pritisnes 2 najveca otpora i on ti prepozna jedan od onih ispod umjesto tvoja 2, tako da to smatram kao najgori moguci nacin za spajanje, rade bi imao mogucnost samo 1 tipke nego to.

 

 

Da, u pravu si, shema ne radi, fali 5V na prekidacima, nisam ni primjetio, na brzinu sam stavio prvu sliku koja mi se cinila piblizno ista...

My bad 

:D
12 godina
neaktivan
offline
Arduino - projekti, ideje, savjeti, problemi

Jako nespretno rješenje. Osobno preferiram matrice, pogotovo u kombinaciji s nekim registrom/expanderom i dekoderom. Npr. MCP23017, expander sa 16 I/O pinova može poslužiti za 8x8 matricu switcheva (potrebna su mu samo dva pina).

Poruka je uređivana zadnji put pon 16.2.2015 0:18 (paradajz).
 
1 0 hvala 1
16 godina
moderator
offline
Re: Arduino - projekti, ideje, savjeti, problemi
paradajz kaže...

Jako nespretno rješenje. Osobno preferiram matrice, pogotovo u kombinaciji s nekim registrom/expanderom i dekoderom. Npr. MCP23017, expander sa 16 I/O pinova može poslužiti za 8x8 matricu switcheva (potrebna su mu samo dva pina).

Baš sam te htio pitati što je s istovremenim pritiskom više gumbiju i ghostingom kod matrica, jer ih dosad nisam koristio, a onda sam našao ovu stranicu koja sve to detaljno razlaže.

9 godina
neaktivan
offline
Arduino - projekti, ideje, savjeti, problemi

Pozdrav svima,

 

Imam Arduino Uno R3. Problem je što ga uopće nemogu naći u Device Manageru, dok ostale ArduinoU prikazuje bez problema, a radi ovoga vjerojatno nemogu ni kod učitati. Drugi problem je L ledica, čim ga spojim na PC, pali se i tako konstantno svijetli dok ne odspojim Arduino. Pa jel netko već imao istih ili sličnih problema, pa da je rješio??

Hvala

MHugo

 
0 0 hvala 0
16 godina
moderator
offline
Re: Arduino - projekti, ideje, savjeti, problemi
maliHugo kaže...

Imam Arduino Uno R3. Problem je što ga uopće nemogu naći u Device Manageru, dok ostale ArduinoU prikazuje bez problema, a radi ovoga vjerojatno nemogu ni kod učitati.

Koji USB čip/kontroler imaš na njemu? Možda CH340G? Jesi instalirao driver za njega?

 

Ako nije stvar drivera, onda je možda stvar booloadera? Pomoću drugog Arduina na ovog zapeci Arduino bootloaderhttp://arduino.cc/en/Tutorial/ArduinoISP

 

maliHugo kaže...

Drugi problem je L ledica, čim ga spojim na PC, pali se i tako konstantno svijetli dok ne odspojim Arduino.

To bi značilo da se vrti neki program koji tu ledicu drži upaljenom, umjesto uobičajenog programa Blink.

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

Pozdrav,

 

a imam onaj drugi ATMEGA16U2( http://image.dhgate.com/albu_263409408_00-1.0x0/the-arduino-uno-atmega328p-pu-2011-version.jpg )
sve je radilo normalno i odjednom neda uploadat,L lampa gori, nema ga u device man. , a ostale sve normalno rade, pa sumnjam da je do drivera...
Probati ću s ovim za bootloader pa javim.

 

Hvala puno

12 godina
neaktivan
offline
Re: Arduino - projekti, ideje, savjeti, problemi
mbaksa kaže...
paradajz kaže...

Jako nespretno rješenje. Osobno preferiram matrice, pogotovo u kombinaciji s nekim registrom/expanderom i dekoderom. Npr. MCP23017, expander sa 16 I/O pinova može poslužiti za 8x8 matricu switcheva (potrebna su mu samo dva pina).

Baš sam te htio pitati što je s istovremenim pritiskom više gumbiju i ghostingom kod matrica, jer ih dosad nisam koristio, a onda sam našao ovu stranicu koja sve to detaljno razlaže.

 

Da, obična 1N4148 na svakom prekidaču. ;)

16 godina
moderator
offline
Re: Arduino - projekti, ideje, savjeti, problemi
maliHugo kaže...

Probati ću s ovim za bootloader pa javim.

Prvo probaj staviti bootloader. Ako ti ga ni onda neće prepoznavati, onda stavi Blink program na njega istom metodom (da ga programiraš preko drugog Arduina, samo što onda nećeš ići na Burn Bootloader, nego ćeš kompajlirati program Blink, ali uz držanje tipke Ctrl ili još bolje odabirom File > Upload using programmer).

 

E sad - ako će ti nakon toga na njemu raditi program Blink, to bi značilo da ti nešto nije u redu sa USB kontrolerom, odnosno 16u2 čipom, jer se 328p kao takav može programirati. Ako ga pak ni na taj način ne uspiješ programirati, onda je vjerojatno pločica gotova/spaljena/štoveć.

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

Evo i jednog od mojih projekta. Uskoro ću staviti i još par stvari na kojima radim/sam radio.

 

Radi se o jednostavnom Bluetooth prekidaču s kojim se pomoću smartphone-a može paliti i gasiti računalo. Komponente su: Arduino Mini Pro, HC06 Bluetooth modul i 5V relej.

 

To je malo pojednostavljenija verzija prekidača kakav sam ugradio na svoj motor.

 

Ako kome treba kod i pinout, recite pa ću i to postaviti.

 

 

Professional Case and PC modder. Sponsored by: CoolerMaster,Inter-tech,ASBIS, LD Cooling, MG Vrbanus , iShop,Noiseblocker,Shuttle,In Win, Enermax, EKWB, ASUS,Lamptron, Aquatuning
Moj PC  
6 0 hvala 1
9 godina
neaktivan
offline
Re: Arduino - projekti, ideje, savjeti, problemi
mbaksa kaže...
maliHugo kaže...

Probati ću s ovim za bootloader pa javim.

Prvo probaj staviti bootloader. Ako ti ga ni onda neće prepoznavati, onda stavi Blink program na njega istom metodom (da ga programiraš preko drugog Arduina, samo što onda nećeš ići na Burn Bootloader, nego ćeš kompajlirati program Blink, ali uz držanje tipke Ctrl ili još bolje odabirom File > Upload using programmer).

 

E sad - ako će ti nakon toga na njemu raditi program Blink, to bi značilo da ti nešto nije u redu sa USB kontrolerom, odnosno 16u2 čipom, jer se 328p kao takav može programirati. Ako ga pak ni na taj način ne uspiješ programirati, onda je vjerojatno pločica gotova/spaljena/štoveć.

 Probao sam, i sad kad se pali L dioda prvo blinka , i ugasi se i nakon par sekundi opet se vraca na staro... iako nema smisla kad probam uploadat novi program ovo mi izbaci:


Sketch uses 450 bytes (1%) of program storage space. Maximum is 32,256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2,039 bytes for local variables. Maximum is 2,048 bytes.
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x20
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x30
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x20

16 godina
moderator
offline
Re: Arduino - projekti, ideje, savjeti, problemi
maliHugo kaže...
 Probao sam, i sad kad se pali L dioda prvo blinka , i ugasi se i nakon par sekundi opet se vraca na staro... iako nema smisla kad probam uploadat novi program ovo mi izbaci:



Sketch uses 450 bytes (1%) of program storage space. Maximum is 32,256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2,039 bytes for local variables. Maximum is 2,048 bytes.
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x30

To je tipični slučaj kad nemaš instaliran bootloader ili možebitno kad instaliraš bootloader za krivu ploču.

 

Znači, korištenjem jednog Arduina (na kojeg staviš program Arduino as ISP) na ovaj problematični (ponovno) zapečeš bootloader za tu problematičnu ploču (dobro pazi što ti je odabrano za ploču) i nakon toga bi ga trebao moći normalno programirati preko USB-a. Ako ti ni sad ne uspije, onda ga probaj baš programirati preko drugog Arduina, znači da direktno na njega kompajliraš i uploadaš neki program (što će ti prebrisati eventualni postojeći bootloader).

 

Pazi u čem je stvar - kad god radiš takve stvari, moraš biti siguran da ti je prvi Arduino programiran kao ISP i da ga slučajno nisi "otprogramirao"! Znači, nakon što prvi Arduino programiraš da bude ISP, dok je on spojen više ne smiješ pokrenuti obično programiranje jer ćeš time s njega izbrisati ISP i na njega staviti program kojim si mislio programirati drugi Arduino, nego ga obavezno moraš programirati preko File > Upload using programmer.

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

Mislim da je problem ipak u chipu koji komunicira izmedu atmelovog chipa i usb-a.

Imao sam vise puta taj slucaj i stavio sam bootloader, ali nista ne pomaze(ja sam radio USBasp programerom.)

:D
16 godina
moderator
offline
Re: Arduino - projekti, ideje, savjeti, problemi
CroNk3r kaže...

Mislim da je problem ipak u chipu koji komunicira izmedu atmelovog chipa i usb-a.

Imao sam vise puta taj slucaj i stavio sam bootloader, ali nista ne pomaze(ja sam radio USBasp programerom.)

Nisam te tu sad skužio - takav Arduino više uopće onda nisi mogao koristiti? Jesi ga probao programirati preko drugog Arduina (preko ISP-a)? Poanta je pokušati ga programirati tako - ako ga se uspije tako programirati, onda znači da Arduino pločica kao takva radi, ali ne radi USB->serial čip. Ako ga ni na taj način nije moguće programirati, onda znači da je neki ozbiljni problem s pločicom ili je oštećen sâm 328 čip.

 

Ja sam imao nekoliko Arduino Pro Minija koje nikako i nikako nisam mogao programirati preko USB-a (preko ni jednog USB->serial adaptera), ali sam ih sve uspijevao programirati preko Croduina na kojeg sam stavio program Arduino as ISP, odnosno Croduino je služio za za programiranje samog 328 čipa. Onda mi je poslije došlo do glave da je možda s tim nekim Pro Minijima problem to što nemaju bootloadere (napravio sam tu grešku da sam pretpostavio da svi imaju bootloadere, što nije bio slučaj - ili je pak bio slučaj, ali eksperimentiranjem s USB programatorima koji nisu imali DTR pin pa onda onda programiranjem preko Croduina nehotično sam im prebrisao bootloadere). Uglavnom, kad sam skužio što im je, tj. da nemaju bootloadere, stavio sam na njih bootloadere i svi do jednog su se nakon toga uredno dali programirati preko USB-a (tj. preko USB->serial adaptera). Mada, kad imaju bootloader dulje vremena im treba da se pokrenu. Tako da Arduino bootloader zapravo ima smisla držati na razvojnim verzijama, ali kad si završio s razvojem onda bi u nekim slučajevima možda bilo bolje na pločicu program direktno zapisati (da se prebriše bootloader), baš radi bržeg pokretanja.

 

Naravno, ne kažem isključujem u vašim slučajevima mogućnost problema s USB čipom, samo velim da to treba ispitati, a nisam siguran da će se kolega snaći s tim. Hoću reći da morate uspješno programirati i/ili zapisati bootloader preko drugog Arduina (preko Arduino as ISP programa) da se sami uvjerite da taj postupak ispravno provodite i onda kad ste 100% sigurni u to, onda treba ići pokušati na identičan način instalirati bootloader na "pokvarenu" Arduino pločicu.

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

Meni se je na prvom arduinu kojeg sam imao bas taj chip za usb serijsku vezu pokvario i onda sam nabavio USBasp programer tako da mogu programitar atmega328 direktno, kad mi se ista stvar dogodila na Arduino Mega, predpostavio sam da je isti problem i nisam ni pokusavao bootloader, budem sad probao, pa tko zna, mozda spasim koji od arduina koji stoje u kutiji 

:D
Moj PC  
0 0 hvala 0
13 godina
offline
Re: Arduino - projekti, ideje, savjeti, problemi
Ma problem je taj što vam je novi FTDI driver na sve FT232 čipove koji nisu original stavio PID na 0000 te onda windowsi neznaju što bi radili.

Jedino rješenje je flashanje original PID-a preko FT proga,ali morate prvo ručno instalirati starije drivere.
Proguglajte i vidjet ćete hrpu takvih slučajeva
robimarko@gmail.com
16 godina
moderator
offline
Re: Arduino - projekti, ideje, savjeti, problemi
robimarko kaže...
Ma problem je taj što vam je novi FTDI driver na sve FT232 čipove koji nisu original stavio PID na 0000 te onda windowsi neznaju što bi radili.

Kod maliHugoa to sigurno nije problem jer na ploči nema FTDI čip nego 16u2. Ujedno, danas svi jeftiniji klonovi imaju CH340G čip. Što ima CroNk3r, to mora sam pogledati i reći.

 

CroNk3r kaže...

Meni se je na prvom arduinu kojeg sam imao bas taj chip za usb serijsku vezu pokvario i onda sam nabavio USBasp programer tako da mogu programitar atmega328 direktno, kad mi se ista stvar dogodila na Arduino Mega, predpostavio sam da je isti problem i nisam ni pokusavao bootloader, budem sad probao, pa tko zna, mozda spasim koji od arduina koji stoje u kutiji 

Nisam zapravo išal gledat što je USBasp programer, mislio sam da se radi o USB->serial adapteru. Da, to je u osnovi isto kao da ga ideš programirat preko drugog Arduina. Ako nije bootloader, onda, kao što je robimarko spomenuo, stvarno može biti fejk FTDI čip (ili čip prepoznat kao fejk), ako imaš FTDI čip na njemu.

 

Mene su ti problemi zaobišli jer u vrijeme kad je FTDI držao maliciozni driver na Windows Updateu nisam koristio Croduino pa niti su mi se instalirali maliciozni driveri, niti su mi driveri uništili Croduino pločicu.

 

Poruka je uređivana zadnji put sub 28.2.2015 17:40 (mbaksa).
13 godina
offline
Re: Arduino - projekti, ideje, savjeti, problemi
Ma moj klon Nanoa od 3 dolara ima fake FT323 a kako onda neće i ostali.

Vrlo lako je moguće da mu je FTDI disableao usb chip
robimarko@gmail.com
16 godina
moderator
offline
Re: Arduino - projekti, ideje, savjeti, problemi
robimarko kaže...
Ma moj klon Nanoa od 3 dolara ima fake FT323 a kako onda neće i ostali.

Pogledaj situaciju na eBayu.  Već neko vrijeme (i prije FTDI-gatea) među najjeftinijima prevladavaju klonovi s CH340G čipom, a za očekivati je da će u dogledno vrijeme ostati samo pločice s originalnim FTDI čipovima jer im više nema smisla proizvoditi fejkove - CH340G je dobra zamjena, a s fejk FTDI čipom se izlažu tome da kupci traže pare natrag.

 

robimarko kaže...
Vrlo lako je moguće da mu je FTDI disableao usb chip

Pričekajno da se javi - od nagađanja nikakva korist.

14 godina
offline
Re: Arduino - projekti, ideje, savjeti, problemi
robimarko kaže...
Ma moj klon Nanoa od 3 dolara ima fake FT323 a kako onda neće i ostali.

Vrlo lako je moguće da mu je FTDI disableao usb chip

Ajmo po redu:

Ne radi se odnosi na usb programiranje, inace rade.

Uno - 16u2 - ne radi

Uno - FTDI - radi

Mega 16u2 - ne radi

Nano1 - FTDI - ne radi( za ovaj sam trazio novi )

Nano2 - CH3400 - radi 

Predpostavljam da kad cu probati preko programera da ce i Nano 1 raditi.

 

Taj programer je u pravilu atmega 8 isprogramiran ko arduino as isp, al ima neku zastitu da nemozes bas na njega programirati(ako slucajno pritisnes upload umjesto upload with programer ili kako vec)

 

EDIT:

Zanimljivo je da su oba 2 komada Nano dosla u istoj posiljki.

I da napomenem jos 4 komada stizu  (3+ovaj di sam trazio zamjenski)

:D
Poruka je uređivana zadnji put sub 28.2.2015 22:05 (CroNk3r).
16 godina
moderator
offline
Re: Arduino - projekti, ideje, savjeti, problemi
CroNk3r kaže...
Zanimljivo je da su oba 2 komada Nano dosla u istoj posiljki.

Misliš jedan s FTDI-em i jedan s CH-om? Zanimljivo. Mada, moraju se nekako riješiti tih Nanoa s fejk FTDI čipovima. 

 

CroNk3r kaže...
I da napomenem jos 4 komada stizu  (3+ovaj di sam trazio zamjenski)

Svakako javi čiji USB čip imaju gore.

 

 

Zanimljivo je primijetiti da ti ne rade dvije pločice s 16u2 čipom, kao što i malomHuhugou ne radi... Hm... Moguće da dolazi do nekakve "korupcije" u tim tim čipovima? Znam da se inače i oni mogu reprogramirati - npr. ovdje su upute za Mega s tim čipom, pa bi možda trebao staviti defaultni firmware na njih.

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

Da, FTDI i CH u istoj posiljci, valjda se nadaju da nece bas svi reagirati ili da im se nece dati dokazivat da postoji problem(samo screenshot sam poslao i poslikao laptop s arduinom i paketom)

Po pitanju 16u2 pokusavao sam na unu popraviti, al nije islo, s megom se nisam htio ni zamarati, programer koristim i to je to.

 

EDIT:

Budem probao po tom tvom linku megu popraviti, al ako iz 1. pokusaja nece raditi odustajem. Javim rezultate.

:D
Poruka je uređivana zadnji put sub 28.2.2015 23:55 (CroNk3r).
Moj PC  
0 0 hvala 0
12 godina
neaktivan
offline
Arduino - projekti, ideje, savjeti, problemi

Ovako, trebam napraviti da kada u serial monitoru upisem 0, odvrti se dio koda, i on se vrti cijelo vrijeme. Zatim upisem 1, i onda se taj dio koda vrti cijelo vrijeme... 

 

void loop() {
if (Serial.available()) {
int inByte = Serial.read();


switch (inByte){
case '0':
Serial.println("Skraceno vrijeme");
//kod
inByte=0;
break;

case '1':
Serial.println("Sinkronizacija s drugim semaforom");
inByte=1;
break;

default:
Serial.println("Standardne postavke semafora!");
//kod

}
}
}

 
0 0 hvala 0
14 godina
offline
Re: Arduino - projekti, ideje, savjeti, problemi
Defa.psd kaže...

Ovako, trebam napraviti da kada u serial monitoru upisem 0, odvrti se dio koda, i on se vrti cijelo vrijeme. Zatim upisem 1, i onda se taj dio koda vrti cijelo vrijeme... 

 

void loop() {
if (Serial.available()) {
int inByte = Serial.read();

}


switch (inByte){
case '0':
Serial.println("Skraceno vrijeme");
//kod
inByte=0;
break;

case '1':
Serial.println("Sinkronizacija s drugim semaforom");
inByte=1;
break;

default:
Serial.println("Standardne postavke semafora!");
//kod

}
}
}

Mislim da sve sto trebas je podcrtano staviti, a prekrizeno maknuti.

EDIT: 

Evo i objasnjenje ako ne kuzis:

U tvom slucaju se je program obavljao samo kad je dobio podatak kroz serial monitor(sve je bilo pod if-om), a u ovom slucaju on vrti program cijelo vrijeme, a u if ulazi samo kad ima podatak na serialu, mjenja vrijednost varijable i dalje radi po toj varijabli.

Mislim da su ti cak i ovi inByte=0 i inByte=1 visak unutar case-ova 

 

:D
Poruka je uređivana zadnji put ned 1.3.2015 11:11 (CroNk3r).
16 godina
moderator
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Pod "vrti" misliš da bi ti se kod unutar switcha trebao vrtjeti bez obzira je li nešto upisano u konzolu ili ne? Tebi se ostatak koda vrti samo ukoliko je nešto upisano u Serial - znači ako hoćeš da se vrti cijelo vrijeme, onda ne možeš postaviti uvjet if (Serial.available()) pa sve zatvoriti unutar toga.

 

Znači, jedino što ti treba biti unutar tog if-uvjeta je inByte = Serial.read(); A deklaraciju varijable inByte trebaš izvaditi iz loop funkcije, odnosno deklarirati je ispred. Što se tiče switcha, s obzirom da switchaš cjelobrojnu vrijednost (int), onda u caseovima nemaš apostrofe. Dakle, onda su ti caseovi tipa case 0: ili case 1:. Također, oni inByte = 0 inByte = 1 unutar swticha su ti suvišni - mislim, varijabli dodijeljuješ vrijednost koju već ima!

 

(NADOPUNA) Tu sam se možda prenaglio - Serial.read() vraća char? Ako je tako, onda očitaj vrijednost na ovaj način: inByte = Serial.parseInt();

 

 

EDIT: kolega CroNk3r me prestigao. 

 

Poruka je uređivana zadnji put ned 1.3.2015 11:29 (mbaksa).
12 godina
neaktivan
offline
Arduino - projekti, ideje, savjeti, problemi

Hvala vam, prvo da malo bolje pojasnim, znaci imam 3 ledice, u konzolu upisem 1 i ta prva ledica bi trebala 'blinkati' sve dok u konzolu ne upisem 2, onda bi druga ledica trebala 'blinkati', isto tako i treca. Sada kod ovako izgleda, ali mi blinka samo default stanje. Kada upisem 1 u konzolu nista se ne događa. Evo kako kod sada izgleda:

 

pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
}
int inByte = Serial.read();
void loop() {

if (Serial.available()) {

}
switch (inByte){

case 0:
Serial.println("Kod1");
digitalWrite(1, HIGH);
delay(1000);
digitalWrite(1, LOW);
delay(1000);
break;

case 1:
Serial.println("Kod2");
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(2, LOW);
delay(1000);
break;

default:
Serial.println("Kod3");
digitalWrite(3, HIGH);
delay(1000);
digitalWrite(3, LOW);
delay(1000);
break;


}
}

Poruka je uređivana zadnji put ned 1.3.2015 12:02 (Defa.psd).
 
0 0 hvala 0
9 godina
neaktivan
offline
Arduino - projekti, ideje, savjeti, problemi

Pozdrav, 

Htio bi si napraviti paljenje/gašenje  svjetla  u sobi putem zvucnog signala,aplikacije na pc-u ili bluetooth prijemnika (po mogucnosti da nema previše štemanja) pa ako ko ima kakav tut nek javi ;)

 
0 0 hvala 0
14 godina
offline
Re: Arduino - projekti, ideje, savjeti, problemi
Defa.psd kaže...

Hvala vam, prvo da malo bolje pojasnim, znaci imam 3 ledice, u konzolu upisem 1 i ta prva ledica bi trebala 'blinkati' sve dok u konzolu ne upisem 2, onda bi druga ledica trebala 'blinkati', isto tako i treca. Sada kod ovako izgleda, ali mi blinka samo default stanje. Kada upisem 1 u konzolu nista se ne događa. Evo kako kod sada izgleda:

 

pinMode(1, OUTPUT);//ovo je mozda i tocno ako si ispred definirao led1 kao int led1=1; i tako za sve. Jedino onda ne kuzim zasto dole nisi koristio nazive koje si dodjelio nego bas pinove, onda ti nazivi i nemaju bas previse smisla.
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
}
   int inByte = 2;// mislim da ti je svejedno koja je pocetna vrijednost, ja sam stavio da ode u default
void loop() {

if (Serial.available()) {
   int inByte = Serial.read()-48;// moras stavit -48 jer serijska komunikacija salje ascii, a ti ne koristis char nego int i na taj nacin ti pretvaras ascii koji je za 1-49 za 2-50... u integer tako da dobis svoju vrijednost.
}
switch (inByte){

case 0:
  Serial.println("Kod1");
  digitalWrite(1, HIGH);
  delay(1000);
  digitalWrite(1, LOW);
  delay(1000);
  break;

case 1:
  Serial.println("Kod2");
  digitalWrite(2, HIGH);
  delay(1000);
  digitalWrite(2, LOW);
  delay(1000);
  break;

default:
  Serial.println("Kod3");
  digitalWrite(3, HIGH);
  delay(1000);
  digitalWrite(3, LOW);
  delay(1000); 
  break;


}
}

I bilo bi pozeljno da urednije malo pises kod, kod vecih programa ce ti se biti jako tesko snalaziti (ovo se odnosi samo na uvlacenja u case-ovima)

Za to imas gumb 

:D
Poruka je uređivana zadnji put ned 1.3.2015 13:27 (CroNk3r).
14 godina
offline
Re: Arduino - projekti, ideje, savjeti, problemi
n00b1 kaže...

Pozdrav, 

Htio bi si napraviti paljenje/gašenje  svjetla  u sobi putem zvucnog signala,aplikacije na pc-u ili bluetooth prijemnika (po mogucnosti da nema previše štemanja) pa ako ko ima kakav tut nek javi ;)

To ti je ubiti ovo:

http://www.instructables.com/id/how-to-Control-arduino-by-bluetooth-from-PC-pock/?ALLSTEPS

Samo umjesto LED-a spojis relay modul:

http://www.ebay.co.uk/itm/5V-2-CHANNEL-BOARD-RELAY-MODULE-SHIELD-FOR-ARDUINO-ARM-PIC-AVR-DSP-ELECTRONIC-HC-/381128507366?pt=LH_DefaultDomain_3&hash=item58bd077fe6

(ima ih i s jednim relayom, ovaj je prvi bio na ebayu pa sam taj uzeo)

i na relayu onda prekines fazu(ovo je za bluetooth preko mobitela ili PC-a)

 

EDIT: mozes i ovo prouciti:

http://www.bug.hr/forum/topic/samogradnja-opcenito/prekidac-pljesak-samogradnja-problem/215464.aspx

:D
Poruka je uređivana zadnji put ned 1.3.2015 13:27 (CroNk3r).
12 godina
neaktivan
offline
Arduino - projekti, ideje, savjeti, problemi

Pozz.

Da predstavim svoj projekt sa arduinom koji sam radio na trečoj godini tj. prošle godine kao projekt koji smo mogli odabrati što god smo htjeli. Taj projekt mi je imao i veliki utjecaj na završnu ocijenu iz radioničkih vježbi te šk. godine. Trenutno sam 4. godina tehničar za mehatroniku. Radio sam display 24x6 sa arduino duemilanoive at mega 328 kontrolerom. Da nepišem puno na ovoj stranici sam našao projekt i po tome sam radio, samo što sam imao druge tranzistore (2n4401) jer u chipoteci nisu imali iste. Sam sam crtao pcb jer je tako prof. zahtijevao, a i nije ista pločica jer sam gledao da smanjim površinu i pojačam vodove da nebih imao problema kod jetkanja. Prijenos sa papira na pločicu sam radio sa običnim papirom pomoču glačala. Led display sam pravi na bušeno pločici koj sam kupio u chipoteci. Važno je da napomenem da sam ovo radio samo u školi, bilo nam je striktno "zabranjeno" raditi kod kuće. Otpornike, IC i tranzistore sam kupio u chipoteci a ovo sve ostalo na e-bayu. Evo par slika, pa ako se tko odluči praviti isti projekt dam par savijeta jer sam našao praktičniji dizajn pločice te par drugih stvari koje olakšavaju posao. Najviše vremena je oduzimao led display, trebalo je polemiti 144 diode te još ispraviti par ks. Uglavnom bilo je zanimljivo to raditi. Živjeli 

Moj PC  
1 0 hvala 0
Ova tema je sadržajno povezana sa sljedećim temama: Uvod u elektrotehniku (istosmjerna struja)
Nova poruka
E-mail:
Lozinka:
 
vrh stranice