Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Cost abonament clinica privata

Tremura toata, dar nu de la ro...

Renault Android

Recomandare bicicleta e-bike 20&#...
 Bing-Content removal tool

Nu pot accesa monitorulsv.ro de l...

Cum sa elimini urmele de acnee?

Wc Geberit
 Routere detinute in trecut si in ...

Teii din fața casei

E-Mail in serie prin Excel si Out...

Modul alimentare rulou/jaluzea ex...
 Recuperare fișiere dupa form...

Aplicatii stress test RAM

Asigurare auto hibrid

Asus B550M - PC-ul nu porneste di...
 

ARDUINO !

- - - - -
  • Please log in to reply
205 replies to this topic

#199
ravvy

ravvy

    Member

  • Grup: Members
  • Posts: 283
  • Înscris: 22.06.2009
Dragi prieteni au trecut 7 ani si voiam sa revin cu feedback chiar daca este cam tarziu. Arduino a fost excelent si am fost foarte multumit de el . Intr-un final am cumparat un arduino uno simplu original de la "robofun" 112 RON la vremea aceea (2011).In acea iarna a inceput nebunia eram si in vacanta si era si pacat sa nu imi trosnesc creieri cu niste programare simpla in care mi-am pierdut foarte mult timp lovindu-ma de fiecare limitare/eroare a IDE -ului din vremea aceea. Intr-un final am facut doar "teste" cu ce am avut deja in arsenal urmand sa cumpar de vreo 20 de dolari de la tovarasii chinezi niste ansamble usor de controlat. Din pacate m-am oprit dupa 3 ani de la achizitie de acest hobby dar am invatat multe.Intre timp am achizitionat un Rpi3 RpiZeroW si alte zeci de componente de la "tovarasi" si le-am tot strans. Acum ma pregatesc de un proiect avand foarte multe materiale(senzori/servo/LCD-uri/wireless) care sa fie ceva mai complex nemaifiind limitat de cutia de piese de sub birou. Arduino a fost si este absolut genial. Zii placuta ! o sa revin cu un link la canalul meu de YT in care cine are rabdare sa vada filmat amatoriceste una alta din trecut.

#200
edy_wheazel

edy_wheazel

    Superior Member

  • Grup: Senior Members
  • Posts: 50,989
  • Înscris: 31.07.2007
Salutari.

Am o problema care ma racaie de ceva vreme si numa' nu reusesc sa-i dau de capat. O sa incerc sa explic cat mai succint, ii vorba de un sistem care comanda 8 relee de la o tastatura, atat in mod direct cat si pe baza unor preseturi scrise in EEPROM. Releele sunt declarate ca si o arie astfel:

int relayPin[8] = {2,3,4,5,6,7,8,9};


La apasarea unui buton imi afiseaza releele pornite pe serial monitor:

void WriteMem (int data){ 
  digitalRead(relayPin[data]);
  for (int i=0;i<8;i++){	
	 relayPin[data]=(digitalRead(relayPin[i]));
	 Serial.print (relayPin[data]);
  }
}


Astfel, pe monitorul serial imi apar releele aclansate in forma 11010001 (de exemplu), adica aclansate releele 1,2,4,8. Toate bune si frumoase da' io vreau ca aceste date sa le memorez in EEPROM iar programul nu le vede ca fiind 8 biti ci 8 octeti, astfel pentru a le memora am nevoie de 8 locatii de memorie nu de una singura. Exista vreo modalitate de a transforma un int arie [ ] intr-un int simplu, astfel incat sa nu-mi ocupe de 8 ori mai mult EEPROM?

#201
binox

binox

    Active Member

  • Grup: Members
  • Posts: 1,257
  • Înscris: 17.02.2008
Cred ca ce-ti trebuie tie se numeste ''bit fields'' .
O alta abordare ar putea fi sa stochezi un singur int din care sa extragi valoarea pentru fiecare bit.

#202
edy_wheazel

edy_wheazel

    Superior Member

  • Grup: Senior Members
  • Posts: 50,989
  • Înscris: 31.07.2007
Multumesc pt. reply. O sa arunc o privire peste bit fields, n-am mai folosit pana acum si nu sunt acasa pentru teste.

Quote

O alta abordare ar putea fi sa stochezi un singur int din care sa extragi valoarea pentru fiecare bit.

Practic asta am incercat, sa transform aria aia intr-un int, n-am reusit nici cum. :D

#203
mihaicozac

mihaicozac

    Guru Member

  • Grup: Senior Members
  • Posts: 15,545
  • Înscris: 05.12.2005
Stochezi un singur byte iar biţii separaţi îi poţi scrie sau citi cu funcţia bitRead() sau bitWrite(). de ex. ai aşa byte relay = B00110101, apoi faci bitWrite(  relay, 3, 1), care scrie bitul 3 cu valoarea 1.
La citire faci simplu boolean status = bitRead(relay, 3).

Edited by mihaicozac, 13 April 2018 - 12:22.


#204
edy_wheazel

edy_wheazel

    Superior Member

  • Grup: Senior Members
  • Posts: 50,989
  • Înscris: 31.07.2007

View Postmihaicozac, on 13 aprilie 2018 - 12:13, said:

...

Sistemul functioneaza, bitii sunt setati/resetati in functie de tasta apasata, LED-urile se aprind corect, in serial monitor imi apare frumos in binar starea lor, pasarelele ciripesc si albinutele zboara din floare in floare. :D Singura problema apare in momentu' in care bitii cititi vreau sa-i bag in EEPROM, sunt de fapt Byts datorita faptului ca pinii de iesire au fost declarati ca si arie.
Pana la urma, daca ma enervez, o sa declar fiecare pin separat si o sa-l ciresc in consecinta! :D

#205
mihaicozac

mihaicozac

    Guru Member

  • Grup: Senior Members
  • Posts: 15,545
  • Înscris: 05.12.2005
Dacă declari un singur byte pt starea tuturor.releelor în loc de arie scapi de problemă şi economiseşti şi spaţiu şi calcule.

#206
edy_wheazel

edy_wheazel

    Superior Member

  • Grup: Senior Members
  • Posts: 50,989
  • Înscris: 31.07.2007
Daca nu reusesc asta o sa fac. Problema (inconvenientu' mai degraba) ii ca trebuie sa modific in program si partea de citire/scriere.

Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate