Skip to content
Avaleht » Ülesanne «Rahakarp». Töö paarides

Ülesanne “Rahakarp”. Töö paarides

Копилка

Описание работы

Копилка – это простое устройство для накопления и хранения мелких денежных средств, обычно монет. Основная цель копилки – помочь людям копить деньги на определенные цели или просто научиться экономить. В зависимости от конструкции и материалов, из которых она изготовлена, копилки могут быть разными по форме, размеру и механизму работы.

Применение в жизни:

Может использоваться в следующих примерах:

  • Мелкие накопления: Копилка позволяет откладывать мелкие суммы денег на повседневные или долгосрочные нужды, например, на отпуск, подарок или покупку бытовой техники.
  • Создание резервного фонда: Накопленные средства могут стать полезным резервом на случай непредвиденных расходов или чрезвычайных ситуаций.
  • Сбор средств на благотворительные цели: Копилки часто используются для сбора пожертвований в общественных местах, магазинах, школах и церквях.
Список компонентов
  • Плата “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*

Отчеты

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

Видео