marți, 22 martie 2011

Pachube si radiatia din Japonia

Un exemplu excelent de Internet of Things in actiune: pe Pachube sunt sute de feed-uri live care monitorizeaza radiatia din Japonia.

Articolul de pe blogul Pachube ne arata ce poate face open hardware si open data atunci cand este cu adevarat nevoie!

Daca la japonezi autoritatile nu au fost inca in stare sa faca o asemenea harta, dupa mai mult de o saptamana, sa facem un mic exercitiu de imaginatie si sa incercam sa ghicim cam cate luni (sau poate cati ani) ne-ar lua noua...

Ce se intampla acum la ei si cu aceste feed-uri live din Japonia imi aduce oarecum aminte de radioamatorii care transmiteau mesaje in situatii de criza, cand alte mijloace de comunicare nu functionau.

luni, 21 martie 2011

Suport pentru USB host la FEZ Panda

Intr-o postare anterioara am scris ca pe acest blog raman doar stirile referitoare la Arduino. Avand in vedere ca si placile FEZ Panda (ca si FEZ Domino, de altfel) sunt compatibile la shield-uri cu Arduino nu m-am putut abtine sa nu dau si aici vestea cea mare ;-)

GHI Electronics au binevoit sa introduca in ultima versiune de firmware suportul pentru USB host si la placile "economice" Panda si Mini!

Pana apuc sa testez si eu si vad ce si cum, aici este link-ul cu procedura "oficiala".

Vestea nu chiar atat de buna este ca, se pare, pentru a putea utiliza host-ul USB, suntem obligati sa facem debugging pe serial... Ramane de vazut daca nu se poate adauga un alt conector USB, doar pentru host, asa cum e si pe FEZ Domino...

marți, 15 martie 2011

Arduino la Romanian Cyber Conference

Am aflat astazi despre o conferinta online care va avea loc duminica, 20 martie 2011, incepand cu ora 19:00 si care va avea si o prezentare a platformei Arduino.
Adrian Mihai, cunoscut şi sub pseudonimul Spock, un tânăr pasionat de electronică şi robotică ne va introduce în domeniul programării hardware, tema aleasă de el fiind “Arduino – Hardware revolution”


Romanian Cyber Conference (RoCyberCon) este un eveniment susţinut regulat de worldit.info cu sprijinul Hackpedia, Programare.org, NetHelp, Tutoriale Online şi Insecurity România ce doreşte să informeze şi să facă schimb de experienţă cu programatorii şi experţii de securitate din România. Conferinţa se desfăşoară în mediul online,


Mai multe detalii pe site-ul oficial.

sâmbătă, 5 martie 2011

Programare Arduino fara computer

Am vazut pe Hack A Day un proiect foarte interesant: un interpretor in timp real pentru Arduino, cu un display LCD de pe care se poate interactiona "live" cu Arduino (un set limitat de instructiuni).
Proiectul original il gasiti la Teague Labs. Are si un clip demonstrativ. O mica parte din descrierea de pe site-ul original:
The Computerless Arduino consists of two major components; an Arduino-compatible microcontroller loaded with a realtime code interpreter, and a stand-alone 5 button LCD display to display port values and manipulate code. The display can be connected to the Arduino via a 4-pin port at any time to peek at In/Out values, view the current code, and make changes as desired.

PCB "de criza" pentru SMD-uri

In urma unei discutii avute la intalnirea Tehnorama de acum doua saptamani cu dl. Dan Stroie m-am hotarat sa incerc sa fac si eu un PCB pentru un Atmel ATtiny13V in format SOIC8 din care aveam prin casa mai multe bucati luate de vreo 2 ani.
Am pus si doua rezistente si un LED, tot SMD-uri, luate tot atunci. Buton nu aveam, asa ca am indoit picioarele la un push buton normal si le-am lipit pe trase.

Am trasat manual, cu doua markere, unul de 0.3 si altul de 1.5mm (cel putin asa cred...)
Pe unde am gresit am sters cu o carpa inmuiata in alcool izopropilic. Corectiile mai fine le-am facut cu un batz cu vata.

Cost "echipamente": sub 20 de lei si ajung la zeci de cablaje mai mari decat al meu ;-)

Montajul merge perfect (daca ignoram faptul ca butonul nu este cuplat cum trebuie), dar arata destul de neprofesionist. Oricum, este o evidenta imbunatatire prin comparatie cu placile de stripboard pe care trageam cablu UTP pentru legaturi :)

