Введение в программирование на C/Arduino

Школа СТАРТ / Павел Крансиков

Введение в программирование на C/Arduino

Arduino введение Павел Крансиков

Создание проекта

  1. Открыть ARDUINO IDE
  2. Файл->Новый
  3. Файл->Сохранить как...
  4. Имя проекта: Придумать имя проекта
  5. Сохранить

Правила оформления кода

  1. После открывающейся фигурной скобки добавляется отступ в начале строки, на строке с закрывающейся фигурной скобкой отступ убирается
  2. Все бинарные операции (+,−, *, /, %, =, <<, >>) окружаются пробелами
  3. После унарного минуса пробел не ставится (−5 нужно писать слитно)
  4. Перед знаками препинания (запятая и точка с запятой) пробел не ставится, после — ставится
  5. После открывающейся и перед закрывающейся круглой скобкой пробел не ставится

Операторы в C

  1. :: - Раскрытие области видимости
  2. Пример - std::cin
  3. = - Присваивание
  4. Пример - a = b
  5. + - Сложение
  6. Пример - a + b
  7. - - Вычитание
  8. Пример - a - b

Операторы в C

  1. +a - Унарный плюс
  2. Пример - f = а *+ (b * с)
  3. -a - Унарный минус
  4. Пример - -a
  5. * - Умножение
  6. Пример - a * b
  7. / - Деление
  8. Пример - a / b

Операторы в C

  1. % - Операция модуль (остаток от деления целых чисел)
  2. Пример - а%b
  3. ++ - Инкремент
  4. Пример - ++a
  5. ++ - суффиксный (постфиксный)
  6. Пример - a++
  7. -- - префиксный
  8. Пример - --a

Операторы в C

  1. -- - суффиксный (постфиксный)
  2. Пример - a--
  3. == - Равенство
  4. Пример - a == b
  5. != - Неравенство
  6. Пример - !=
  7. > - Больше
  8. Пример - a > b

Операторы в C

  1. < - Меньше
  2. Пример - a < b
  3. >= - Больше или равно
  4. Пример - a >= b
  5. <= - Меньше или равно
  6. Пример - a <= b
  7. ! - Логическое отрицание, НЕ
  8. Пример - !a

Операторы в C

  1. && - Логическое умножение, И
  2. Пример - a && b
  3. || - Логическое сложение, ИЛИ
  4. Пример - a || b
  5. ~ - Побитовая инверсия
  6. Пример - ~a
  7. & - Побитовое И
  8. Пример - a & b

Операторы в C

  1. | - Побитовое ИЛИ (or)
  2. Пример - a | b
  3. ^ - Побитовое исключающее ИЛИ (xor)
  4. Пример - a ^ b
  5. << - Побитовый сдвиг влево
  6. Пример - a << b
  7. >> - Побитовый сдвиг вправо
  8. Пример - a >> b

Операторы в C

  1. += - Сложение, совмещённое с присваиванием
  2. Пример - a += b "a = a + b"
  3. -= - Вычитание, совмещённое с присваиванием
  4. Пример - a -= b "a = a - b"
  5. *= - Умножение, совмещённое с присваиванием
  6. Пример - a *= b "a = a * b"
  7. /= - Деление, совмещённое с присваиванием
  8. Пример - a /= b "a = a / b"

Операторы в C

  1. %= - Вычисление остатка от деления, совмещённое с присваивание
  2. Пример - a %= b "a = a % b"
  3. &= - Побитовое «И» (AND), совмещённое с присваиванием
  4. Пример - a &= b "a = a & b"
  5. |= - Побитовое «ИЛИ» (or), совмещённое с присваиванием
  6. Пример - a |= b "a = a | b"
  7. ^= - Деление, совмещённое с присваиванием
  8. Пример - a ^= b "a = a ^ b"

Операторы в C

  1. <<= - Побитовый сдвиг влево, совмещённый с присваиванием
  2. Пример - a <<= b "a = a << b"
  3. >>= - Побитовый сдвиг вправо, совмещённый с присваиванием
  4. Пример - a >>= b "a = a >> b"
  5. a[b] - Обращение к элементу массива
  6. Пример - a[b]
  7. *a - Непрямое обращение («объект, на который указывает a»)
  8. Пример - *a

Скилет программы Arduino

				void setup() {
				 //put your setup code here, to run once: 
                
                }
                void loop() {
				 // put your main code here, to run repeatedly: 
                
                }
			

Движение робота - 01

                 // Инициализация переменных
				int Pin1R=1; // Номер пина 1 правого мотора 
				int Pin2R=2; // Номер пина 2 правого мотора 
                int PinENR=3; // Номер пина 3 правого мотора 

                int Pin1L=3; // Номер пина 1 левого мотора
                int Pin2L=4; // Номер пина 2 левого мотора
                int PinENL=5; // Номер пина 3 правого мотора 
			

Движение робота - 02

                 //функция SETUP
                void setup() {
                      pinMode(Pin1R, OUTPUT); // Номер пина 1 правого мотора 
                      pinMode(Pin2R, OUTPUT); // Номер пина 2 правого мотора 
                      pinMode(PinENR, OUTPUT); // Номер пина 3 правого мотора 

                      pinMode(Pin1L, OUTPUT); // Номер пина 1 левого мотора
                      pinMode(Pin2L, OUTPUT); // Номер пина 2 левого мотора
                      pinMode(PinENL, OUTPUT); // Номер пина 3 правого мотора 
                }
			

Движение робота - 03

                 //функция SETUP
                void loop() {
                      digitalWrite(Pin1R, HIGH); // Подаем на Pin HIGH 
                      digitalWrite(Pin2R, LOW); // Подаем на Pin LOW 
                      analogWrite(PinENR, 255); // Подаем на Pin скорость мотора 

                      digitalWrite(Pin1L, HIGH); // Подаем на Pin HIGH 
                      digitalWrite(Pin2L, LOW); // Подаем на Pin LOW 
                      analogWrite(PinENL, 255); // Подаем на Pin скорость мотора 
                }