44
Informatică Aplicată II Controller, Computer Metode de gestionare ale etapelor de lucru Universitatea Tehnică de Construcții București Facultatea de Utilaj Tehnologic

Informatică Aplicată II

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Informatică Aplicată II

Informatică Aplicată II

Controller, Computer

Metode de gestionare ale etapelor de lucru

Universitatea Tehnică de Construcții București

Facultatea de Utilaj Tehnologic

Page 2: Informatică Aplicată II

SCOP

Se exersează modalităţile generice de abordare și de realizare a conexiunilor în ceea ce priveşte tratarea problemelor tehnice inginerești din punctul de vedere al informaticii aplicate, (diverse abordări).

Page 3: Informatică Aplicată II

Controller vs. Computer

Arduino Uno

Arduino Mega

Mini Maestro

Raspberry Pi

Onion Omega 2Plus

NanoPC T3

Page 4: Informatică Aplicată II

• Exemple de controller-e

Arduino Uno

Sursa foto: https://www.amazon.com/Arduino-A000066-ARDUINO-UNO-R3/dp/B008GRTSV6

o controller Atmel 8-bit, 14 pini de intrare/iesire (input/output) pentru semnal digital, din care 6 suporta Pulse Width Modulation (modulatie in latime de puls), 6 pini de intrare pentru semnal analog, oscilator local (cristal cuart) cu frecventa de 16MHz, conexiune USB, alimentare externa prin mufa jack, conector ICSP (In Circuit Serial Programming), buton de reset.

Page 5: Informatică Aplicată II

• Exemple de controller-e

Arduino Mega

Sursa foto: https://www.amazon.com/SmartProjects-Mega-Arduino-MEGA-Board/dp/B004A7H3DG

o controller Atmega 2560 8-bit, 54 pini de intrare/iesire (input/output) pentru semnal digital, din care 15 suporta Pulse Width Modulation (modulatie in latime de puls), 16 pini de intrare pentru semnal analog, 4 porti de comunicatie UART (hardware serial port), oscilator local (cristal cuart) cu frecventa de 16MHz, conexiune USB, alimentare externa prin mufa jack, conector ICSP (In Circuit Serial Programming), buton de reset.

Page 6: Informatică Aplicată II

• Exemple de controller-e

Mini Maestro Servo Controller

Sursa foto: https://www.pololu.com/product/1354

o controller pentru servomotoare si placa pentru signal input/output de uz general, trei metode de control (Universal Serial Bus – USB, Time To Live – TTL 5V serial si script proprietar), dimensiuni reduse.

Page 7: Informatică Aplicată II

• Exemple de computer

Raspberry Pi

Sursa foto: https://en.wikipedia.org/wiki/Raspberry_Pi

o computer single-board, Broadcom SoC (System on a chip), procesor ARM, GPU, frecventa procesor de la 700MHz la 1,4GHz, memorie proprie 256MB la 1GB, stocare pe cartele SD (MicroSDHC), una la patru porti USB, video output HDMI si composite, Bluetooth.

Page 8: Informatică Aplicată II

• Exemple de computer

Onion Omega2 Plus

Sursa foto: https://www.amazon.co.uk/Omega2-Plus-Linux-Computer-Wi-Fi/dp/B01N6PO7V2/ref=sr_1_1/257-8244819-5612807?ie=UTF8&qid=1550640183&sr=8-1&keywords=Onion+Omega2

o computer single-board, sistem de operare bazat pe Linux, procesor la 580MHz, memorie 128MB, capacitate stocare 32MB, doua porti USB2.0, Wifi, un sfert din caracteristicile geometrice ale Rapsberry Pi.

Page 11: Informatică Aplicată II

Arduino Uno

Dispunere terminale. Semnificatie acronime

Sursa foto: http://full-parts.com/arduino-uno-r3.html

