miercuri, 24 martie 2010

Card SD si MMC

Am reusit intr-un sfarsit sa folosesc un card MMC de 128 MB prin shield-ul Ethernet de la DFRobot.
Dupa diverse incercari am dat de aceasta discutie.
Nu presupune nici un fel de modificari la nivel hardware, spre deosebire de alte biblioteci :D
Am gazduit arhiva si la mine pe site: aici.
Dupa descarcare si dezarhivare se obtin doua foldere: "SDcard" si "SDLog". Acestea se copiaza in folderul "libraries" din folderul distributiei (in cazul meu, "arduino-0018").
Ambele exemple se pot compila si utiliza direct, fara erori prea serioase... daca nimeriti cardul potrivit ;-)
Din cate banuiesc, cele mai potrivite ar fi cardurile MMC intre 128MB si 1GB. Este posibil sa functioneze si cu carduri SD cam de aceleasi dimensiuni, nu am incercat.

sâmbătă, 20 martie 2010

DFRobot Ethernet Shield


DFRobot Ethernet Shield, de la www.dfrobot.com, pe care l-am gasit in Romania la magazinul on-line electronista.
Este destul de asemanator cu shield-ul Ethernet de la Arduino. Foloseste tot chip-ul Wiznet W5100.
Merge perfect atat ca server si/sau client Ethernet.
Deocamdata nu l-am putut testa cu succes in ceea ce priveste cardul SD... oricum, chiar si versiunea "originala" a shield-ului Ethernet prezinta destule dificultati in aceasta privinta...

Senzor folosing interfata pachube

connecting environments, patching the planet - www.pachube.com
Arduino Duemilanove, DFRobot Ethernet Shield si un senzor de temperatura LM335.
Primul senzor din Romania care foloseste interfata pachube!
Practic, daca ne uitam pe harta de mai jos, e cam singurel in zona Europa de Est, Rusia, Asia, Nordul Africii s.a.m.d. :)
Edit: dupa cum am fost informat de Yan, desi nu aparea pe harta, exista in acel moment (20 martie 2010) cel putin inca un Arduino din Romania pe Pachube!


Senzor Temperatura



Arduino Duemilanove cu shieldul DFRobot Ethernet instalat:

vineri, 12 martie 2010

AVRSH - un shell pentru Arduino / AVR

De ceva timp ma tenta sa incerc AVRSH, un "shell" gen UNIX pentru AVR-uri. Asa ca in loc de "Hello, world!"-ul microcontrolerelor (pornit-oprit un LED) m-am decis sa fac acest lucru "in timp real" :)

Am descarcat de pe site-ul Open Content-based AVR Battle Droid (care promite sa devina foarte interesant) AVR Shell si AVR Terminal.

AVR Shell se dezarhiveaza, se deschide proiectul cu Programmers Notepad din WinAVR, se compileaza si se trimite mai apoi pe Arduino. Aici a intervenit singura problema... eliminata simplu printr-un fisier de comenzi plasat in acelasi folder unde se gaseste si fisierul "avrsh.hex".

Continutul fisierului de comenzi:
D:\arduino-0018\hardware/tools/avr/bin/avrdude -CD:\arduino-0018\hardware/tools/avr/etc/avrdude.conf -patmega328p -cstk500v1 -P\\.\COM20 -b57600 -D -Uflash:w:avrsh.hex:i
Observatii:
  • softul pentru Arduino se afla la mine pe discul D: (daca s-ar afla pe C, in comanda de mai sus se inlocuiesc cele doua aparitii ale lui D:\ cu C:\)
  • portul folosit la mine este COM20 (se modifica in comanda de mai sus cu portul pe care il utilizati la Arduino IDE)
  • comanda ocupa in fisier o singura linie, aici este afisata pe mai multe
Dupa rularea cu succes a fisierului de comenzi se poate deschide AVR Terminal. Se alege Baud rate 57600 si portul COM de mai sus, apoi se apasa "Connect to AVR" si gata!

Suntem "logati" la AVR ca root, dupa cum se observa si din imagine...

Si acum, marea realizare: aprindem si stingem LED-ul de pe placa, conectat la PB5

Tastam comenzile (evident, fara ghilimele):

"set pin PB5 output"
Raspunsul trebuie sa fie: "Set PB5 for output"

"set pin PB5 high"
Raspunsul trebuie sa fie: "Set PB5 for high"

LED-ul este acum aprins... ne verificam acuitatea vizuala :D
"read pin PB5"
Daca totul a mers OK raspunsul este "Pin: PB5 is HIGH"

Acum putem sa-l stingem...
"set pin PB5 low"
Raspunsul trebuie sa fie: "Set PB5 for low"

In documentatia de la instructables gasim si alte comenzi, care de care mai interesante... inclusiv cum sa punem parola pentru root, in situatia putin probabila ca am avea nevoie sa nu se logheze la microcontroler persoane neautorizate :D

Arduino in Romania

De doua zile sunt fericitul posesor al unui Arduino Duemilanove!

TURUGA este singurul distribuitor autorizat al platformei Arduino in Romania, asa ca l-am comandat de acolo si pot spune ca sunt chiar foarte multumit :)
Era si mai bine daca se putea evita trimiterea din Bucuresti tot in Bucuresti exclusiv prin firma de curierat, dar pana la urma e bine si asa, macar am scapat de saptamanile de transport international, drumurile pana la vama etc.

Specificatii placa:
MicrocontrollerATmega168
Operating Voltage5V
Input Voltage (recommended)7-12V
Input Voltage (limits)6-20V
Digital I/O Pins14 (of which 6 provide PWM output)
Analog Input Pins6
DC Current per I/O Pin40 mA
DC Current for 3.3V Pin50 mA
Flash Memory16 KB (ATmega168) or 32 KB (ATmega328) of which 2 KB used by bootloader
SRAM1 KB (ATmega168) or 2 KB (ATmega328)
EEPROM512 bytes (ATmega168) or 1 KB (ATmega328)
Clock Speed16 MHz

Versiunea pe care o aduc ei in Romania este cea cu ATmega328.