Arduino - projekti, ideje, savjeti, problemi izdvojena tema

poruka: 1.365
|
čitano: 384.457
|
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)
14 godina
offline
Re: Arduino - projekti, ideje, savjeti, problemi
Alkaline kaže...
CroNk3r kaže...

Lightweight, ne treba mu 2 dana da se pokrene ko Visual Studio, intellisense, oku ugodniji od stock(barem meni)

 

Obožavam Atom, koristim ga stalno i puno mi je bolji nego Sublime, ali nikako nije lightweight.

Vrti se na electronu, koji je baziran na Chromiumu, odnosno desktop web app je.

 

Otvorim par prozora i ode giga memorije.

Da, istina, ali naprama visual studiu je bog i batina.

Meni je osobno Sublime pokusava biti prejednostavan. 

Atom je taman u nekoj sredini, nije pretezak ko VS, a opet je pun fičra. 

Sublime je za jednostavne stvari po meni osobno najbolji, ali cim se to prosiri na projekte od vise fajlova pada iza Atoma.

 

Inace po mojem misljenju, eclipse je najkompletniji IDE. Jedino je on ko linux, prvo treba vremena za kvalitetno postaviti, a dalje kad ga nastelas po svom ukusu, radi sve savrseno.

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

Pozdrav,

 

Znači kupio sam croduino instalirao sve drajvere namjestio na Arduino Nano(tako pise na e-radionica.com) Namjestion procesor na ATmega328(tako pise na webu) i kada pokušam uplodati pojavi se ovo :

 

Arduino:1.8.5 (Windows Store 1.8.10.0) (Windows 10), Ploča: "Arduino Nano, ATmega328"

WARNING: Category '' in library EEPROM is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library SPI is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library SoftwareSerial is not valid. Setting to 'Uncategorized'
WARNING: Category '' in library Wire is not valid. Setting to 'Uncategorized'
Warning: platform.txt from core 'Arduino AVR Boards' contains deprecated recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}", automatically converted to recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}". Consider upgrading this core.
C:\Users\myname\AppData\Local\Temp\arduino_build_958414/core\core.a(main.cpp.o): In function `main':

C:\Users\myname\Documents\ArduinoData\packages\arduino\hardware\avr\1.6.2\cores\arduino/main.cpp:40: undefined reference to `setup'

collect2.exe: error: ld returned 1 exit status

exit status 1
Error compiling for board Arduino Nano.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

 

 

ovo je program(provjerio sam ga i uredu je);

 

int PIRsenzor = 2;
int reley = 3;
int reley2 = 4;
int buzzer = 5;
int tipkalo = 6;
int stanje_tipkalo;
int stanje_PIR;

void start () {
pinMode(reley, OUTPUT);
pinMode(reley2, OUTPUT);
pinMode(tipkalo, INPUT_PULLUP);
pinMode(PIRsenzor, INPUT);
pinMode(buzzer, OUTPUT);
}

void loop () {
stanje_tipkalo = digitalRead(tipkalo);
stanje_PIR = digitalRead(PIRsenzor);

if(stanje_PIR==HIGH) {
digitalWrite(reley, HIGH);
digitalWrite(reley2, HIGH);
delay(90000000);
}
if(stanje_tipkalo==LOW){
tone(buzzer, 440);
delay(20000);
digitalWrite(reley, LOW);
digitalWrite(reley2, LOW);
}
}

 

MOZE POMOĆ?!?

 

 

 

danielB
 
0 0 hvala 0
16 godina
moderator
offline
Re: Arduino - projekti, ideje, savjeti, problemi
Prvo probaj kompajlirati "prazni" program, znači da samo ima prazne funkcije setup i loop.
7 godina
neaktivan
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Uspjelo, hvala! Samo me zanima kako da uplodam svoj program i zašto se to događa? Hvala!

danielB
Poruka je uređivana zadnji put čet 25.1.2018 19:26 (danći123321).
14 godina
offline
Re: Arduino - projekti, ideje, savjeti, problemi
danći123321 kaže...

Pozdrav,

ovo je program(provjerio sam ga i uredu je);

 

int PIRsenzor = 2;
int reley = 3;
int reley2 = 4;
int buzzer = 5;
int tipkalo = 6;
int stanje_tipkalo;
int stanje_PIR;

void start () {
pinMode(reley, OUTPUT);
pinMode(reley2, OUTPUT);
pinMode(tipkalo, INPUT_PULLUP);
pinMode(PIRsenzor, INPUT);
pinMode(buzzer, OUTPUT);
}

