# Seven Segment i Biblioteki ## Kody do zajęć na dzień 2gi Skrypt do zajęć: https://planetarobotow.sharepoint.com/:w:/s/PkolonieadministracjaWoska/Ef2otwmG0UtJvmZHitUJFroBplfqnD2O_ekjwgQMmff8YA?e=ir2hoG ### Kod bez użycia biblioteki ```bez_biblioteki.cpp void wyswietl(byte *segmenty){ for(int i=0; i<7; i++){ if(segmenty[i] == 1) digitalWrite(i+2, LOW); else digitalWrite(i+2, HIGH); } } void symbol(char sym){ if(sym=='0'){ //{A, B, C, D, E, F, G} byte segmenty[] = {1, 1, 1, 1, 1, 1, 0}; wyswietl(segmenty); } if(sym=='1'){ byte segmenty[] = {0, 1, 1, 0, 0, 0, 0}; wyswietl(segmenty); } } void setup() { // put your setup code here, to run once: for(int i=2; i<10; i++){ pinMode(i, OUTPUT); } } void loop() { symbol('0'); delay(1000); symbol('1'); delay(1000); } ``` ### Kod z użyciem biblioteki ```z_biblioteka.cpp #include "SevSeg.h" SevSeg sevseg; void setup() { // put your setup code here, to run once: byte digitPins[] = {13}; byte segmentPins[] = {5,6,7,8,9,10,11,12}; sevseg.begin(COMMON_ANODE, 1, digitPins, segmentPins, true, false, false, true); sevseg.setBrightness(90); } void loop() { // put your main code here, to run repeatedly: static unsigned long timer = millis(); static int seconds = 10; if(millis() - timer >= 1000){ timer += 1000; seconds--; sevseg.setNumber(seconds, 1); } if(seconds <= 0){ seconds = 10; timer = millis(); } sevseg.refreshDisplay(); } ``` # Szkic kodu z diodką (własna biblioteka) ### Biblioteka ```cpp //diodka.cpp #include diodka.h class diodka{ private: int pin; public: diodka(int p){ //inicjalizator pin = p; pinMode(pin, OUTPUT); } void kropka(){ digitalWrite(pin, HIGH); delay(500); digitalWrite(pin, LOW); delay(500); } void kreska(){ digitalWrite(pin, HIGH); delay(1500); digitalWrite(pin, LOW); delay(500); } }; ``` ### Nagłówek ```cpp //diodka.h #include <Arduino.h> class diodka{ private: int pin; public: void kropka(); void kreska(); } ``` ### Kod główny ```cpp //main.cpp #include "diodka.h" //nazwę biblioteki załączanej z pliku podajemy w cudzysołowiu void setup(){ diodka mojadiodka(4); //tworzymy obiekt mojadiodka wykorzystując klasę z biblioteki } void loop(){ mojadiodka.kropka();mojadiodka.kropka();mojadiodka.kropka(); mojadiodka.kreska();mojadiodka.kreska();mojadiodka.kreska(); mojadiodka.kropka();mojadiodka.kropka();mojadiodka.kropka(); } ```