Копилка
Описание работы
Копилка – это простое устройство для накопления и хранения мелких денежных средств, обычно монет. Основная цель копилки – помочь людям копить деньги на определенные цели или просто научиться экономить. В зависимости от конструкции и материалов, из которых она изготовлена, копилки могут быть разными по форме, размеру и механизму работы.
Применение в жизни:
Может использоваться в следующих примерах:
- Мелкие накопления: Копилка позволяет откладывать мелкие суммы денег на повседневные или долгосрочные нужды, например, на отпуск, подарок или покупку бытовой техники.
- Создание резервного фонда: Накопленные средства могут стать полезным резервом на случай непредвиденных расходов или чрезвычайных ситуаций.
- Сбор средств на благотворительные цели: Копилки часто используются для сбора пожертвований в общественных местах, магазинах, школах и церквях.
Список компонентов
- Плата “Arduino UNO”
- Макет
- 1 RGB LED
- 1 Servo
- 1 Ultrasonic Distance Sensor
- 4 резистора
- 1 LCD экран
- Много проводов
*Код*
#include <Servo.h> //библиотека серво двигателя
#include <LiquidCrystal.h> //библиотека LCD экрана
const int rs = 12, e = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, e, d4, d5, d6, d7);
#define trigger_sensor_pin 9
#define echo_sensor_pin 8
#define servo_pin 7
const int GREEN_PIN = 10;
const int BLUE_PIN = 1;
const int RED_PIN = 13;
Servo servo;
int total_coins = 0;
int duration, distance;
void setup()
{
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(BLUE_PIN, OUTPUT);
pinMode(trigger_sensor_pin, OUTPUT);
pinMode(echo_sensor_pin, INPUT);
servo.attach(servo_pin);
Serial.begin(9600);
}
void colors_rgb()
{
int red = random(0,255);
int green = random(0,255);
int blue = random(0,255);
analogWrite(GREEN_PIN, green);
analogWrite(BLUE_PIN, blue);
analogWrite(RED_PIN, red);
}
void loop()
{
delay(100);
digitalWrite(trigger_sensor_pin,LOW);
delayMicroseconds(2);
digitalWrite(trigger_sensor_pin,HIGH);
delayMicroseconds(10);
digitalWrite(trigger_sensor_pin,LOW);
duration = pulseIn(echo_sensor_pin, HIGH);
distance = duration / 58;
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
lcd.setCursor(3,0);
lcd.print("Coins:");
lcd.setCursor(10,0);
lcd.print(total_coins);
if (distance > 34 && distance < 100)
{
servo.write(0);
delay(1500);
total_coins++;
colors_rgb();
delay(1500);
}
else
{
servo.write(90);
}
}
*Конструкция в Tinkercad*

Отчеты
*Конструкция в реальности*