I2C (bus) – (IIC), Inter-Integrated Circuit, protocol de comunicare bazat pe adrese ale componentelor cuplate. SPI (bus) – Serial Peripheral Interface, protocol sincron de comunicare serial, numit si bus serial cu patru fire. Interrupt – un semnal adresat procesorului de partea hardware sau software a sistemului, semnal ce indica necesitatea imediata a luarii unei decizii la nivel logic. GPIO – General Purpose Input/Output, interfata standard utilizata a conecta microcontroller-e la diverse etaje sau dispozitive electronice.

Page 14: Informatică Aplicată II

Arduino Uno Shield

Sursa foto: arhiva personala

Page 15: Informatică Aplicată II

Arduino Pro Mini

Dispunere terminale. Semnificatie acronime

Sursa foto: https://www.engineersgarage.com/electronic-components/arduino-pro-mini-pinout http://roboromania.ro/wp-content/uploads/2016/12/FTDI-FT232RL-USB-TTL-Serial-Converter-Adapter-Module-5V-3v-roboromania.jpg

Page 16: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare

Sursa: pozitia 1, bibliografie

programare : Transpunerea unor operatii repetitive, asupra unui set de date, intr-un limbaj inteligibil de catre un sistem de calcul care urmeaza ulterior sa le execute, astfel: • trecere de la problema reala la limbajul de programare – om; •transpunerea codului sursa (insiruiri de instructiuni specifice limbajului respectiv), intr-un cod direct executabil (inteligibil sistemului de calcul) – programe specifice numite compiler-e (compilatoare).

Page 17: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare

Sursa: pozitia 1, bibliografie

limbaj C: • dezvoltat in 1972 de catre Dennis M. Ritchie la Laboratoarele AT&T Bell; versiunile C++, Visual C++ si C#, intre cele mai utilizate la ora actuala. • permite doua tehnici de programare: programare structurata si acces direct la masina

Page 18: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare C++ - Tipuri de date. Variabile. Constante

Sursa: pozitia 1, bibliografie

Keywords - cuvinte cheie limbaj C

auto break case char const continue default do double else enum extern float for goto if

int long register return short signed sizeof static struct switch typedef union unsigned void volatile while

limbaj C++

asm bool catch class delete friend inline mutable namespace new

operator private public protected template this using virtual

Page 19: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare C++ - Tip de date. Variabile. Constante

Sursa: pozitia 1, bibliografie

Tip de date – precizeaza: • multimea de valori pe care variabila respectia le poate lua; • setul de operatii pe care programatorul le poate efectua cu acea variabila.

Exemple: char – retine un singur caracter: “A”, “a”, “%”; int – integer, retine numere intregi cu semn: “23”, “-48”, “0”; float – retine numere reale in format cu virgula mobila, patru zecimale (simpla precizie):”-8.4529”; void – tip special de date ce nu specifica un anumit set initial de valori, dar poate fi specificat ulterior declararii

Page 20: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare C++ - Tipuri de date. Variabile. Constante

Sursa: pozitia 1, bibliografie

In memoria calculatorului, valorile de orice tip se reprezinta in cod numeric ASCII (American Standard Code for Information Interchange); pot lua valori intre 0 si 255

Page 21: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare C++ - Tipuri de date. Variabile. Constante

Sursa: pozitia 1, bibliografie

Constante, date a caror valoare nu poate fi modificata in timpul executiei programului: •constanta intreaga – o insiruire de cifre, pot fi constante zecimale (exprimate in baza 10): 23, 256, 18546, etc., constante octale (exprimate in baza 8): , constante hexazecimale (exprimate in baza 16): 0xsir de cifre…, const. intreaga se reprezinta pe 16 sau 32 biti. •constanta flotanta – parte intreaga.parte fractionara e exponent: 2.1e5, const. flotante se reprezinta pe 16 biti. •constanta caracter – caracter intre apostrofuri, se reprezinta pe 8 biti. •constanta sir sau sir de caractere – succesiune de caractere scrise intre ghilimele.

2 1 0

8O437 4*8 3*8 7*8

Page 22: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare C++ - Tipuri de date. Variabile. Constante

Sursa: pozitia 1, bibliografie

exprimare in baza 10 (decimal) – fiecare digit are zece valori posibile: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