void loop () {
stanje_tipkalo = digitalRead(tipkalo);
stanje_PIR = digitalRead(PIRsenzor);

if(stanje_PIR==HIGH) {
digitalWrite(reley, HIGH);
digitalWrite(reley2, HIGH);
delay(90000000);
}
if(stanje_tipkalo==LOW){
tone(buzzer, 440);
delay(20000);
digitalWrite(reley, LOW);
digitalWrite(reley2, LOW);
}
}

 

MOZE POMOĆ?!?

 

 

 

Ako mi se nije zbrikalo umjesto start ide setup

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

Ima li kakav program s kojim bi mogli sve prvo simulirati prije izrade (od pisanja programa ukoliko je potrebno pa do stavljanja komponenti na tiskanu pločicu).

 

Možda ipak pitam previše... Ali... Ako ne pitam neću znati :D

 

našao ovo https://dcaclab.com/

 

još bolje sam našao... baš za Arduino

https://www.tinkercad.com

Poruka je uređivana zadnji put pon 29.1.2018 12:21 (spiderhr).
 
0 0 hvala 0
15 godina
neaktivan
offline
Arduino - projekti, ideje, savjeti, problemi
Hitno mi treba TCA9548A 1-to-8 I2C Multiplexer, zna li netko di bi ga mogao kupiti u ZG? Poslao sam upit na diykits.eu ako ga mogu nabaviti, ima li još neki takav dućan pa da se raspitam?
Naručio sam ga s ebaya i jučer mi je došlo, ali ne to nego su mi uvalili nekakav analogni 74HC4051, a sad mi je kasno ponovo naručivat jer mi je hitno
Moj PC  
0 0 hvala 0
14 godina
offline
Re: Arduino - projekti, ideje, savjeti, problemi
NeoN kaže...
Hitno mi treba TCA9548A 1-to-8 I2C Multiplexer, zna li netko di bi ga mogao kupiti u ZG? Poslao sam upit na diykits.eu ako ga mogu nabaviti, ima li još neki takav dućan pa da se raspitam?
Naručio sam ga s ebaya i jučer mi je došlo, ali ne to nego su mi uvalili nekakav analogni 74HC4051, a sad mi je kasno ponovo naručivat jer mi je hitno

Zovi hrvatske ducane po redu, tako ces najbrze saznati.

Chipoteka, Tevetron, Elmatis, Kronos...

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

@NeoN, koji mikrokontroler imaš i koliko i2c uređaja sa istim adresama je na sabirnici?

Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Arduino - projekti, ideje, savjeti, problemi

Imam Arduino UNO i trebalo bi mi do 6 HMC5883L senzora, tj. QMC5883L (kineska kopija)

Moj PC  
0 0 hvala 0
14 godina
offline
Arduino - projekti, ideje, savjeti, problemi

Možeš probati bit-bangati i2c sa softwarei2c. Piše da na 1 Mhz Attiny postiže 33khz clock.

Tvoji senzori rade od 100 do 400 khz, ali imaš brži mcu (atmega328p na 16 mhz) pa ti se možda posreći da rade.

Moj PC  
0 0 hvala 0
6 godina
neaktivan
offline
Arduino - projekti, ideje, savjeti, problemi

Pozdrav,trebao bih pomoc s arduino kodom za navedeni projekat.Dakle imam izraden model lifta sa 3 kata,koristim opticke senzore za svaki kat,a za otvaranje vrata koristim mali servo motor i tu nastaje problem ne znam kako u kod ubacit da kad lift dode na odredeni kat otvori vrata na 5 sekundi i zatvori ih.Uspio sam jedino da mi ih stalno otvara i zatvara,jer tu if petlja ocito ne vrijedi jer mi je opticki senzor zapravo cijelo vrijeme aktivan dok je lift na tom katu. Ako netko ima volje nek pomogne :) 


Ovdje je kod:https://codeshare.io/al9B0j

Poruka je uređivana zadnji put pon 26.2.2018 16:41 (nikola_vk).
 
0 0 hvala 0
16 godina
moderator
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Stavi kod na https://codeshare.io/ ili tako nešto.

6 godina
neaktivan
offline
Arduino - projekti, ideje, savjeti, problemi
 
0 0 hvala 0
12 godina
odjavljen
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Možeš pojasnit ove varijable?

leda, ledc itd..? Za čega ti služe?

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

Rjesenje je zapravo dosta lagano.

