marți, 30 noiembrie 2010

Bitlash - un alt shell pentru Arduino

Bitlash este un shell si, in acelasi timp, un mediu de programare embedded simplu si usor de folosit pentru Arduino. Mai este si open source ;-)

Bitlash ruleaza pe Arduino si accepta multe dintre functiile obisnuite pe care le gasim in documentatia Arduino.

Moduri de lucru cu Bitlash:
1. Comenzile se pot introduce si interpreta interactiv, cu ajutorul "Serial Monitor" din IDE-ul Arduino (vezi observatiile de mai jos), sau cu un program gen "Hyperterminal".
2. Mai interesant, pot fi salvate secvente macro in EEPROM si le putem rula oricand dorim, inclusiv la boot-area placii!
3. Si mai interesant, functiile built-in ale Bitlash pot fi apelate din propriile sketch-uri, adaugand biblioteca aferenta!!
4. Inca si mai interesant, putem adauga propriile noastre functii la biblioteca Bitlash, cu ajutorul addBitlashFunction()!!!


Sketch-ul demo incarcat pe un Arduino 2009 cu bootloader-ul normal


Sketch-ul demo incarcat pe un Arduino 2009 cu bootloader-ul Optiboot... de remarcat diferenta de spatiu liber ramas...


Cateva comenzi simple


HELP! :D

Documentatia este destul de mare, asa ca nu mai intru in alte amanunte.

Observatii:
- daca utilizati "Serial Monitor" din kit-ul Arduino pentru comunicare, fiecare comanda trebuie finalizata cu tasta apostrof "`" aflata in general pe tastatura sub Escape, in stanga sus, inainte de cifra 1;
- ocupa mult loc... dar cred ca merita ;-)
- am incercat mai de mult biblioteca inclusa in kit-ul Arduino Firmata, prefer totusi Bitlash...

duminică, 28 noiembrie 2010

FEZ Panda si LCD serial

Am postat pe Tehnorama un mic tutorial despre utilizarea unui LCD serial impreuna cu FEZ Panda.

vineri, 26 noiembrie 2010

FEZ Panda

Am luat ieri de la RoboFun un FEZ Panda. Prin comparatie cu Arduino este o placa foarte tare!
Specificatiile sunt aici: TinyCLR.
Microcontrolerul de pe placa este un "ARM7TDMI-S microcontroller with 512KB flash, dual AHB bus architecture, USB full-speed device/host/OTG, 10/100 Ethernet, ISP/IAP, CAN, 10-bit ADC/DAC" ;-)

Am facut o actualizare de firmware si m-am gandit sa scriu un tutorial despre acest lucru.

joi, 25 noiembrie 2010

Alte familii de microcontrolere

Am inceput impartirea blogului in pagini aferente diferitelor familii de microcontrolere care ma intereseaza ;-)
Fiecare pagina va contine linkuri catre placi de dezvoltare, compilatoare, forumuri, resurse utile.

Pe moment am introdus informatii doar in urmatoarele pagini:
STM
AVR
8051
.NET

marți, 23 noiembrie 2010

Interfata seriala

Cautand prin diverse lucruri pe care le pastrez de multi ani de zile "just in case", am gasit un mouse pe serial ;-)
Cablul de conectare este perfect pentru orice microcontroler cu interfata UART si PC cu port serial. Merge pus pe breadboard la orice montaj cu un microcontroler, in scopul comunicarii pe serial cu PC-ul.
Lista de componente necesare adaptorului pentru breadboard de mai jos: cablul, doua barete de pini a cate 4 pini fiecare, un soclu DIP16, un MAX232, 4 condensatori electrolitici de 10uF, o placa stripboard (veroboard).









Cateva pagini interesante:
http://www.arcelect.com/rs232.htm
http://www.beyondlogic.org/serial/serial.htm
http://extremeelectronics.co.in/avr-tutorials/using-the-usart-of-avr-microcontrollers-reading-and-writing-data/
http://www.captain.at/electronic-atmega16-serial-port.php
http://www.swharden.com/blog/2009-05-14-simple-case-avrpc-serial-communication-via-max232/
http://www.8051projects.net/serial-communication/introduction.php

miercuri, 17 noiembrie 2010

Adaptor MicroSD Card "de criza"

Adaptorul poate fi folosit impreuna cu orice tip de microcontroler care "cunoaste" SPI (Serial Peripheral Interface).
De obicei, la achizitionarea unui card MicroSD, primim un adaptor SD Card. Am vazut mai multe exemple de adaptoare pe care s-a lipit direct bareta de pini, dar nu mi s-au parut prea rezistente in cazul utilizarii pe breadboard, de aceea m-am gandit sa folosesc o bucata de stripboard pe care am prins cu banda izolatoare adaptorul, apoi am facut lipiturile.

Edit (20101118): am adaugat in comentariu cateva linkuri interesante
Edit (20101204): o implementare mult mai eleganta (pentru Arduino, 4 postari, schema, imagini, program) gasiti pe blogul Arduinoos


Schema de mai sus: "TOSHIBA SD Card Specification"







Dezavantajul fata de un adaptor comercial este ca nu sesizeaza prezenta cardului.

Mentiunea obisnuita: mai merge "slefuit" un pic ;-)

marți, 9 noiembrie 2010

AVR - Adaptor ISP 6 pini pentru breadboard

Programatorul AVR pe USB de la Pololu pe care-l folosesc are un conector IDC 6 pini standard. Pentru breadboard este mai usor de utilizat o bareta de 6 pini (tata). Am facut un mic montaj pe o bucatica de stripboard, pe care am pus si butonul de reset si rezistenta de 10K, pentru a simplifica montajele de pe breadboard.
Ca de obicei, mai intai am facut montajul, apoi, dupa ce am vazut ca nu se vede bine in imagini, am facut si o "schema"...

Mai merge slefuit un pic, dupa cum se poate vedea mai jos ;-)



miercuri, 3 noiembrie 2010

Arduino si Bluetooth - partea a 2-a

Am folosit un shield I/O si un modul Bluetooth de la DFRobot.
I/O Expansion
Serial Bluetooth
Shieldul I/O are deja un conector in care se potriveste modulul BT, dupa cum se vede in imaginile din partea 1. Modulul BT vine cu un dongle USB pe care l-am conectat la PC.
"Programul" pentru Arduino este cel din documentatia aferenta modulului BT:
void setup()
{
Serial.begin(115200); //Set serial baud rate to 115200
}
void loop()
{
Serial.print("Hello!"); //print out hello string
delay(1000); //1 second delay
}

Dupa ce am pornit Arduino in configuratia de mai sus, a aparut device-ul EPBMX-COM si la sfarsit am avut cele doua porturi (incoming si outgoing).
Cu ajutorul unui program gen hyperterminal, setat la 115200, am primit mesajele trimise de Arduino.

In concluzie, conectarea intre microcontrolere este simpla, la fel si cea dintre PC si microcontroler. Problema apare in cazul in care dorim sa ne conectam la un telefon mobil. Inca nu am reusit mare lucru, documentatia este destul de consistenta si ar trebui scris un program pentru mobil in Java ME.

Voi mai posta daca reusesc sa-l conectez si cu mobilul :D