exprimare in baza 16 (hexadecimal ) – fiecare digit are 16 valori posibile: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

exprimare in baza 2 (binar) – fiecare digit are doua valori posibile: 0, 1

Page 23: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare C++ - Tipuri de date. Variabile. Constante

Sursa: pozitia 1, bibliografie

bit

Byte

0 0 0 0 1 1 0 1

exprimare in baza 2 (binar) – fiecare digit are doua valori posibile: 0, 1

Page 24: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare C++ - Tipuri de date. Variabile. Constante

Sursa: pozitia 1, bibliografie

exprimare in baza 10 (decimal) – fiecare digit are zece valori posibile: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

10000 1000 100 10 1

2 4 4

sau 2 100 4 10 4 244;

Page 25: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare C++ - Tipuri de date. Variabile. Constante

Sursa: pozitia 1, bibliografie

128 64 32 16 8 4 2 1

1 1 1 1 0 1 0 0

sau 128 64 32 16 4 244;

exprimare in baza 2 (binar) – fiecare digit are doua valori posibile: 0, 1

8 bit

Page 26: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare C++ - Tipuri de date. Variabile. Constante

Sursa: pozitia 1, bibliografie

128 64 32 16 8 4 2 1

1 1 1 1 1 1 1 1

sau 128 64 32 16 8 4 2 1 255;

exprimare in baza 2 (binar) – fiecare digit are doua valori posibile: 0, 1

8 bit – valoare maxima

Page 27: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare C++ - Tipuri de date. Variabile. Constante

Sursa: pozitia 1, bibliografie

/ 64 32 16 8 4 2 1

1 1 1 1 1 1 1 1

sau / 64 32 16 8 4 2 1 / 127;

exprimare in baza 2 (binar) – fiecare digit are doua valori posibile: 0, 1

8 bit – valoare maxima

Page 28: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare C++ - Tipuri de date. Variabile. Constante

Sursa: pozitia 1, bibliografie

11 11 1 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 111 1 1 1 1

exprimare in baza 2 (binar) – fiecare digit are doua valori posibile: 0, 1

32 bit – valoare maxima

…= 2 147 483 647

Page 29: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare C++ - Tipuri de date. Variabile. Constante

Sursa: pozitia 1, bibliografie

Variabile – o denumire (identificator) pe care compilatorul o asociaza unei anumite zone din memorie, numele nu poate sa inceapa cu cifra, limbajul C este case sensitive, asadar face diferenta intre minuscule si majuscule: •variabile simple: tip nume_variabila. •variabile tablou – multime ordonata de acelasi tip: tip nume_tablou[dimensiune].

Page 30: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare C++ - Tipuri de date. Variabile. Constante

Sursa: pozitia 1, bibliografie

Comentariu (comment) – portiune de text ce nu este luat in considerare de compilator; se utilizeaza pentru clarificarea diverselor zone din script sau pentru eliminarea (cu caracter temporar, eventual), a uneia ori mai multor instructiuni din programul rulat: • /*comment*/ ; • //comment - cazul unei singure linii de cod.

Page 31: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare C++ - Operatori

Sursa: pozitia 1, bibliografie

Expresii O expresie poate sa fie un operand sau mai multi operanzi legati prin operatori. Orice expresie se caracterizeaza prin tip si valoare, caracteristici obtinute dupa evaluarea expresiei.

Page 32: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare C++ - Operatori

Sursa: pozitia 1, bibliografie

Operatori Sunt caracterizati prin asociere de la stanga la dreapta, mai putin cazul operatorilor unari (se aplica la un singur operand), celor relationali si de atribuire, la care asocierea se face de la dreapta la stanga: • aritmetici; • relationali; • de egalitate; • logici; • logici pe biti; • de atribuire; • de incrementare si decrementare; • de conversie explicita (cast); • de lungime (sizeof); • conditional; • virgula.

Page 33: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare C++ - Operatori

Sursa: pozitia 1, bibliografie

Operatori aritmetici: + adunare; - scadere;

