MSP430 programozás Energia környezetben. LED kijelzok második rész



Hasonló dokumentumok
MSP430 programozás Energia környezetben. LED kijelzok második rész

MSP430 programozás Energia környezetben. Hétszegmenses LED kijelzok

MSP430 programozás Energia környezetben. Analóg jelek mérése

MSP430 programozás Energia környezetben. LED mátrix vezérlése MAX7219 IC-vel

MSP430 programozás Energia környezetben. Alfanumerikus LCD kijelzok

Bevezetés a mikrovezérlők programozásába: MAX6958: Hétszegmenses LED kijelző vezérlő

MSP430 programozás Energia környezetben. Nokia 5110 grafikus kijelzo vezérlése

Bevezetés a mikrovezérlők programozásába: LCD kijelzők

MSP430 programozás Energia környezetben. Szervó motorok vezérlése

Vegyes témakörök. A KAT120B kijelző vezérlése Arduinoval

Bevezetés az elektronikába

Bevezetés a mikrovezérlők programozásába: Hétszegmenses LED kijelzők

Bevezetés a mikrovezérlők programozásába: Fényérzékelés, fénymérés

MSP430 programozás Energia környezetben

Bevezetés az elektronikába

Bevezetés a mikrovezérlők programozásába: Programciklusok szervezése, analóg I/O

Bevezetés az elektronikába

MSP430 programozás Energia környezetben. Nem élhetek muzsikaszó nélkül

Megjegyzés: A leírás abszolút kezdők számára készült elnézést azoktól, akik ezen a szinten már túlvannak!

MSP430 programozás Energia környezetben. Digitális szenzorok I2C kommunikációval

MSP430 programozás Energia környezetben. Kitekintés, további lehetőségek

Bevezetés a mikrovezérlők programozásába: A PM6025 (7 és 16 szegmenses) LCD kijelző vezérlése

Bevezetés a mikrovezérlők programozásába: WS2812 RGB LED-ek vezérlése

Bevezetés az elektronikába

MSP430 programozás Energia környezetben. Az I/O portok kezelése

MSP430 programozás Energia környezetben. Az első lépések

loop() Referencia:

Bevezetés a mikrovezérlők programozásába: Léptetőmotorok vezérlése

Léptetőmotorok. Előnyök: Hátrányok:

Bevezetés a mikrovezérlők programozásába: Ismerkedés az Arduino fejlesztői környezettel

Vegyes témakörök. 5. Gagyiszkóp házilag hangfrekvenciás jelek vizsgálata. Hobbielektronika csoport 2018/2019. Debreceni Megtestesülés Plébánia

Hobbi Elektronika. 1. Témakörök, célkitűzés, hozzávalók

Bevezetés a mikrovezérlők programozásába: DC motorok vezérlése

The modular mitmót system. DPY kijelző kártya C API

Bevezetés a Modbus kommunikációba

Mintavételes szabályozás mikrovezérlő segítségével

boolean motoros_szelep_vegallas_el = true; boolean serial_adatok_kikuldese = true; // ************ Hőmérséklet érzékelők Dallasos!!!!

MSP430 programozás Energia környezetben. Digitális szenzorok

Mérési útmutató. A/D konverteres mérés. // Első lépésként tanulmányozzuk a digitális jelfeldolgozás előnyeit és határait.

Programozás és Digitális technika I. Pógár István eng.unideb.hu/pogari

11. KÓDÁTALAKÍTÓ TERVEZÉSE HÉTSZEGMENSES KIJELZŐHÖZ A FEJLESZTŐLAPON

I 2 C, SPI, I 2 S, USB, PWM, UART, IrDA

Programozási segédlet DS89C450 Fejlesztőpanelhez

Bevezetés az elektronikába

Bevezetés a mikrovezérlők programozásába: I/O portok kezelése, számrendszerek, bitműveletek

Vegyes témakörök. 1. Soros vezérlésű LCD számkijelző. Hobbielektronika csoport 2018/2019. Debreceni Megtestesülés Plébánia

Tarján Péter Nyíregyházi Egyetem. Szenzorok és ötletek Arduinós mérésekhez

Bevezetés az elektronikába

UH-zongora - zenélés mikrokontrollerrel

Az MSP430 mikrovezérlők digitális I/O programozása

Bevezetés a mikrovezérlők programozásába: Az Arduino, mint logikai analizátor

Dr. Oniga István DIGITÁLIS TECHNIKA 4

LOGSYS LOGSYS SZTEREÓ CODEC MODUL FELHASZNÁLÓI ÚTMUTATÓ szeptember 16. Verzió

Stack Vezérlés szerkezet Adat 2.

Hobbi Elektronika. A digitális elektronika alapjai: Sorrendi logikai áramkörök 4. rész

The modular mitmót system. A DPY-LED perifériakártya

Mérési útmutató a Mobil Kommunikáció és Kvantumtechnológiák Laboratórium méréseihez

Arduino bevezető Szenzorhálózatok és alkalmazásaik

3. Hőmérők elkészítése

Algoritmus fogalma. Mi az algoritmus? HF: Al Khwarizmi. Egy adott probléma megoldásának leírása elemi lépések sorozatával

LOGSYS LOGSYS ECP2 FPGA KÁRTYA FELHASZNÁLÓI ÚTMUTATÓ szeptember 18. Verzió

16F628A megszakítás kezelése

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Dr. Oniga István

Pénzügyi algoritmusok

Megszólal a Kütyü. Arduino bevezető hangszóró vezérlése 1 / 5 oldal

LOGSYS LOGSYS SPARTAN-3E FPGA KÁRTYA FELHASZNÁLÓI ÚTMUTATÓ szeptember 19. Verzió

Újrakonfigurálható eszközök

Fizikai mérések Arduino-val

Arduino, programozás, elektronika egy út az ismeretek integrált felhasználásához

Az AVR programozás alapjai. Előadja: Both Tamás

Mikrovezérlők Alkalmazástechnikája

Újrakonfigurálható eszközök

Hobbi Elektronika. A digitális elektronika alapjai: Sorrendi logikai áramkörök 3. rész

3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA

A vezérlő alkalmas 1x16, 2x16, 2x20, 4x20 karakteres kijelzők meghajtására. Az 1. ábrán látható a modul bekötése.

Nyomtatóport szintillesztő 3V3

Multi-20 modul. Felhasználói dokumentáció 1.1. Készítette: Parrag László. Jóváhagyta: Rubin Informatikai Zrt.

A MINI SZATELLITTŐL A SUMO-ROBOTIG

A Memory Interface Generator (MIG) beállítása a Logsys Kintex-7 FPGA kártyához

Digitális technika (VIMIAA02) Laboratórium 1

Többfunkciós hobbirobot építése és vezérlése Arduino UNO mikrovezérlő kártya segítségével

1. Témakörök, célkitűzés, hozzávalók. Hobbielektronika csoport 2015/2016

Bevezetés a mikrovezérlők programozásába: Digitális szenzorok

Digitális technika (VIMIAA02) Laboratórium 1

Informatika terméktervezőknek

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

LOGSYS LOGSYS LCD KIJELZŐ MODUL FELHASZNÁLÓI ÚTMUTATÓ november 8. Verzió

Pénzügyi algoritmusok

Adattípusok. Max. 2GByte

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

2008. október 9. Verzió

Műszerkönyv. Elektronikus számolómérleg. CS Típus

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés

Előadó: Nagy István (A65)

UC300-5LPT. USB CNC mozgásvezérlő MACH3 programhoz. Használati utasítás. Plugin verzió: V1.024

Elvis általános ismertető

LIN, BSS, PCM Protokollok (COM Interfész) Szeptember

Átírás:

MSP430 programozás Energia környezetben LED kijelzok második rész 1

Lab13 SPI_595_7seg Egyszerű mintaprogram kétszámjegyű hétszegmenses LED kijelzővel, 74HC595 shift regiszterrel, SPI programkönyvtár használattal SPI_595_thermometer hőmérő alkalmazás a fenti kétszámjegyű LED kijelző felhasználásával SPI_595_7seg_special Az egyszerű mintaprogram kétszámjegyű hétszegmenses LED kijelzővel, 74HC595 shift regiszterrel, SPI programkönyvtár használattal projekt módosított változata ez egyszerűsített vezetékezéshez. 2

Emlékeztető A hétszegmenses kijelzők 7 db LED-et vagy LED csoportot tartalmaznak, olyan elrendezésben, hogy a 0 9 arab számjegyeket ki lehessen jelezni. A hét szegmenshez nyolcadikként többnyire egy tizedespont is járul. Kivetel: Közös anódú vagy közös katódú 3

Kétszámjegyű kijelző szabályos meghajtása MOSI SCLK SS GND VCC 4

Hevenyészett kivitel 3x7 cm-es próbapanelon VCC GND SS SCLK MOSI IC1 DIS1 DIS2 IC2 Előny: Nem kell multiplex vezérlés Hátrány: Sok ellenállást kell beépíteni (nagyobb helyigény) 5