inicijaliziras zastavicu koja se npr zove otvoreno.

Kad dodes na kat otvoris vrata i zastavica ide u true.

Tad zatvoris vrata i ode lift i kad opticki senzor vise ne prepoznaje lift, zastavica ide u false.

U if-u kad otvaras vrata moras provjeravati dal je lift na katu i dal je zastavica false.

 

Nisam gledao kod jer nemam volje sad, prekasno mi je.

Ako ne skuzis, pogledam kod i objasnim detaljnije.

Moj PC  
0 0 hvala 1
6 godina
neaktivan
offline
Arduino - projekti, ideje, savjeti, problemi

To za leda,b,c je sad nebitno to sam stavio za 7segmentni display da mi ispisuje na kojem je trenutno katu lift i tako 3 komada za svaki kat.Ovo za zastavice bas i nisam skuzio,tj.nisam bas upoznat s tim

Poruka je uređivana zadnji put pon 26.2.2018 8:21 (nikola_vk).
 
0 0 hvala 0
12 godina
odjavljen
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Ne snalazim se u kodu baš, de dio koji se odradi kada lift stigne na željeni kat

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

Evo ovo je npr.za 3.kat

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

To za leda,b,c je sad nebitno to sam stavio za 7segmentni display da mi ispisuje na kojem je trenutno katu lift i tako 3 komada za svaki kat.

To kako si napravio je neprihvatljivo. Sve bi ti ledice trebale biti u polju, a ne da svaka ima svoje ime. I druga, bitnija stvar, je da promjenu njihovih vrijednosti trebaš staviti u funkciju, kako ne bi triput imao praktički isti kod, samo s drugim argumentima kod nekih naredbi.

 

nikola_vk kaže...

Ovo za zastavice bas i nisam skuzio,tj.nisam bas upoznat s tim

Zastavica je tipičan termin u programiranju koji označava varijablu za status, stanje nečega. Znači, program se vrti i vrti i provjerava je li se dogodilo nešto i ako se to nešto dogodilo, onda varijablu stanja postaviš na drugu vrijednost. A u drugom dijelu programa gledaš je li došlo do promjene te varijable.

 

Tu bi ti imao zastavicu tipa otvorenaVrata. Koja bi ti inicijalno bila false. Pa kad bi otvorio vrata, onda bi je postavio na true. I počeo mjeriti vrijeme od otvaranja vratiju (znači, nakon otvaranja bi uzeo timeOtvorenaVrata = millis();, i onda bi kasnije provjeravao je li otvorenaVrata && millis() > timeOtvorenaVrata+5000 pa, kad je taj uvjet zadovoljen, tek onda ideš zatvarati vrata i vraćaš zastavicu otvorenaVrata u false). 

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

wou,ovo mi je kao kineski film bez titlova.Prije sam bio napravio void otvorena i void zatvorena vrata,ali sam isto stavljao delay tako da je radilo isto kao sto i sad radi,jedino sto sam hrpu koda imao na vrhu programa,a sad hrpu koda imam kod dijela za svaki kat

 
0 0 hvala 0
16 godina
moderator
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Evo ti primjer što možeš napraviti s ledicama/katovima:

 

const byte ledKat[4] = {B00011000, B00001100, B01111001, B00100100};
const byte brojLedica = 7;
const byte leds[brojLedica] = {22, 23, 24, 25, 26, 27, 28};

void writeLeds(byte kat) {
  for (byte i = 0; i < brojLedica; i++) {
   digitalWrite(leds[i], ledKat[kat] & 1 << i);
  }
}

 

I onda umjesto svih onih digitalWriteova na sto ledica jednostavno pozoveš:

writeLeds(trenutni_broj_kata);

 

Ne garantiram doduše da ovo radi, ali tako nekako bi to išlo. 

 

I hrpu ostalog možeš staviti u polja i provjeravati preko petlji. Čim ti imaš varijable koje završavaju brojevima 1, 2, 3... To u pravilu znači da si zeznuo stvar i da si to trebao riješiti preko polja i petlji. Program ti je, ovako kako si ga napisao, nečitljiv i valjda pet puta dulji nego bi trebao biti.

 

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

Ma to u nekoj daljoj buducnosti,sad mi je prvenstveno napraviti vrata,da mogu to odnijeti na prezentaciju u školu,a onda dorade i uljepsavanja kasnije :)

 
0 0 hvala 0
12 godina
odjavljen
offline
Re: Arduino - projekti, ideje, savjeti, problemi
Daj opis kako si fizički to napravio pa ću ti napravit kod...
14 godina
offline
Arduino - projekti, ideje, savjeti, problemi