* inmultire; / impartire;

% rest (al impartirii); + adunare unara; - scadere unara

pentru int i=9, j=2; i/j rezultat 4, i%j rezultat 1.

Page 34: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare C++ - Operatori

Sursa: pozitia 1, bibliografie

Operatori relationali – prin aplicarea op. relationali se obtin doua valori posibile in cazul evaluarii expresiilor ce-i contin, 0 (fals), respectiv 1 (adevarat):

< mai mic; <= mai mic sau egal;

> mai mare; >= mai mare sau egal.

pentru int i=3, j=8; i < j rezultat 1, i >= j rezultat 0.

Page 35: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare C++ - Operatori

Sursa: pozitia 1, bibliografie

Operatori de egalitate – prin aplicarea op. de egalitate se obtin doua valori posibile in cazul evaluarii expresiilor ce-i contin, 0 (fals), respectiv 1 (adevarat):

== egal; != diferit

pentru int i=3, j=9, k=3; i != j rezultat 1, i == j rezultat 0, i==k rezultat 1.

Page 36: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare

Sursa foto: arhiva personala

Generic, o aplicatie software ce permite multiple facilitati programatorilor in scopul dezvoltarii software; se compune dintr-un editor de cod sursa (source code editor), unelte de automatizare a procesului (build automation tools) si un tester/ unealta de diagnoza (debugger).

Page 37: Informatică Aplicată II

Arduino IDE Integrated Development Environment

Mediu integrat de dezvoltare

Sursa foto: arhiva personala Referinta: https://www.arduino.cc/en/main/software

Page 38: Informatică Aplicată II

Arduino IDE

Integrated Development Environment

Mediu integrat de dezvoltare

Portiunea de cod din sectiunea de initializare, contine eventualele “librarii”, script-uri elaborate in limbaj C ori C++ (terminatie .c, .cpp), ce ofera functionalitate extinsa “sketch-ului” (programului propriu) utilizat – o consecinta imediata o reprezinta simplificarea acestuia.

Sursa foto: arhiva personala Referinta: https://www.arduino.cc/en/Main/Products

Page 39: Informatică Aplicată II

Arduino IDE

Integrated Development Environment

Mediu integrat de dezvoltare

Portiunea de cod din sectiunea “setup” se ruleaza o singura data, in momentul alimentarii placii (sau la apasarea butonului “reset”).

Sursa foto: arhiva personala Referinta: https://www.arduino.cc/en/Main/Products

Page 40: Informatică Aplicată II

Arduino IDE

Integrated Development Environment

Mediu integrat de dezvoltare

Portiunea de cod din sectiunea “loop” se ruleaza continuu, pana la momentul intreruperii alimentarii placii (la reluarea ulterioara a alimentarii placii controller, se va rula in mod automat ultimul program (sketch) studiat, program stocat in memoria controller-ului).

Sursa foto: arhiva personala Referinta: https://www.arduino.cc/en/Main/Products

Page 41: Informatică Aplicată II

Ardublock

Integrated Development Environment

Mediu integrat de dezvoltare

Un exemplu de extensie GUI pentru programarea Arduino – (visual) graphical programming add-on

Sursa foto: arhiva personala Referinta: https://learn.sparkfun.com/tutorials/alternative-arduino-interfaces/all

Page 42: Informatică Aplicată II

mBlock

Integrated Development Environment

Mediu integrat de dezvoltare

Un alt exemplu de extensie GUI pentru programarea Arduino – (visual) graphical programming add-on – educatie copii

Sursa foto: arhiva personala Referinta: https://learn.sparkfun.com/tutorials/alternative-arduino-interfaces/all

Page 43: Informatică Aplicată II

REZUMAT

• Controller versus Computer

•Integrated Development Environment

Page 44: Informatică Aplicată II

BIBLIOGRAFIE

1. Adrian Runceanu, Programarea calculatoarelor, Universitatea “Constantin Brancusi” Targu Jiu, Fac. Inginerie, 2014

www.runceanu.ro/adrian/