A beépített SPI könyvtár A standard könyvtárakhoz tartozik, de az Energia Referencia szekciójában hiába keressük a leírását. Az Arduino dokumentációjához kell fordulnunk! Hardveres támogatású Soros Periféria Illesztő A számunkra legfontosabb metódusok: SPI.begin() az SPI csatorna inicializálása SPI.setBitOrder(param) melyik bit menjen ki elsőként. A paraméter értéke MSBFIRST vagy LSBFIRST lehet (előre definiált konstansok). MSB jelentése = Most Significant Bit (legnagyobb helyiértékű bit). SPI.transfer(data) egy adatbájt kiküldése és egy bájt beolvasása 6

Huzalozási vázlat Hozzávalók: 5 db female-female átkötő vezeték 7

Lab13: SPI_595_7seg.ino #include <SPI.h> #define SS_pin P2_5 //Slave select pin const byte digit [10] = {0b11111100,0b01100000,0b11011010,0b11110010, 0b01100110,0b10110110,0b10111110,0b11100000,0b11111110,0b11110110 ; void displaynumber(byte data) { byte data1 = ~digit[data /10]; //First digit (10^1) byte data0 = ~digit[data % 10]; //Second digit (10^0) digitalwrite(ss_pin,low); SPI.transfer(data0); //Data for DIS2 SPI.transfer(data1); //Data for DIS1 digitalwrite(ss_pin,high); //Load data into output registers void setup() { pinmode(ss_pin,output); //Initialize SS_pin SPI.begin(); //Initialize SPI hardware SPI.setBitOrder(LSBFIRST); //Send least significant bit first void loop() { byte n=0; displaynumber(n); //Display this value n++; if(n > 100) n = 0; delay(300); 8

Hőmérő alkalmazás Az előző kapcsolást kiegészítettük egy MCP9700A analóg hőmérővel Hozzávalók: MCP9700A hőmérő, dugaszolós próbapanel, 5 db F+F és 3 db M+F átkötő vezeték 9

Lab13: SPI_595_thermometer.ino #include <SPI.h> #define SS_pin P2_5 //Slave select pin const byte digit [10] = {0b11111100,0b01100000,0b11011010,0b11110010, 0b01100110,0b10110110,0b10111110,0b11100000,0b11111110,0b11110110 ; void displaynumber(byte data) { byte data1 = ~digit[data /10]; //First digit (10^1) byte data0 = ~digit[data % 10]; //Second digit (10^0) digitalwrite(ss_pin,low); SPI.transfer(data0); //Data for DIS2 SPI.transfer(data1); //Data for DIS1 digitalwrite(ss_pin,high); //Load data into output registers void setup() { analogreference(internal2v5); pinmode(ss_pin,output); SPI.begin(); SPI.setBitOrder(LSBFIRST); //Use the 2,5 V inner reference //Initialize SS_pin //Initialize SPI hardware //Send least significant bit first Folytatás a következő oldalon 10

Lab13: SPI_595_thermometer.ino void loop() { long mysum = 0; for(int i=0; i<2500; i++) { //Average 2500 measurements mysum += analogread(a4); // Calculate voltage in mv units long voltage = mysum>>10; //divide by 1024 long tempc = (voltage-500)/10; //convert to Celsius displaynumber((byte)tempc); //Display result delay(1000); Megjegyzések: Szokás szerint 2500 mérés eredményét átlagoljuk. Mindenhol mellőztük a float típus használatát. A (byte)tempc típusú szerkezet ún. típuskényszerítés, célja az, hogy a paraméterátadás előtt a magadott típusba alakítsuk a változóban tárolt értéket. 11

12

Egyszerűsített bekötés IC1 g f a b g f a b Az egyszerűsített bekötés azt jelenti, Hogy a 74HC595 kimeneteit a legközelebbi szegmenshez kötjük. Előny: Egyszerű huzalozás, könnyebb nyomtatott áramkör tervezés DIS1 Hátrány: bonyolultabb programozás DIS2 IC2 13

SPI_595_7segment_special.ino const byte digit [10] = { //Definitions of the 7-bit values for displaying digits //bit order: gfabpcde instead of abcdefgp 0b01110111, //0b11111100 (0) 0b00010100, //0b01100000 (1) 0b10110011, //0b11011010 (2) 0b10110110, //0b11110010 (3) 0b11010100, //0b01100110 (4) 0b11100110, //0b10110110 (5) 0b11100111, //0b10111110 (6) 0b00110100, //0b11100000 (7) 0b11110111, //0b11111110 (8) 0b11110110; //0b11110110 (9) void displaynumber(byte data) { byte data1 = ~digit[data /10]; //Bit complement for common anode LED display byte data0 = ~digit[data % 10]; //Remove tilde for common cathode LED display byte IC1bits = data1&0xf0 data0>>4; byte IC2bits = data1&0x0f data0<<4; digitalwrite(ss_pin,low); SPI.transfer(IC2bits); SPI.transfer(IC1bits); digitalwrite(ss_pin,high); 14