Arduino programozás segítség
Re: Arduino programozás segítség
if(gomb1=1){gombok++;}
Helyesbïtek
if(gomb1==1){gombok++;}
Helyesbïtek
if(gomb1==1){gombok++;}
Re: Arduino programozás segítség
Nézelődők a többi fórum témákban is,
és megakadt a szemem a C prog. codon.
Ahogy a "nagyok csinálják".
De számomra még felfoghatatlan.
Csak egy kérésem lenne.
Ha nem túl nagy kérés!
Az altálam utóbbi megosztott kódot leírnà más prog. nyelven és még meg is osztaná velem meg hogy miben írta csak azért hogy lássam milyen különbségek vannak a nyelvek között. Azt megköszönöm!
és megakadt a szemem a C prog. codon.
Ahogy a "nagyok csinálják".
De számomra még felfoghatatlan.
Csak egy kérésem lenne.
Ha nem túl nagy kérés!
Az altálam utóbbi megosztott kódot leírnà más prog. nyelven és még meg is osztaná velem meg hogy miben írta csak azért hogy lássam milyen különbségek vannak a nyelvek között. Azt megköszönöm!
Re: Arduino programozás segítség
Kód: Egész kijelölése
/*jcb powershift transm. c.s.*/
#include "LiquidCrystal.h"
LiquidCrystal lcd(4,5,6,7,8,9);
byte gombok=5;
void setup() {
lcd.begin(16,2);
pinMode(A0,INPUT);//gomb+
pinMode(A1,INPUT);//gomb-
pinMode(A2,INPUT);//uzemi fek
pinMode(A3,INPUT);//kezi fek
pinMode(A4,INPUT);//motor uzem jel
pinMode(2,OUTPUT);//elorre irany
pinMode(3,OUTPUT);//hatra irany
pinMode(10,OUTPUT);//2 es fokozat
pinMode(11,OUTPUT);//3 as fokozat
pinMode(12,OUTPUT);//4 es fokozat
}
void loop() {
if(analogRead(A0)==HIGH){
delay(3);
gombok++;}
if(analogRead(A1)==HIGH){
delay(3);
gombok--;}
if(analogRead(A2)==HIGH){
delay(3);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
}
if(analogRead(A3)==HIGH){
delay(3);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("KEZIFEK BEHUZVA");
delay(1000);
lcd.clear();
delay(100);
}
if(gombok!=5 && analogRead(A4)==LOW){gombok=5;
lcd.setCursor(0,0);
lcd.print("ELINDULASHOZ");
lcd.setCursor(0,1);
lcd.print("NYOMJ FEKET");}
//ide lehet kotni motornak indito megszakitast is
/* pl:if(analogRead(A4)==LOW && analogRead(A2)==HIGH){digitalWite(x,HIGH);*/
//az x pin egy rellet vezerel ami a gepnek az indito jelet szakitja meg
// a motor uzemjelet akar az olajnyomas kapcsolorol is le tudom venni
//ha van olajnyomas akkor megy a motor(elmeletileg) :)
gombok=constrain(gombok,1,9);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("IRANY:");
lcd.setCursor(0,1);
lcd.print("FOKOZAT:");
switch (gombok){
case 5:
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
lcd.setCursor(7,0);
lcd.print("URES");
lcd.setCursor(9,1);
lcd.print("0");
break;
case 4:
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
lcd.setCursor(7,0);
lcd.print("HATRA");
lcd.setCursor(9,1);
lcd.print("1");
break;
case 3:
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
lcd.setCursor(7,0);
lcd.print("HATRA");
lcd.setCursor(9 1);
lcd.print("2");
break;
case 2:
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
digitalWrite(12,LOW);
lcd.setCursor(7,0);
lcd.print("HATRA");
lcd.setCursor(9,1);
lcd.print("3");
break;
case 1:
digitalWrite(2,HIGH);
digitalWrite(3,LOW);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,HIGH);
lcd.setCursor(7,0);
lcd.print("HATRA");
lcd.setCursor(9,1);
lcd.print("4");
break;
case 6:
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
lcd.setCursor(7,0);
lcd.print("ELORRE");
lcd.setCursor(9,1);
lcd.print("1");
break;
case 7:
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
digitalWrite(12,LOW);
lcd.setCursor(7,0);
lcd.print("ELORRE");
lcd.setCursor(9,1);
lcd.print("2");
break;
case 8:
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(10,LOW);
digitalWrite(11,HIGH);
digitalWrite(12,LOW);
lcd.setCursor(7,0);
lcd.print("ELORRE");
lcd.setCursor(9,1);
lcd.print("3");
break;
case 9:
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,HIGH);
lcd.setCursor(7,0);
lcd.print("ELORRE");
lcd.setCursor(9,1);
lcd.print("4");
break;}
}
Re: Arduino programozás segítség
Nagy kérés, hogy egyik nyelvről írj át egy másikra.
Tipp: A lefordított HEX-> disasm ->ASm (gépi kód)
Nyelvek közti különbség? Erről 1/2 - 1 éves oktatás van pl felsőfokú intézményben...
Tipp:
leriaat.web.elte.hu/007/PhD/pny/oop.ppt
https://forum.hwsw.hu/topic/88787-progr ... sonlitasa/
De: https://www.google.com/search?q=program ... Dt%C3%A1sa
Tipp: A lefordított HEX-> disasm ->ASm (gépi kód)
Nyelvek közti különbség? Erről 1/2 - 1 éves oktatás van pl felsőfokú intézményben...
Tipp:
leriaat.web.elte.hu/007/PhD/pny/oop.ppt
https://forum.hwsw.hu/topic/88787-progr ... sonlitasa/
De: https://www.google.com/search?q=program ... Dt%C3%A1sa
http://www.tavir.hu - a gazda
Re: Arduino programozás segítség
ooops!!!!!!
Bocsi!!
Ezt nem tudtam, hogy ilyen nagy falat egy ilyen mozzanat!
Csak mert ahogy nézegettem a weben pascal, C, Assembly.....stb
van egy alap platforrm és az van hogy csak egyes parancsok és kisebb logikai összetevők különbözőek....
de ahogy látom itt nagyon többről is van szó....
megint egy világ tört össze bennem.......... ha életem végéig tanulok akkor se fogom tudni......
Bocsi!!
Ezt nem tudtam, hogy ilyen nagy falat egy ilyen mozzanat!
Csak mert ahogy nézegettem a weben pascal, C, Assembly.....stb
van egy alap platforrm és az van hogy csak egyes parancsok és kisebb logikai összetevők különbözőek....
de ahogy látom itt nagyon többről is van szó....
megint egy világ tört össze bennem.......... ha életem végéig tanulok akkor se fogom tudni......
Re: Arduino programozás segítség
Igen. Olyan ez mint bármely más szakma szelete:
- ha életed végéig tanulsz - akkor sem ismered teljesen....
Mitől bölcs valaki? Tudja azt, hogy mit nem tud még....
Azonban: az Arduino az indulásnak jó választásnak tűnik, mert:
- egyszerű utasításokból áll,
- soks-sok minta van hozzá (igaz az egyszerű (rész)feladatokra),
- sok eszköz azonnal élesíthető alatta
- utóbbi időben sok platformra lehet vele fordítani.
Ebből később ki lehet nőni a C/C++ irányába - az alapja úgyis ez a Arduinonak (ez van "mögötte").
Amit meg kell tanulni:
- programról diagram/blokkokban gondolkodni
- a programszervezést/felépítést megtanulni (lineáris programozást elfelejteni)
- sokat tanulni!
Nyelvek:
- Basic ágak
- ASM / gépi kód
- C/C++
- ....
Programozási nyelvek fája (2500+ nyelv van):
http://slideplayer.com/slide/6312477/
A legnagyobbak: https://en.wikipedia.org/wiki/C_(progra ... _index.png
- ha életed végéig tanulsz - akkor sem ismered teljesen....
Mitől bölcs valaki? Tudja azt, hogy mit nem tud még....
Azonban: az Arduino az indulásnak jó választásnak tűnik, mert:
- egyszerű utasításokból áll,
- soks-sok minta van hozzá (igaz az egyszerű (rész)feladatokra),
- sok eszköz azonnal élesíthető alatta
- utóbbi időben sok platformra lehet vele fordítani.
Ebből később ki lehet nőni a C/C++ irányába - az alapja úgyis ez a Arduinonak (ez van "mögötte").
Amit meg kell tanulni:
- programról diagram/blokkokban gondolkodni
- a programszervezést/felépítést megtanulni (lineáris programozást elfelejteni)
- sokat tanulni!
Nyelvek:
- Basic ágak
- ASM / gépi kód
- C/C++
- ....
Programozási nyelvek fája (2500+ nyelv van):
http://slideplayer.com/slide/6312477/
A legnagyobbak: https://en.wikipedia.org/wiki/C_(progra ... _index.png
http://www.tavir.hu - a gazda
Re: Arduino programozás segítség
Tisztelt Cseh Róbert!
Meg szeretném köszönni a válaszát és leginkább a bevezetést a micro vezérlők világába!
Nagyon rendes Öntől hogy egy ilyen tudást àtad. Persze értem az üzletpolitikájàt is, de ettől függetlenül használható módon lett leadva az anyag.
A 60 + 15 nap alatt tanfolyam egy kezdőnek (szerény személyem is) tökéletes elindulàsi alapot adott. Ha végig is csinálja bárki is ezt a tanfolyamot lelkiismeretesen és önszorgalomból kivesézi a tanfolyam témáját tudása szerint a legjobban, akkor az illető egy minimális tudás megszerzett és ha hosszú időn keresztül meg foglalkozik vele talán programozó is lehet belőle.
De sajnos olyan nincs hogy valaki ezt valamilyen felnőttképzési (OKJ) vagy valamilyen formában az alapokat tovább tudna fejleszteni. Éveket jelentene a tudás elsajátításában.
A tanfolyam végére én is el tudtam dönteni hogy melyik iranyvonalon szeretnék a microkkal foglalkozni annyi rálátást ad a tanfolyam. Csak mikor a legelején jártam még kérdéseket sem tudtam feltenni most így a végére megszámlálhatatlan kérdés merül fel bennem.
Külön köszönet a fórum segítőkész tagjainak is!
Nem búcsúzom maradok e világban és " aktív" tagja a tavir fórumnak.
Meg szeretném köszönni a válaszát és leginkább a bevezetést a micro vezérlők világába!
Nagyon rendes Öntől hogy egy ilyen tudást àtad. Persze értem az üzletpolitikájàt is, de ettől függetlenül használható módon lett leadva az anyag.
A 60 + 15 nap alatt tanfolyam egy kezdőnek (szerény személyem is) tökéletes elindulàsi alapot adott. Ha végig is csinálja bárki is ezt a tanfolyamot lelkiismeretesen és önszorgalomból kivesézi a tanfolyam témáját tudása szerint a legjobban, akkor az illető egy minimális tudás megszerzett és ha hosszú időn keresztül meg foglalkozik vele talán programozó is lehet belőle.
De sajnos olyan nincs hogy valaki ezt valamilyen felnőttképzési (OKJ) vagy valamilyen formában az alapokat tovább tudna fejleszteni. Éveket jelentene a tudás elsajátításában.
A tanfolyam végére én is el tudtam dönteni hogy melyik iranyvonalon szeretnék a microkkal foglalkozni annyi rálátást ad a tanfolyam. Csak mikor a legelején jártam még kérdéseket sem tudtam feltenni most így a végére megszámlálhatatlan kérdés merül fel bennem.
Külön köszönet a fórum segítőkész tagjainak is!
Nem búcsúzom maradok e világban és " aktív" tagja a tavir fórumnak.
Re: Arduino programozás segítség
Üdv ismét!
Hát már megint megakadtam.
Wire fügvényt szeretném használni.
Két minit szeretnék összekötni és egyik lenne a mester a másik a szolga. (Idáig müködne??) Amire használnám a rendszert. A masterre nyomogombok lennének kötve amik billenő kapcsoloként funkcionálnának szoftveresen. Majd a gombok állapotát elküldi a slavenek és az bekapcsolja a programban meghatározott kimenetet. A kérdés az hogy wire al ez ugye megoldhato!?.
Hát már megint megakadtam.
Wire fügvényt szeretném használni.
Két minit szeretnék összekötni és egyik lenne a mester a másik a szolga. (Idáig müködne??) Amire használnám a rendszert. A masterre nyomogombok lennének kötve amik billenő kapcsoloként funkcionálnának szoftveresen. Majd a gombok állapotát elküldi a slavenek és az bekapcsolja a programban meghatározott kimenetet. A kérdés az hogy wire al ez ugye megoldhato!?.
Re: Arduino programozás segítség
A master oldali kód ez lenne.
Ha ez így ok akkor küldöm a slavet is.
Ha ez így ok akkor küldöm a slavet is.
Kód: Egész kijelölése
int data[8];
int gomb[]={2,3,4,5,6,7,8,9,};//bemeneti gombok
int i=2;//seged valtozo
//KOMUNIKACIOS PROGRAMRESZ
#include<Wire.h>
void setup() {
if(i<9){i++;}
pinMode(gomb[i],INPUT);
Wire.begin();
Serial.begin(9600);
}
void loop() {
if(gomb[1]==HIGH){data[1]=11;
Wire.beginTransmission(2);
Wire.write(data[1]);
Wire.endTransmission();
delay(30);}
if(gomb[1]==HIGH&&data[1]==11){data[1]=10;
Wire.beginTransmission(2);
Wire.write(data[1]);
Wire.endTransmission();
delay(30);}
//kettes bemeneti gomb
if(gomb[2]==HIGH){data[2]=21;
Wire.beginTransmission(2);
Wire.write(data[2]);
Wire.endTransmission();
delay(30);}
if(gomb[2]==HIGH&&data[2]==21){data[2]=20;
Wire.beginTransmission(2);
Wire.write(data[2]);
Wire.endTransmission();
delay(30);}
//harmadik bemeneti gomb
if(gomb[3]==HIGH){data[3]=31;
Wire.beginTransmission(2);
Wire.write(data[3]);
Wire.endTransmission();
delay(30);}
if(gomb[3]==HIGH&&data[3]==31){data[3]=30;
Wire.beginTransmission(2);
Wire.write(data[3]);
Wire.endTransmission();
delay(30);}
//negyedik bemeneti gomb
if(gomb[4]==HIGH){data[4]=41;
Wire.beginTransmission(2);
Wire.write(data[4]);
Wire.endTransmission();
delay(30);}
if(gomb[4]==HIGH&&data[4]==41){data[4]=40;
Wire.beginTransmission(2);
Wire.write(data[4]);
Wire.endTransmission();
delay(30);}
//otodik bemeneti gomb
if(gomb[5]==HIGH){data[5]=51;
Wire.beginTransmission(2);
Wire.write(data[5]);
Wire.endTransmission();
delay(30);}
if(gomb[5]==HIGH&&data[5]==51){data[5]=50;
Wire.beginTransmission(2);
Wire.write(data[5]);
Wire.endTransmission();
delay(30);}
//hatodik bemeneti gomb
if(gomb[6]==HIGH){data[6]=61;
Wire.beginTransmission(2);
Wire.write(data[6]);
Wire.endTransmission();
delay(30);}
if(gomb[6]==HIGH&&data[6]==61){data[6]=60;
Wire.beginTransmission(2);
Wire.write(data[6]);
Wire.endTransmission();
delay(30);}
//hetedik bemeneti gomb
if(gomb[7]==HIGH){data[7]=71;
Wire.beginTransmission(2);
Wire.write(data[7]);
Wire.endTransmission();
delay(30);}
if(gomb[7]==HIGH&&data[7]==71){data[7]=70;
Wire.beginTransmission(2);
Wire.write(data[7]);
Wire.endTransmission();
delay(30);}
//nyolcadik bemeneti gomb
if(gomb[8]==HIGH){data[8]=81;
Wire.beginTransmission(2);
Wire.write(data[8]);
Wire.endTransmission();
delay(30);}
if(gomb[8]==HIGH&&data[8]==81){data[8]=80;
Wire.beginTransmission(2);
Wire.write(data[8]);
Wire.endTransmission();
delay(30);}
//kilencedik bemeneti gomb
if(gomb[9]==HIGH){data[9]=91;
Wire.beginTransmission(2);
Wire.write(data[9]);
Wire.endTransmission();
delay(30);}
if(gomb[9]==HIGH&&data[9]==91){data[9]=90;
Wire.beginTransmission(2);
Wire.write(data[9]);
Wire.endTransmission();
delay(30);}
//tizedik bemeneti gomb
Re: Arduino programozás segítség
Nem jó a tömb címzésed!
Az int data[8]; tömb cím tartománya data[0] - data[7]-ig terjedhet. Felette a data[8] már nem lefoglalt terület.
Az int data[8]; tömb cím tartománya data[0] - data[7]-ig terjedhet. Felette a data[8] már nem lefoglalt terület.
Re: Arduino programozás segítség
És a gombok feldolgozása így lenne jó:
Kód: Egész kijelölése
//egyes bemeneti gomb
if(digitalRead(gomb[0]) == HIGH){
if(data[0] == 10){
data[0] = 11;
}else{
data[0] = 10;
}
Wire.beginTransmission(2);
Wire.write(data[0]);
Wire.endTransmission();
delay(30);
}
...
Re: Arduino programozás segítség
sziasztok egy autórádió kormányvezérlőt szeretnék megoldani arduino unoval ir vezérléssel,segítene nekem megirni esetleg valaki?
Re: Arduino programozás segítség
egy ilyet szeretnék készíteni
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
Re: Arduino programozás segítség
A jó segítség kérés úgy kezdődik, hogy megmutatod mit csináltál már meg!
És leírod hól akadtál el. Miben kérsz segítséget?
Ez azért lenne fontos, mert látnánk, hogy próbálkozol.
És a bemutatott példából következetnénk, hogy milyen szinten állsz a programozás tudományában.
Bemutatkozás nélkül, ismeretlenül.
Most úgy néz ki, hogy az első 2 hozzászólásodban szeretnéd elérni, hogy valaki megírja helyetted a programot?
És leírod hól akadtál el. Miben kérsz segítséget?
Ez azért lenne fontos, mert látnánk, hogy próbálkozol.
És a bemutatott példából következetnénk, hogy milyen szinten állsz a programozás tudományában.
Bemutatkozás nélkül, ismeretlenül.
Most úgy néz ki, hogy az első 2 hozzászólásodban szeretnéd elérni, hogy valaki megírja helyetted a programot?
Re: Arduino programozás segítség
Szia köszi hogy irtál,Péter vagyok,végig csináltam az arduino 60 napos oktatást de sajnos az ir programozásrol nem esett szó igy nem igazán tudom hogy kezdjek neki,ezért kellene segítség hogy kellene ezt a programot megirni.