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

Датчик расстояния и OLED

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

Arduino UNO
× 1
Ультразвуковой датчик - HC-SR04 (общий)
× 1
Adafruit 128X64 LED LCD OLED
× 1

Приложения и онлайн-сервисы

IDE Arduino

Об этом проекте

Как использовать OLED-экран

Вот мой предыдущий урок по этому поводу:

  • #includes и #defines перед запуском setup ():
  #include  // нам нужны все эти неприятные библиотеки для OLED # include  #include  #include  #define OLED_RESET 4 // это вывод сброса, IM НЕ ИСПОЛЬЗУЕТ дисплей ITAdafruit_SSD1306 (OLED_RESET);  
  • В setup () функция:
  display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // инициализируем с адресом I2C 0x3C (128x64) display.clearDisplay (); // очищаем отображение перед запуском  
  • В loop () функция:
  display.setCursor (22,20); // координаты x, y display.setTextSize (3); // размер текста display.setTextColor (WHITE); // если вы напишете ЧЕРНЫЙ, он стирает все display.println (distance); // выводим нашу переменную display.setCursor (85,20); // устанавливаем размер, выводим единицы измерения (см / дюйм) display.setTextSize (3); #ifdef CommonSenseMetricSystem // если есть # определить CommonSenseMetricSystem display.println ("cm"); // выводим "cm" в oled #endif #ifdef ImperialNonsenseSystem // если есть # define ImperialNonsenseSystem display.println ("in"); // вывод "в" в oled #endif display.display (); // вам нужно отобразить все эти данные delay (500); // ждем !, человеческая скорость display.clearDisplay (); // очистить дисплей черным  

Как использовать ультразвуковой диапазон HC-SR04

Здесь у вас есть таблица данных, модуль HC отправляет пакет импульсов, а затем измеряет время, которое требуется ультразвуковому эхо, чтобы вернуться в исходное место.

  • Сделайте импульс для триггера HC, HC выполнит пакетный импульс:
  длительность, расстояние; // любимые нами переменные digitalWrite (trigPin, LOW); // ИМПУЛЬС ___ | --- | ___ delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW);  
  • PulseIn () - редко используемая функция, определяет длину шага высокого (__ ---- __) или низкого (----___---)

Мы используем #ifdef для компиляции только тех частей, которые нам нужны.

  duration =pulseIn (echoPin, HIGH); // #ifdef CommonSenseMetricSystem distance =(duration / 2) / 29.1; #endif #ifdef ImperialNonsenseSystem distance =(duration / 2) / 73.914; #endif  
  • И это для отладки, если ваш Oled не работает:
  Serial.println (distance); // отладка  

Код

  • Измерение и отображение расстояния ультразвуком.
Ультразвуковое измерение расстояния и отображение Arduino
Основной код
 // КОД Хавьера Муньоса Саэса, 11.05.2016 вопросы на [email protected]#include  #include  #include  #include  #define CommonSenseMetricSystem // # define ImperialNonsenseSystem # define trigPin 13 # define echoPin 12 #define OLED_RESET 4Adafruit_SSD1306 display (OLED_RESET); void setup () {Serial.begin (9600); pinMode (trigPin, ВЫХОД); pinMode (echoPin, ВХОД); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // инициализируем с адресом I2C 0x3C (128x64) display.clearDisplay ();} void loop () {long duration, distance; digitalWrite (trigPin, LOW); // ИМПУЛЬС ___ | --- | ___ delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); duration =pulseIn (echoPin, HIGH); #ifdef CommonSenseMetricSystem distance =(duration / 2) / 29.1; #endif #ifdef ImperialNonsenseSystem distance =(duration / 2) / 73.914; #endif display.setCursor (22,20); // старый дисплей display.setTextSize (3); display.setTextColor (БЕЛЫЙ); display.println (расстояние); display.setCursor (85,20); display.setTextSize (3); #ifdef CommonSenseMetricSystem display.println ("см"); #endif #ifdef ImperialNonsenseSystem display.println ("in"); #endif display.display (); задержка (500); display.clearDisplay (); Serial.println (distance); // отладка} 

Схема


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

  1. Как работает датчик расстояния и его применение
  2. Датчик Arduino - типы и приложения
  3. Датчик отпечатков пальцев Работа и приложения
  4. Датчик температуры Python и Raspberry Pi
  5. Датчик температуры и освещенности Raspberry Pi
  6. Управление датчиком и исполнительным механизмом Raspberry Pi
  7. Аэропоника с Raspberry Pi и датчиком влажности
  8. Как проверить и откалибровать датчик влажности
  9. Windows 10 IoT Core и SHT15
  10. Клеточные автоматы на основе Arduino и OLED