Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Самодельный измеритель роста на Arduino — точно и просто

Компоненты и материалы

Компонент Количество
Arduino Nano R3 1
Ультразвуковой датчик HC-SR04 1
Алфавитно-цифровой LCD 16×2 1
Подстроечный резистор 10 кОм 1

Инструменты

Программное обеспечение

О проекте

Идея пришла, когда автор заметил, что дети измеряют свой рост каждый день. Устройство позволяет узнать рост: достаточно встать под ним — звуковой сигнал подтвердит измерение.

Сборка очень проста, компонентов минимум:

Принцип работы

  1. Устройство устанавливается на заранее известной высоте H (двухсторонним скотчем). Высота задана в коде.
  2. Когда человек встаёт под прибор, датчик измеряет расстояние D до головы.
  3. Код вычисляет H − D — это и есть рост человека H1. Значение выводится на LCD.
  4. Библиотека LcdBarGraph рисует горизонтальную шкалу, длина полосы пропорциональна росту.
  5. Если никого нет под прибором, H = D, разность = 0.
Самодельный измеритель роста на Arduino — точно и просто

Устройство помещено в корпус: LCD спереди, ультразвуковой датчик снизу. Библиотеки, код и схема приведены ниже.

Код (Arduino)

#include <LiquidCrystal.h>
#include <LcdBarGraph.h>

#define max_distance 200

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
LcdBarGraph lbg(&lcd, 16, 0, 1);

const int trigPin = 9;
const int echoPin = 10;
long duration;
int distance;
int distance1;
int speakerPin = 8;

void setup() {
  lcd.begin(16, 2);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}

void loop() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH);
  distance = duration * 0.034 / 2;
  distance1 = 180 - distance;  // H = 180 см (высота установки)

  if (distance1 > 100) {
    tone(speakerPin, 1000);
  } else {
    noTone(speakerPin);
  }

  lcd.setCursor(0, 0);
  lcd.print("HEIGHT: ");
  lcd.print(distance1);
  lcd.print(" cm ");

  lcd.setCursor(0, 1);
  lbg.drawValue(distance1, max_distance);

  delay(500);
}

Библиотеки

Схема

Самодельный измеритель роста на Arduino — точно и просто

Производственный процесс

  1. Сборка домашней машины для написания домашних заданий (плоттер-писатель)
  2. Умный вольтметр на Arduino и смартфоне — простое DIY-проект
  3. Сборка DIY VR-скейтборда на Arduino, Google Cardboard и Bluetooth
  4. Сборка точного измерительного колеса на Arduino Nano и вращательном энкодере
  5. DIY Arduino Radionics EMR Treatment Device — радионическое устройство
  6. Измерение солнечной радиации на Arduino UNO с Ethernet Shield
  7. Построение полнофункционального станка с ЧПУ на базе Arduino Nano R3
  8. DIY 2D гоночный симулятор движения на Arduino Nano и сервоприводах SG90
  9. Построение универсального станка с ЧПУ — полное руководство DIY
  10. Создание портативного RFID-замка на Arduino — пошаговое руководство