Лабораторная 7 https://www.tinkercad.com/things/7tUzNdi3Ocf-fantabulousblad/editel?sharecode=Svp_BmWLSmrqCWz7uiDcBLPDkGbRpNdGy8ERZgi7M20 #define led_pin 8 #define pot A0 bool flag=LOW; bool lastButton=LOW; void setup() { pinMode(led_pin, OUTPUT); pinMode(button_pin, INPUT); pinMode(pot, INPUT); pinMode(led_pin, OUTPUT); } boolean debounce(boolean last) { boolean current=digitalRead(button_pin); if (last!=current) { delay(5); current=digitalRead(button_pin); return current; } } void loop() { int currentButton=digitalRead(button_pin); if(lastButton == LOW &&currentButton==HIGH) { flag=!flag; digitalWrite(led_pin,flag);} lastButton=currentButton; int x; x=analogRead(pot)/4; analogWrite(8,x); } Лабораторная 8 https://www.tinkercad.com/things/8mEqoVRrj9P-funkymigelo/editel?sharecode=AwUo5D7efD9dQuoL8cdz2whUlhEMQ6P65P2YCIHFQ0U #define first_pin 6 #define button_count 6 void setup() { pinMode(buz_pin, OUTPUT); } void loop() { for(int i=0; i<button_count; ++i) { int buttonPin=i+first_pin; boolean buttonUp=digitalRead(buttonPin); if(!buttonUp){ int frequency=300+i*500; tone(buz_pin,frequency,50); } } } Лабораторная 9 https://www.tinkercad.com/things/bvbYtBjRt4n-spectacularblorr/editel?sharecode=Qi4Zzy8amDSzJzuTVFL_LblvUuNk1vLAmgb6u33WNdg #define minus_button_pin 3 #define led_pin 9 int brightness=100; boolean plusUp=true; boolean minusUp=true; boolean handleClick(int buttonPin,boolean wasUp,int delta) { boolean isUp =digitalRead(buttonPin); if(wasUp&&!isUp) { delay(10); isUp=digitalRead(buttonPin); if(!isUp) brightness=constrain(brightness+delta,0,255); } return isUp; } void setup() { pinMode(led_pin, OUTPUT); pinMode(plus_button_pin, INPUT_PULLUP); pinMode(minus_button_pin, INPUT_PULLUP); } void loop() { analogWrite(led_pin, brightness); plusUp=handleClick(plus_button_pin,plusUp,+35); minusUp=handleClick(minus_button_pin,minusUp,-35); }