Uploaded by k.lyalikova

Лабораторная 7, 8, 9

advertisement
Лабораторная 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);
}
Download