Ja sam 100% siguran da postoji library za 7 segmentni display pa sve sto imas je inicijalizaciju:

Display display;

i onda samo:

display.write(1);

Nema sanse da jos nitko to nije napravio.

Inace po meni bi ovo bilo najlakse implementirati ko automat stanja za svaki kat i onda jos sitnice rjesiti programski.

Moj PC  
0 0 hvala 0
6 godina
neaktivan
offline
Arduino - projekti, ideje, savjeti, problemi

 

dc motor za spustanja i dizanja lifta-L298N kontroler

3 opticka senzora TCRT5000 za svaki kat koji se detektiraju kad lift dode na tu poziciju

3 tipkala za svaki kat ,tj.6 ali su jos 3 spojena samo paralelno na  ova 3 i ona simuliraju kao stiskanje tipkala iz unutrašnjosti

3x 7 segmentna displaya koja pokazuju na kojem je katu trenutacno lift

servo motor koji otvara i zatvra vrata na samom liftu

 

 

Poruka je uređivana zadnji put pon 26.2.2018 17:35 (nikola_vk).
 
3 0 hvala 0
16 godina
moderator
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Čemu ti služi varijabla i? Za kat? Onda se ne može zvati i, nego se ima zvati kat.

 

Napraviš si globalnu zastavicu (varijablu), znači izvan svih funkcija:

bool odradiCiklus = false;

 

Napraviš si varijablu izvan svih funkcija (globalnu varijablu) za pamćenje prethodnog kata:

int prethodniKat;

 

 

Kad ti se promijeni kat, znači kad varijabla kat bude različita od prethodniKat onda, onda uključiš zastavicu odradiCiklus, znači tipa:

 

if (kat != prethodniKat) {

  odradiCiklus = true;

  prethodniKat = kat;

}

 

 

I onda tamo gdje imaš kod za otvaranje i zatvaranje provjeriš je li zastavica dignuta, ako je onda otvoriš i zatvoriš i poništiš zastavicu nakon zatvaranja, znači tipa:

if (odradiCiklus) {

  mojservo.write(0);
  delay(3000);
  mojservo.write(80);
  delay(250);

  odradiCiklus = false;

}

 

Na taj će se taj kod izvesti samo jednom, i to nakon promjene kata.

 

S tim da bi taj cijelu blok trebalo izdvojiti u funkciju i onda uvijek pozoveš funkciju umjesto da imaš četiri puta identičan kod u programu! Dakle, napraviš ovo:

void ciklus() {

  if (odradiCiklus) {

   mojservo.write(0);
   delay(3000);
   mojservo.write(80);
   delay(250);

   odradiCiklus = false;

  }

}

 

I onda svugdje gdje ti je išao taj kod jednostavno pozoveš tu funkciju:

ciklus();

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

Evo nezz sta ne bi sve napisao,hvala vam svima,svi ste carevi i drago mi je da ima jos uvijek ljudi spremnih pomoci,a ne samo nadobudnih budala koje samo misle na pare i kako ce nekom svoje znanje naplatit. Lift proradio sve super,kad stignem malo cu jos uredit kod,pogotvo ono za display i uploadam ovdje video i kod da mozete vidit.Jos jednom,hvala svima na davanju nekih sitnih hintova,ali osobito mbaksi,iako mi je to njegovo sve bilo kao na kineskom uspio sam to nekako ubacit u kod i sve radi 

Poruka je uređivana zadnji put pon 26.2.2018 19:49 (nikola_vk).
 
1 0 hvala 0
12 godina
odjavljen
offline
Re: Arduino - projekti, ideje, savjeti, problemi

https://pastebin.com/tTh4KgDv

 

 

Ovako bi ja to uradio. Najjednostavnije.

Btw jesi iz Vinkovaca ili?

Poruka je uređivana zadnji put pon 26.2.2018 20:02 (Dex.pwn).
6 godina
neaktivan
offline
Re: Arduino - projekti, ideje, savjeti, problemi

Blizu Vinkovaca,zašto?

 

Poruka je uređivana zadnji put pon 26.2.2018 20:13 (nikola_vk).
Ova tema je sadržajno povezana sa sljedećim temama: Uvod u elektrotehniku (istosmjerna struja)
Nova poruka
E-mail:
Lozinka:
 
vrh stranice