Arduino programozás segítség

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Avatar
Dani
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2006. április 6. csütörtök, 6:00
Tartózkodási hely: Komló

Re: Arduino programozás segítség

HozzászólásSzerző: Dani » 2019. június 20. csütörtök, 17:08

Sziasztok segítségeteket kérem
Eddig Bascomban programoztam, váltottam arduinora ,ami megőrjít, írok egy programot (bármit) ami jól működik,módosítom, a vázlat jól lefordul. Feltöltéskor az alábbi hibaüzenetet kapom

avrdude: stk500_paged_load(): (a) protocol error, expect=0x10, resp=0x00
avrdude: stk500_cmd(): programmer is out of sync
avr_read(): error reading address 0x0000
read operation not supported for memory "flash"
avrdude: failed to read all of flash memory, rc=-2
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00

utána már nem tudok feltölteni programot (a blink-et sem ) mindig ugyanazt a hibát írja ki egészen addig amíg újra nem indítom a gépemet teljesen
olyan mintha beakadna az usb kezeles
win7 és arduino1.8.9 van a gépemen
mi erre a megoldás?

Avatar
Dani
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2006. április 6. csütörtök, 6:00
Tartózkodási hely: Komló

Re: Arduino programozás segítség

HozzászólásSzerző: Dani » 2019. június 21. péntek, 7:13

Közben rájöttem hogy mi okozhatja, ha használom a soros monitort és bezárom valamiért nem mindig zárja le az USB-n a kommunikációt.
Nem tudom hogy ez a gép problémája vagy windózé, vagy arduinóé.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 10047
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Arduino programozás segítség

HozzászólásSzerző: Robert » 2019. július 12. péntek, 2:53

Szoftverhiba, PC oldalon.

Régebbi Arduino kiadásnál is csinálja?
http://www.tavir.hu - a gazda :)

Avatar
Dani
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2006. április 6. csütörtök, 6:00
Tartózkodási hely: Komló

Re: Arduino programozás segítség

HozzászólásSzerző: Dani » 2019. július 12. péntek, 5:41

Köszi a választ közben én is erre jutottam mert ugyanez a verzió másik gépen nem csinálja .

Avatar
Verjoz
SzínkódFestő
Hozzászólások: 99
Csatlakozott: 2018. március 13. kedd, 7:18

Re: Arduino programozás segítség

HozzászólásSzerző: Verjoz » 2019. október 3. csütörtök, 21:07

Sokan mondták azt, hogy az arduino hardveresen nem arra van tervezve, hogy mondjuk egy non-stop futtatást kibírjon, hónapokon keresztül.
He azt is modták már, hogy azzá lehet tenni.
Nos engem ez érdekelne, hogy mik is a korlátok és hogyan lehet leküzdeni őket.

vargham
Chipgyilok
Hozzászólások: 278
Csatlakozott: 2014. január 8. szerda, 8:32
Kapcsolat:

Re: Arduino programozás segítség

HozzászólásSzerző: vargham » 2019. október 4. péntek, 6:55

Az Arduino? Melyik? Csak mert gyártanak sokféle variánst. Az alapvetően elmondható, hogy bármelyiket is használod, a mikrokontroller az egy ipari cucc. Arra tervezték, hogy egyszer bekapcsolod, és évekig megy.
Maga a fejlesztőeszköz is bírja ezt. Tehát alapvetően nem az idővel van a gond. Nem tudom, hol hallottál ilyet.
Ott lehet gond, hogy ha mechanikai terhelésnek (rázkódás, ütések) van kitéve. Olyan helyre illik saját, akár műgyantával kiöntött elektronikát készíteni.
A másik probléma az elektromosan zajos környezet. De ott sem idővel jön a probléma, hanem viszonylag hamar. Jobb esetben csak meghülyül a mikrokontroller, rosszabb esetben tönkre is megy. Ezért a felhasználási körülmények függvényében védelmet kell rakni minden ki és bemenetre. Minél mostohább a környezet, annál durvábbat.

Avatar
Verjoz
SzínkódFestő
Hozzászólások: 99
Csatlakozott: 2018. március 13. kedd, 7:18

