Добавим к предыдущей схеме кнопку, чтобы моторчик работал только когда нажата кнопка.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#include <iostream> #include <chrono> #include <thread> #include <wiringPi.h> // BCM Mode Mapping #define PIN_MOTOR 21 #define PIN_BUTTON 4 int main (int argc, char **argv) { wiringPiSetupGpio(); pinMode(PIN_MOTOR, OUTPUT); pinMode(PIN_BUTTON, INPUT); printf("Engine and button pins have beens setup.\n"); while (1) { if (digitalRead(PIN_BUTTON) == HIGH) { printf("Button is pressed!\n"); digitalWrite(PIN_MOTOR, HIGH); } else { digitalWrite(PIN_MOTOR, LOW); } std::this_thread::sleep_for(std::chrono::milliseconds(10)); } } |
1 |
g++ button.cpp -o button.elf -lwiringPi |