Hírek:

Fontos tudnivalók a migrációval kapcsolatban, kérlek olvasd el:

A régi fórumról áthozott hozzászólásoknál a felhasználó neve adatvédelmi megfontolásokból véletlenszerűen generált értékekre lett  lecserélve. Ez akkor tud a valódi értékre visszaállni, ha az adott felhasználó a régi fórumon nyilatkozik, hogy beleegyezik az adatainak az új fórumra továbbításához, majd ezután itt a régi felhasználónevével és email címével regisztrál.
8~20 óra között, 1~30 percen belül megtörténik a jóváhagyás, 30 percenként ellenőrizd email fiókodat (SPAM-ot is) mindenképp kapsz mail-t, a sikeres regisztrácioról, vagy a hibáról és, hogy mi a teendőd.
Nézd meg  "A régi fórumról, az új fórumra költözés útmutatót."
A régi fórumon használt email címmel de más felhasználói azonosítóval érkező regisztrációs kérelmek törlésre kerűlnek.

Main Menu

Arduino

Indította gaben, 2025 február 03, 18:09

Előző téma - Következő téma

GG

ha mutatnád a kódrészletet, és tudnánk, hogy a limiter poti hová van dugva, ééés a constrain() is megvan, akkor el lehetne gondolkozni a kérdésen

nyiszi

Egy ATXMEGA-ba hogyan kell betölteni a hex fájlt?

-c ft232r -p m328p -P COM5 -e -U flash:w:".hex":a

Ezt a sort hogyan kell módositani ha a hex fajl  itt van?

C:\Users\nyisz\Desktop\NANDLite  

A port  COM4
Ilyen ic-k vannak a panelen: ft245rl   atxmega128a4u

Gondolom az elejet meg erre kell:  ft245rl -p m128a4u

Ha sok butaságot írtam akkor azt kérem bocsássátok meg.
Még nem csináltam ilyet.

ebalint

Szia!

Én - néha - az avrdudess nevű programot használom erre a célra.

Próbáld ki. Fel- és letöltés is megy vele.

ebalint

Igaz, hogy csak atmega -val...

Csuhás

Szerintem érdemes venni egy programozót. Magam régebben avrisp mk2 manapság pedig atmel ice eszközt használok. Ezekkel beégethető a prociba egy bootloader amivel már programozó nélkül lehet frissíteni a proci tartalmát.

nyiszi

Köszönöm szépen a tanácsokat.

kvma5u9e8

Sziasztok!
Még kezdő vagyok a programozásban, és szeretnék segítséget kérni. úgy kellene működnie, hogy az előző követi a mostani változót, de sajnos a kettő mindig egyenlő, és nem tudom hogy miért.
Program:

const int s1 = 0;
const int s2 = 1;
const int s3 = 2;
const int s4 = 3;
const int s5 = 4;
const int s6 = 5;
const int r1 = 6;

const int fel = 7;
const int le = 8;

const int led1 = 9;
const int led2 = 10;
const int led3 = 11;
const int led4 = 12;
const int led5 = 13;
const int led6 = A0;
const int ledr = A1;
const int ledfel = A2;
const int ledle= A3;


//valtozók
int elozo  = 0;
int mostani =0;
int difi = 0;

int egy = 0;
int ketto = 0;
int harom = 0;
int negy = 0;
int ot = 0;
int hat = 0;
int raketa = 0;
int vido = 100;
int natural = 1000;



void setup() {

  Serial. begin(9600);
 
  pinMode(fel, OUTPUT);
  pinMode(le, OUTPUT);
 
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT);
  pinMode(ledr, OUTPUT);
  pinMode(ledfel, OUTPUT);
  pinMode(ledle, OUTPUT);
 
  pinMode(s1, INPUT);
  pinMode(s2, INPUT);
  pinMode(s3, INPUT);
  pinMode(s4, INPUT);
  pinMode(s5, INPUT);
  pinMode(s6, INPUT);
  pinMode(r1, INPUT);

}

void loop() {

  egy = digitalRead(s1);
  ketto = digitalRead(s2);
  harom = digitalRead(s3);
  negy = digitalRead(s4);
  ot = digitalRead(s5);
  hat = digitalRead(s6);
  raketa = digitalRead(r1);

  if (egy == HIGH) {
   
    mostani = 1;
    digitalWrite(led1, HIGH);
  }
  else {
   
    elozo = mostani;
    digitalWrite(led1, LOW);
  }
  if (ketto == HIGH) {
    mostani = 2;
    digitalWrite(led2, HIGH);
  }
  else {
    elozo = mostani;
    digitalWrite(led2, LOW);
  }
  if (harom == HIGH) {
    digitalWrite(led3, HIGH);
    mostani = 3;
  }
  else {
    digitalWrite(led3, LOW);
    elozo = mostani;
  }
  if (negy == HIGH) {
    digitalWrite(led4, HIGH);
    mostani = 4;
  }
  else {
    digitalWrite(led4, LOW);
    elozo = mostani;
  }
  if (ot == HIGH) {
    digitalWrite(led5, HIGH);
    mostani = 5;
  }
  else {
    digitalWrite(led5, LOW);
    elozo = mostani;
  }
  if (hat == HIGH) {
    digitalWrite(led6, HIGH);
    mostani = 6;
  }
  else {
    elozo = mostani;
    digitalWrite(led6, LOW);
  }
  if (raketa == HIGH) {
    digitalWrite(ledr, HIGH);
    mostani = 7;
  }
  else {
    digitalWrite(ledr, LOW);
    elozo = mostani;
  }

//Serial.println(mostani);
Serial.println(elozo);

}

Jozs

Csak akkor nem fut le egyik ELSE ág sem, ha egyszerre az összes bemenet HIGH.

Jozs

Nézd a végéről.
Ha a "raketa == HIGH" nem teljesül, az utána következő ELSE ágban lefut az "elozo = mostani" utasítás. Vagyis "raketa == LOW" esetén mindenképp egyenlő a 'mostani' és az 'elozo', függetlenül az előzményektől. És így tovább, visszafelé haladva.

Ráadásul gyanús, hogy a "mostani" -ba nem is az kerül amit szeretnél, hanem amit abban az "IF" -ben kapott, amelyikben a végéről visszafelé haladva először volt HIGH a bemenet.

Persze azt sem ártana tudni mi volt az elképzelés.

szf

Van egy nyomógomb kezelési problémám.
Keresek valakit aki privátba segítene. Köszönöm!

szf

Türelmetlen vagyok. Inkább megcsináltam magam.[#falbav]

PSoft


szf

Van egy DIRIS A10 villamos fogyasztásmérőm , szeretném az adatokat arduino-val modbus-on kiolvasni.
Van valakinek valami kiforrott progija erre. Nem pont erre a típusra, hanem valami általános dolog amivel el lehetne indulni.


szf

Számítottam a sok jelentkezőre[#kacsint]

Hasonló modullal próbálkoztam. Van is kapcsolat, legalábbis a fogyasztásmérőn a felirat jelzi. Csak nincs elegendő tudásom a továbblépéshez.