Re: Arduino programozás segítség

HozzászólásSzerző: Verjoz » 2019. október 4. péntek, 14:32

Köszönöm szépen az infót !

Avatar
Verjoz
SzínkódFestő
Hozzászólások: 99
Csatlakozott: 2018. március 13. kedd, 7:18

Re: Arduino programozás segítség

HozzászólásSzerző: Verjoz » 2020. április 30. csütörtök, 21:30

Kód: Egész kijelölése

/*Hardware: atmel 328 arduino pro mini 5V 16 MHz*/



#define pwmpinXP 3 //output pin X axle positive line
#define pwmpinXN 5 //output pin X axle negative line
#define pwmpinYP 6 //output pin Y axle positive line
#define pwmpinYN 9 //output pin Y axle negative line
#define tszkopOut 10 //output pin Z axle positive line
#define tszkopIn 11 //output pin Z axle megative line
#define potiXaxle A3 //Input analog signal X axle
#define potiYaxle A2 // Input analog sognal Y axle
int potiertekX; //var.potentiometer process X axle
int potiertekY; //var.potentiometer process Y axle
int kitoltesXP; // ioutput pwm signal + X
int kitoltesXN; // output pwm signal - X
int kitoltesYP; // output pwm signal + Y
int kitoltesYN; // output pwm signal - Y
#define nyomogombZP 2 //input pin Z axle positive line
#define nyomogombZN 4 // input pin Z axle negative line



