# 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();
}
```