Programarea am facut-o cu programatorul de la Pololu, legat la PCB prin cabluri terminate cu crocodili, ca sa evit sa pun un conector ISP cu 6 pini ;-)

Ca posibile imbunatatiri: data viitoare trag traseele cu o rigla... folosesc cablaj cu doua fetze si fac legaturile prin gauri... sau folosesc spatele placii pentru conexiuni si piese care nu sunt SMD, tot prin gauri, asa cum e acum compartimentul pentru bateria CR2032.













joi, 3 martie 2011

Arduino si Masini ierarhice de stare

Arduino si Masini ierarhice de stare

Acum cateva zile au aparut noi versiuni ale programelor de la Quantum Leaps, firma care furnizeaza un framework Open Source si un mediu grafic gratuit pentru dezvoltarea de masini de stare si producerea de cod specific unei multitudini de familii si arhitecturi de microcontrolere. Vestea buna este ca acum exista inclusiv pentru Arduino si mbed.

Versiunea de framework pentru Arduino o gasiti aici. Se integreaza in IDE-ul Arduino si are doua exemple foarte bine documentate. Acelasi lucru se poate spune si despre Application Note specific mediului Arduino, asa ca nu ma mai chinui sa repovestesc instalarea si utilizarea.

Instrumentul grafic de dezvoltare, care porneste de la diagrame si scrie sketch-ul .pde pentru Arduino, il gasiti aici. Exista versiuni gratuite atat pentru Windows, cat si pentru Linux :)

La modul general, pentru cei care doresc sa stie ce este o masina ierarhica de stare si cum difera de automatele finite (masini cu un numar finit de stari), aici gasiti o foarte buna explicatie.

De ce este nevoie de o masina cu stari?

Modelul de programare utilizand masini de stari prezinta o serie de beneficii prin comparatie atat cu programarea "clasica" cu control secvential al executiei (bazata pe blocarea si scanarea dupa un anumit eveniment), cat si cu utilizarea unui RTOS sau Sistem de Operare in Timp Real care asteapta dupa un semafor sau o alta metoda specifica RTOS.

Avantajul apare in situatiile in care un numar de evenimente diferite se pot produce in situatii in care ordinea aparitiei lor nu poate fi determinata si in care este important raspunsul imediat al sistemului la eveniment.

Daca exista interes pentru acest subiect voi face un tutorial, care va fi probabil publicat pe Tehnorama.

miercuri, 2 martie 2011

Curatenia de primavara

Curatenia de primavara

[Edit - 12 aprilie 2011] Din lipsa de timp am amanat "schimbarea" de mai jos...

Incepand de astazi pe acest blog voi posta doar informatii referitoare la Arduino.

Toate informatiile referitoare la celelalte familii si arhitecturi de microcontrolere vor trece pe noul Wiki, Lumea Microcontrolerelor.

M-am hotarat sa fac acest lucru din mai multe motive:
- pare mai normal ca un blog numit "Arduino in Romania" sa fie doar despre Arduino ;-)
- blogul s-a aglomerat cu informatii prea diverse
- este mult mai usor si mai logic de structurat informatiile cu un Wiki decat cu un blog
- articolul din care aflam ca "Arduino a invins", mentionat in postarea Pagina Make despre Arduino, mi-a dat foarte mult de gandit ;-)

Acum intrebarea se pune astfel: "Bun... a invins... si acum ce facem mai departe?".
Dupa parerea mea apar mai multe variante posibile de raspuns. Sa le luam pe rand:

- in cazul in care suntem la inceput cu microcontrolerele si tot ceea ce ne dorim este sa invatam sa lucram si sa facem mici montaje/automatizari/robotei ramanem in continuare doar cu Arduino si ne este mai mult decat suficent

- daca dorim sa patrundem mai adanc in aceasta fascinanta lume a microcontrolerelor sau daca ne intereseaza performanta putem trece la alte familii, eventual pe mai multi biti, in functie de tot soiul de criterii (pret, disponibilitate, usurinta invatarii unui alt limbaj etc.)

- varianta a treia este cea pe care am ales-o pentru mine: nu ne impiedica nimic sa folosim diferite microcontrolere, in functie de scopul urmarit si de situatia la un anumit moment dat, inclusiv Arduino pentru dezvoltare rapida :)