This is an old revision of the document!
Arduino este un proiect hardware open source bazat pe microcontrolerele ATMEGA8 sau ATMEGA168, produse de Atmel. Poate fi folosit pentru a construi obiecte interactive, primind date de intrare de la o gamă variată de senzori şi controlând diverse periferice. Hardware-ul poate fi extins prin diverse module, ale căror scheme sunt publice, astfel încât pot fi la rândul lor extinse şi îmbunătăţite de utilizatori.
Mediul integrat de dezvoltare Arduino a fost proiectat astfel încât să fie uşor de folosit de oameni care nu au cunoştinţe avansate de hardware sau software. În acelaşi timp, Arduino IDE este suficient de flexibil pentru a putea fi folosit şi de utilizatorii avansaţi. Bazat pe mediul de dezvoltare Processing, Arduino IDE este open source şi poate fi extins prin librării C++. Nu în ultimul rând, Arduino IDE este disponibil în versiuni pentru Windows, Mac OS şi Linux, cross-platform-ul fiind unul dintre marile sale avantaje.
Zigduino este un shield compatibil cu Arduino şi dispune de un microcontroler Atmega128RFA1. Acest microcontroler încorporează un transmiţător radio conform cu standardul IEEE 802.15.4, peste care se poate implementa popularul protocol Zigbee. În ceea ce priveşte suportul software, creatorii Zigduino au făcut un fork la repository-ul oficial de Arduino, în care au adus modificările necesare pentru a programa dispozitivul folosind Arduino IDE. Acest suport va fi folosit pentru a programa şi nodul senzorial Sparrowv3.
Pasul 1: Se instalează Arduino IDE: http://www.arduino.cc/en/Main/Software (versiunea 1.0.5 - Aşa cum se menţionează şi în readme-ul arhivei, Zigduino-1.0 este compatibil doar cu Arduino-1.0x); Pasul 2: Se descarcă arhiva Zigduino-1.0: https://github.com/logos-electromechanical/Zigduino-1.0; Pasul 3: Se înlocuieşte folder-ul Arduino\hardware\tools\avr cu Zigduino-1.0-new-extension\hardware\tools\avr; Pasul 4: Se copiază în Arduino\hardware\arduino\cores folder-ul Zigduino-1.0-new-extension\hardware\arduino\cores\zigduino; Pasul 5: Se înlocuieşte fişierul Arduino\hardware\arduino\boards.txt cu Zigduino-1.0-new-extension\hardware\arduino\boards.txt; Pasul 6: Se copiază în Arduino\hardware\arduino\variants folder-ele zigduino _r1 şi zigduino_r2 din Zigduino-1.0-new-extension\hardware\arduino\variants.
După aceşti paşi ar trebui să fie vizibile doua intrări pentru Zigduino în Tools→Boards (în meniul Arduino IDE). Notă: Daca IDE-ul era pornit, va fi nevoie de un restart.
Bootloader-ul folosit este Zigduino-1.0-new-extension\hardware\arduino\bootloaders\atmega\ATmegaBOOT_168_atmega128rfa1.hex. Pentru a îl scrie în memoria flash se poate folosi Flash Programmer-ul din AtmelStudio (Tools→Device Programming).
Pasul 1: În Tools→Programmer se alege USBasp; Pasul 2: În Tools→Board selectaţi Zigduino_r1; Pasul 3: Se alege portul COM corespunzător din Tools→Serial Port; Pasul 4: Se uploadează codul de mai jos, folosind butonul de Upload.
#include <util/delay.h> int main(void) { // Serial needs interrupts. sei(); DDRB = (1<<PB5); PORTB = 0x00; // Print a message on the Serial interface Serial.begin(9600); Serial.println("Demo of how to use Serial and blink LEDs"); Serial.end(); // Make the LED blink while(1) { // Change the LED's state PORTB ^= (1<<PB5); // Wait 1 sec _delay_ms(1000); } return 0; }
Senzorul de umiditate şi temperatură este de tipul SHT21 şi este conectat la interfaţa I2C a microcontroller-ului. Pentru a citi date de la el s-au folosit fişierele sht21.c si sht21.h oferite ca suport în laboratorul doi: Pasul 1: În folder-ul Arduino\libraries se creează un nou folder, numit sht21; Pasul 2: Se copiază sht21.c si sht21.h în folder-ul creat anterior; Pasul 3: Se schimbă extensia fişierului .c în .cpp;
După aceşti paşi se va putea importa header-ul sht21.h în proiectul Arduino: #include “sht21.h”. Notă: Dacă IDE-ul era pornit, va fi nevoie de un restart.