void setup(){
  //Setup In and Out pins
  pinMode(pwmpinXP,OUTPUT);
  pinMode(pwmpinXN,OUTPUT);
  pinMode(pwmpinYP,OUTPUT);
  pinMode(pwmpinYN,OUTPUT);
  pinMode(tszkopOut,OUTPUT);
  pinMode(tszkopIn,OUTPUT);
  pinMode(nyomogombZP,INPUT);
  pinMode(nyomogombZN,INPUT);
 
 
 
}




 void loop(){
  potiertekX=analogRead(potiXaxle)/4; //analog signal read X axle potentiometer
  potiertekY=analogRead(potiYaxle)/4; //analog signal read Y axle potentiometer
 
// switch process
  if(digitalRead(nyomogombZN)==HIGH){digitalWrite(tszkopIn,HIGH);}
  else{digitalWrite(tszkopIn,LOW);}
  if(digitalRead(nyomogombZP)==HIGH){digitalWrite(tszkopOut,HIGH);}
  else{digitalWrite(tszkopOut,LOW);}
 
 /*X axle up and down*/

 
  switch (potiertekX){
   
    //X axle not run
    case 120: kitoltesXP=0;
    break;
   
    case 121: kitoltesXP=0;
    break;
   
    case 122: kitoltesXP=0;
    break;
   
    case 123: kitoltesXP=0;
    break;
   
   
    case 124: kitoltesXP=0;
    break;
   
   case 126: kitoltesXP=0;
    break;
   
     case 127: kitoltesXP=0;
    break;
   
     case 128: kitoltesXP=0;
    break;
   
     case 129: kitoltesXP=0;
    break;
   
     case 130: kitoltesXP=0;
    break;
   
     case 131: kitoltesXN=0;
    break;
   
      case 132: kitoltesXN=0;
    break;
   
     case 133: kitoltesXN=0;
    break;
   
     case 134: kitoltesXN=0;
    break;
   
     case 135: kitoltesXN=0;
    break;
   
    case 136: kitoltesXN=0;
    break;
   
    case 137: kitoltesXN=0;
    break;
   
    case 138: kitoltesXN=0;
    break;
   
    case 139: kitoltesXN=0;
    break;
   
    case 140: kitoltesXN=0;
    break;
   
   
    //X axle up
     case 117: kitoltesXP=2;
    break;
   
     case 115: kitoltesXP=6;
    break;
   
     case 112: kitoltesXP=10;
    break;
   
     case 110: kitoltesXP=12;
    break;
   
     case 108: kitoltesXP=15;
    break;
   
     case 105: kitoltesXP=20;
    break;
   
     case 100: kitoltesXP=25;
    break;
   
     case 95: kitoltesXP=30;
    break;
   
     case 90: kitoltesXP=40;
    break;
   
     case 85: kitoltesXP=50;
    break;
   
     case 80: kitoltesXP=60;
    break;
   
     case 75: kitoltesXP=70;
    break;
   
     case 70: kitoltesXP=90;
    break;
   
    case 65: kitoltesXP=100;
    break;
   
    case 60: kitoltesXP=120;
    break;
   
    case 55: kitoltesXP=150;
    break;
   
    case 50: kitoltesXP=170;
    break;
   
    case 40: kitoltesXP=180;
    break;
   
    case 30: kitoltesXP=190;
    break;
   
    case 20: kitoltesXP=200;
    break;
   
    case 10: kitoltesXP=220;
    break;
   
    case 0: kitoltesXP=255;
    break;
 
   
   
    //X axle down
   
     case 141: kitoltesXN=2;
    break;
   
     case 144: kitoltesXN=4;
    break;
   
     case 147: kitoltesXN=7;
    break;
   
     case 150: kitoltesXN=10;
    break;
   
     case 153: kitoltesXN=12;
    break;
   
     case 156: kitoltesXN=15;
    break;
   
     case 160: kitoltesXN=17;
    break;
   
     case 165: kitoltesXN=20;
    break;
   
     case 170: kitoltesXN=25;
    break;
   
     case 175: kitoltesXN=30;
    break;
   
     case 180: kitoltesXN=35;
    break;
   
     case 185: kitoltesXN=40;
    break;
   
     case 190: kitoltesXN=50;
    break;
   
     case 195: kitoltesXN=60;
    break;
   
    case 200: kitoltesXN=80;
    break;
   
    case 205: kitoltesXN=100;
    break;
   
    case 210: kitoltesXN=120;
    break;
   
    case 215: kitoltesXN=150;
    break;
   
    case 220: kitoltesXN=160;
    break;
   
    case 225: kitoltesXN=170;
    break;
   
    case 230: kitoltesXN=180;
    break;
   
    case 235: kitoltesXN=200;
    break;
   
    case 240: kitoltesXN=210;
    break;
   
    case 250: kitoltesXN=220;
    break;
   
    case 255: kitoltesXN=255;
    break;
   
  }
 switch (potiertekY){
   
    //Y axle not run
   
    case 100: kitoltesYP=0;
    break;
   
    case 108: kitoltesYP=0;
    break;
   
   
    case 110: kitoltesYP=0;
    break;
   
    case 115: kitoltesYP=0;
    break;
   
    case 118: kitoltesYP=0;
    break;
   
    case 119: kitoltesYP=0;
    break;
   
     case 120: kitoltesYP=0;
    break;
   
    case 121: kitoltesYP=0;
    break;
   
    case 122: kitoltesYP=0;
    break;
   
    case 123: kitoltesYP=0;
    break;
   
   
    case 124: kitoltesYP=0;
    break;
   
   case 126:{kitoltesYP=0;}
    break;
   
     case 127: kitoltesYP=0;
    break;
   
     case 128: kitoltesYP=0;
    break;
   
     case 129: kitoltesYP=0;
    break;
   
     case 130: kitoltesYN=0;
    break;
   
     case 131: kitoltesYN=0;
    break;
   
      case 132: kitoltesYN=0;
    break;
   
     case 133: kitoltesYN=0;
    break;
   
     case 134: kitoltesYN=0;
    break;
   
     case 135: kitoltesYN=0;
    break;
   
    case 136: kitoltesYN=0;
    break;
   
    case 137: kitoltesYN=0;
    break;
   
    case 138: kitoltesYN=0;
    break;
   
    case 139: kitoltesYN=0;
    break;
   
    case 140: kitoltesYN=0;
    break;
   
    case 142: kitoltesYP=0;
    break;
   
    case 144: kitoltesYP=0;
    break;
   
    case 146: kitoltesYP=0;
    break;
   
    case 148: kitoltesYP=0;
    break;
   
    case 150: kitoltesYP=0;
    break;
   
    case 155: kitoltesYP=0;
    break;
   
   
    case 157: kitoltesYP=0;
    break;
   
    case 160: kitoltesYP=0;
    break;
   
   
    case 165: kitoltesYP=0;
    break;
   
   
    //Y axle up
     case 117: kitoltesYP=2;
    break;
   
   
   
     case 95: kitoltesYP=30;
    break;
   
     case 90: kitoltesYP=40;
    break;
   
     case 85: kitoltesYP=50;
    break;
   
     case 80: kitoltesYP=60;
    break;
   
     case 75: kitoltesYP=70;
    break;
   
     case 70: kitoltesYP=90;
    break;
   
    case 65: kitoltesYP=100;
    break;
   
    case 60: kitoltesYP=120;
    break;
   
    case 55: kitoltesYP=150;
    break;
   
    case 50: kitoltesYP=170;
    break;
   
    case 40: kitoltesYP=180;
    break;
   
    case 30: kitoltesYP=190;
    break;
   
    case 20: kitoltesYP=200;
    break;
   
    case 10: kitoltesYP=220;
    break;
   
    case 0: kitoltesYP=255;
    break;
 
   
   
    //Y axle down
   
   
     case 170: kitoltesYN=25;
    break;
   
     case 175: kitoltesYN=30;
    break;
   
     case 180: kitoltesYN=35;
    break;
   
     case 185: kitoltesYN=40;
    break;
   
     case 190: kitoltesYN=50;
    break;
   
     case 195: kitoltesYN=60;
    break;
   
    case 200: kitoltesYN=80;
    break;
   
    case 205: kitoltesYN=100;
    break;
   
    case 210: kitoltesYN=120;
    break;
   
    case 215: kitoltesYN=150;
    break;
   
    case 220: kitoltesYN=160;
    break;
   
    case 225: kitoltesYN=170;
    break;
   
    case 230: kitoltesYN=180;
    break;
   
    case 235: kitoltesYN=200;
    break;
   
    case 240: kitoltesYN=210;
    break;
   
    case 250: kitoltesYN=220;
    break;
   
    case 255: kitoltesYN=255;
    break;
  }
 //output control
analogWrite(pwmpinXP,kitoltesXP);
analogWrite(pwmpinXN,kitoltesXN);
analogWrite(pwmpinYP,kitoltesYP);
analogWrite(pwmpinYN,kitoltesYN);

}

Avatar
Verjoz
SzínkódFestő
Hozzászólások: 99
Csatlakozott: 2018. március 13. kedd, 7:18

Re: Arduino programozás segítség

HozzászólásSzerző: Verjoz » 2020. április 30. csütörtök, 21:40

Üdv mindenkinek! A fenti kóddal kapcsolatban szeretném a véleményeteket és segítségeteket kikérni. Lényege annyi hogy joystik el irányítok valamit.
A shopban kapható joystick ról van szó. X Y irány potiról van működtetve. A Z irány nyomógombról.A kód működik csak szerintem biztos van egyszerűbb módja is a megvalósításának csak valahogy nem áll össze a matek. Alaphelyzetben a potik kb középértéken állnak. És az értékük változásával szsbályzom a a pwm kitöltési tényezőit. De ebben a formában nem túl elegáns nekem.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 10047
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Arduino programozás segítség

HozzászólásSzerző: Robert » 2020. május 1. péntek, 6:15

select-case elegánsabban:

if (éréek>xxx && érték <yyyy) {
legyen valami;}

vagy a select-case esetén a case tartományokat adod meg.

Tipp: a poti bizonytalanságot/kézremegést tedd bele. ne 1-1 mérésed legyen, hanem én futóátlagot csinálnék. Utolsó 10...200 mérés átlagolva. Ez a mérési bizonytalansági hibát is szűri..
http://www.tavir.hu - a gazda :)


Vissza: “Arduino / C-nyelvű programozás (AVR-Duino, EthDuino, Arduino, Diecimila)”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 0 vendég