//вывод цифр на семисегментный индикатор
/*Алгоритм написания любой программы:
0. Определить во вкладке "Инструменты" плату и номер порта
1. Продумать примерный алгоритм программы. Например для текущей задачи - управление ярокстью светодиода в зависимости от яркости необходимо:
Считать значение с датчика освещенности -> Обработать это значение (С порта A0 значение лежит в интервале от 0..1023, а для управления светодиодом нужен интервал от 0..255)->
Отправить обработанное значение на светодиод.
2. Определить в начале программы заранее известные переменные, например переменные для хранения наименования пинов (по ходу программы будут появляться новые переменные
и их также лучше указывать в самом начале программы и каждую переменную описывать).
3. В блоке setup произвести необходимые настроки микроконтроллера, например задать режим работы пина pin(на прием или отправку данных).
4. Начать писать код программы согласно алгоритму.
P.S. ТАКЖЕ ПРОШУ НЕ ЗАБЫВАТЬ ПРО ОФОРМЛЕНИЕ КОДА! КОД ДОЛЖЕН БЫТЬ ЧИТАЕМЫМ И ПОНЯТНЫМ. ДОЛЖНЫ ПРИСУТСТВОВАТЬ ОТСТУПЫ, ПРОБЕЛЫ, В ОДНОЙ СТРОКЕ ПРОПИСЫВАЕМ ТОЛЬКО ОДНУ КОМАНДУ.
*/
int segment_pin[8] = {2,3,4,5,6,7,8,9}; //2-A , 3-B ...
int segment[10][8] = {
{1,1,1,1,1,1,0,0}, // - 0
{0,1,1,0,0,0,0,0}, // - 1
{1,1,0,1,1,0,1,0}, // - 2
{1,1,1,1,0,0,1,0}, // - 3
{0,1,1,0,0,1,1,0}, // - 4
{1,0,1,1,0,1,1,0}, // - 5
{1,0,1,1,1,1,1,1}, // - 6
{1,1,1,0,0,0,0,0}, // - 7
{1,1,1,1,1,1,1,0}, // - 8
{1,1,1,1,0,1,1,1}, // - 9
};
int button_pin = 10; // пин 10 для кнопки
void setup() {
for (int i = 0;i<8;i++)
{
pinMode(segment_pin[i], OUTPUT);
}
pinMode(button_pin, INPUT);
}
void loop() {
// put your main code here, to run repeatedly:
for (int j=0; j < 10 ; j++)
{
segment_light(j);
delay(800);
}
}
void segment_light (int num){
for (int i = 0; i < 8 ; i++)
{
digitalWrite(segment_pin[i], segment[num][i]);
}
}