SMAPD
Introducere
1
L2. SMAPD
2.2 Arduino
In forma sa cea mai simpla, o placa de dezvoltare ARDUINO poate fi considerata ca un mic
computer careia ii poti controla intrarile si iesirile de la chip.
ARDUINO este cunoscuta ca fiind o platforma fizica sau integrate, ceea ce inseamna ca este
un sistem interactiv si astfel prin utilizarea hardware si software poate interactiona cu mediul.
Placa de baza ARDUINO este alcatuita dintr-un microprocessor, un cristal sau un oscillator
(de fapt este un ceas brut care trimite impulsuri catre microcontroler pentru a-i permite o
viteza de operare corecta) si un regulator liniar de 5 volti.
In functie tip de ARDUINO, acesta poate avea si un conector USB pentru a permite
conectarea la PC prin portul USB. De asemenea, placa dispune ce un anumit numar de pinii
pentru intrare (Input Pins) si pentru iesire (Output Pins) prin intermediul carora sa poata fi
conectatate alte circuite (senzori, LED-uri, motorase, etc.).
Placile de dezvoltare ARDUINO pot fi folosite pentru a dezvolta obiecte de sine statatoare
interactive sau pot fi conectate la un calculator pentru a prelua sau pentru a trimite date si
apoi sa actioneze pe baza acelor date (exemplu: poti trimite datele obtinute de un senzor pe
internet).
Mediul integrat de dezvoltare Arduino este destinat scrierii programelor ce pot fi incărcate pe
platformele fizice Arduino. Interfața este scrisă in Java și mediul de programare folosește
limbaje de programare de tip open source precum Processing, avr-gcc. Interfața este
multiplatformă, putând rula în Windows©, Mac OS X© și Linux. Programul poate fi obținut
atât ca executabil specific platformei de lucru pe care o aveți dar și sub formă de cod sursă pe
care il puteți compila conform condițiilor specifice pe care le aveți. Limbajul de programare
ARDUINO se bazeaza pe “Wiring”, o platforma de calcul fizic similara, care se bazeaza pe
mediul de programare de procesare multimedia. Pe scurt, limbajul pe care ARDUINO il
foloseste este o combinatie de C si C++.
ARDUINO IDE permite scrierea programului pe calculator, care este format dintr-un set de
instructiuni pas cu pas pe care le incarci apoi in ARDUINO. Dupa incarcarea programului
propriu-zis pe placa de dezvoltare, ARDUINO va efectua instructiunile date si va interactiona
cu mediul. ARDUINO numeste aceste programe “Sketches” (schite).
Mediu de programare simplu - softul ARDUINO IDE este usor de utilizat pentru incepatori,
dar suficient de flexibil pentru utilizatorii avansati, de asemenea. Pentru profesori, este
convenabil deoarece este bazat pe un limbaj de programare simplu si intuitiv, astfel incat
elevii/studentii sa fie familiarizati cu acest mediu de programare.
2
L2. SMAPD
Exista mai multe variante de placi de dezvoltare ARDUINO, cum ar fi: Mega, Diecimila,
Duemilanove, Mini, Nano si chiar Bluetooth ARDUINO, cele mai noi produse
fiind ARDUINO UNO si ARDUINO MEGA 2560.
Mediul de programare LabVIEW. Proiectele acestui mediu au fost iniţiate în anul 1983.
Trei ani mai târziu el însemna pionieratul într-o nouă abordare a instrumentaţiei, depunând
bazele instrumentaţiei virtuale. Combinând unele periferice performante cu facilităţile de
calcul, afişare şi conectivitate ale calculatoarelor Macintosh, foarte populare, acest sistem
centrat în jurul unui software de aplicaţie oferea funcţiile unui instrument dedicat, deosebit de
performant, la un preţ redus. Flexibilitatea totală în configuraţie şi mecanismul matematic
deosebit de puternic au fost argumente puternice în favoarea acestui soft specializat.
Oferă avantajele semnificative ale unui mediu multitasking, putând rula simultan mai
multe instrumente virtuale sau instanţe ale acestora. Fluxul de date schiţat în diagrama
funcţională specifică implicit şi operaţiile ce se execută simultan. Având un design modular,
există posibilitatea ca orice instrument virtual deja creat să poată deveni o componentă a
alteia. Compilatorul integrat generează un cod executabil optimizat, pe 32 de biţi, cu viteza
de rulare comparabilă cu un program C/C++ compilat.
LabVIEW este un mediu de programare utilizat mai ales pentru realizarea
măsurătorilor si monitorizarea unor procese automatizate. Mediul LabVIEW conţine mai
multe biblioteci de funcţii predefinite pentru achiziţia, prelucrarea, afişarea şi transmiterea
datelor.
Programele realizate în LabVIEW se numesc instrumente virtuale (Visual Instruments
- VIs), la baza acestora stând conceptele de modularizare şi ierarhizare arborescentă. Când se
proiectează şi se implementează un VI, trebuie să se ţină cont de natura modulară a acestuia :
să poată fi utilizat atât ca program principal cât şi ca subrutină în componenţa unui alt VI. Un
VI folosit la realizarea unui alt VI se numeşte sub VI, având rolul unei subrutine. Prin crearea
şi utilizarea de sub VI la realizarea altor VI, utilizatorul defineşte ierarhii de VI.
Structura unui program. Programele realizate în mediul LabVIEW se numesc instrumente
virtuale (VI). Un VI are trei părţi componente:
• Panoul frontal;
• Diagrama bloc;
• Pictograma si conectorul.
Panou Frontal Diagrama Bloc
3
L2. SMAPD
Panoul Frontal
Panoul Frontal defineşte interfaţa grafică cu utilizatorul sau ceea ce va vedea
utilizatorul pe ecranul calculatorului. Obiectele grafice de interfaţă disponibile pentru
realizarea panoului frontal se împart în controale si indicatoare.
Prin intermediul controalelor, utilizatorul introduce sau actualizează valorile datelor
de intrare (obiecte de tip Get); indicatoarele sunt folosite pentru a se afişa rezultatele
prelucrărilor (obiectelor de tip Say). Dacă VI se priveşte ca sub VI (deci ca subrutină), atunci
controalele corespund parametrilor formali de intrare, iar indicatoarele sunt parametri formali
de ieşire. Mediul LabView oferă dezvoltatorului de aplicaţii o colecţie de obiecte predefinite
pentru proiectarea panoului frontal : butoane, comutatoare, cursoare, obiecte pentru
reprezentări grafice, rezervoare s.a.
Domenii de utilizare:
• Matematică, calcul numeric şi simbolic
• Dezvoltarea algoritmilor
• Modelare, simulare şi testarea prototipurilor
• Achiziţii date de la senzori, analiza şi vizualizarea datelor
• Grafica inginerească şi din ştiinţele aplicate
• Dezvoltarea de aplicaţii, inclusiv GUI.
MATLAB - s-a dezvoltat în:
1. mediul universitar - este pachetul standard pt. cursurile de inginerie, matematică şi ştiinţe
aplicate;
2. industrie - pentru cercetarea, dezvoltare şi producţie.
4
L2. SMAPD
5
L2. SMAPD
2.4 Python
Python este un limbaj multifuncțional folosit de exemplu de către companii ca Google sau
Yahoo! pentru programarea aplicațiilor web, însă există și o serie de aplicații științifice sau de
divertisment programate parțial sau în întregime în Python. Popularitatea în creștere, dar și
puterea limbajului de programare Python au dus la adoptarea sa ca limbaj principal de
dezvoltare de către programatori specializați și chiar și la predarea limbajului în unele medii
universitare. Din aceleași motive, multe sisteme bazate pe Unix, inclusiv Linux, BSD și Mac
OS X includ din start interpretatorul CPython.
6
L2. SMAPD
Biblioteci Python
Din acest motiv Python include bibioteci pentru lucrul cu fișiere, arhive, fișiere XML și un
set de biblioteci pentru lucrul cu rețeaua și principalele protocoale de comunicare pe internet
(HTTP, Telnet, FTP). Un număr mare de platforme Web sunt construite cu Python.
Abilitățile limbajului ca limbaj pentru programarea CGI sunt în afara oricăror dubii. De
exemplu YouTube, unul din site-urile cu cea mai amplă cantitate de trafic din lume, este
construit pe baza limbajului Python.
Totuși, Python permite extinderea funcționalității prin pachete adiționale programate de terți
care sunt axate pe o anumită funcționalitate. De pildă, pachetul Matplotlib conține metodele
și structurile necesare creării unei interfețe grafice.
Popularitatea limbajului este în creștere începînd cu anul 2000, datorită faptului că Python
permite crearea mai rapidă a aplicațiilor care nu cer viteze înalte de procesare a datelor. De
asemenea este util ca limbaj de scriptare, utilizat în cadrul aplicațiilor scrise în alte limbaje.
Modulele (bibliotecile) Python pot fi de asemenea scrise în C, compilate și importate în
Python pentru a mări viteza de procesare.
7
L2. SMAPD
APLICATIA 1.
/*
Masurarea temperaturii - K Type Thermocouple
Module MAX6675 Library https://github.com/adafruit/MAX6675-library.
George IPATE 11 noiembrie 2014
*/
#include <max6675.h>
int thermoDO = 4;
int thermoCS = 5;
int thermoCLK = 6;
void setup()
{
8
L2. SMAPD
Serial.begin(9600);
}
void loop()
{
int timp = millis()/1000;
double temperatura = thermocouple.readCelsius();
Serial.print(timp); // Afiseaza timpul pe monitor
Serial.print("\t Timp ");
Serial.print(temperatura); // Afiseaza temperatura pe monitor
Serial.println("\t Temp ");
delay(1000); // delay 1s
}
9
L2. SMAPD
10
L2. SMAPD
Se incarca programul
11
L2. SMAPD
Rezultatul programului
12
L2. SMAPD
13