Тема: Счётчик готовой продукции
Добрый день мы с вами уже писались в ок ! Нужно собрать счётчик готовой продукции на базе ардуино ! Помогите схемой и программой?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Arduino в Кыргызстане → Программирование → Счётчик готовой продукции
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Добрый день мы с вами уже писались в ок ! Нужно собрать счётчик готовой продукции на базе ардуино ! Помогите схемой и программой?
Добрый день, вот отвечаю навскидку, посмотрите, если появятся вопросы - будем раскачивать дальше и больше.
Вот схема подключения тактовой кнопки, которая будет установлена в механике пресс подборщика
И схема подключения дисплея на базе драйвера MAX7219
Самый простой вариант - это по событию нажатия кнопки(привязанной к механике пресса) считать продукцию на выходе, по принципу "сумма уже прошедшей продукции +1". Если к примеру зажать эту кнопку на какое либо время(к примеру удерживать 10 секунд) то сумма счетчика сбрасывается в 0. Но этот вариант имеет существенный недостаток - если продукт застрянет или заклинит на датчике(кнопке) то счет может обнулиться. В этом случае можно поставить отдельную кнопку, в кабине, для обнуления суммы.
Как видите - схема собрана на базе платы Arduino Uno. Вместо дисплея на MAX7219 можно использовать любой другой дисплей, к примеру на сдвиговых регистрах 74НС595:
Можно на базе драйвера TM1637:
Можно взять LCD дисплей:
В общем то выбор количества отображаемых цифр будет зависеть от количества продукции которую планируется выпустить за смену, в случае LCD дисплея это уже не так существенно.
Спасибо вам огромное вы мне очень помогли ! А вместо кнопки нельзя другой датчик установить?
Да, можно. Кнопка - это я предварительно в качестве примера вам сказал. На самом деле вместо кнопки можно установить нормальный датчик индуктивности к примеру и также считывать с него сигнал. Но всё же можно поставить концевой датчик, закрепить его за механизмом который выкидывает продукт, и считывать сигнал. Скетч с комментариями выложу сегодня через час, как и обещал.
Итак, еще раз здравствуйте. Вот скетч-прошивка для реализации вашей задачи. В скетче прокомментированы пины подключения модуля дисплея на базе драйвера TM1637(более подробная статья об этом модуле http://arduino.on.kg/obzor-displeya-na- … era-TM1637 также пин подключения кнопки сброса счетчика и пин подключения концевого датчика готовой продукции. Сразу уточню - данный дисплей может отобразить четырехзначной число, следовательно максимальное значение счетчика будет равно 9999, думаю что этого значения должно хватить на подсчет продукции за смену. В скетче реализована также функция подавления ложных срабатываний(так называемый "дребезг" контактов) датчика готовой продукции.
#include "TM1637.h"
void DispUpdate(void);
boolean DebounceButton(int ScanPort, boolean last);
#define INC 2 //Пин подключения датчика готовой продукции
#define RES 3 //Пин подключения кнопки сброса счетчика
#define CLK 4 //TM1637 CLK
#define DIO 5 //TM1637 DIO
static int Counter = 0; //Значение счетчика будет сохраняться здесь
/*
* Создаем объект tm1637 класса TM1637
* в качестве параметров передаём ему
* номера пинов к которым подключен модуль
* с дисплеем
*/
TM1637 tm1637(CLK, DIO);
void setup()
{
pinMode(INC, INPUT); //Определяем пины подключения кнопки сброса
pinMode(RES, INPUT); //и датчика готовой продукции как входные
//Инициализация дисплея на базе драйвера TM1637
tm1637.init();
/*
* Установка яркости свечения сегментов
* возможные значения: BRIGHT_TYPICAL либо 2
* BRIGHT_DARKEST либо 0
* BRIGHTEST либо 7
* Также можно вводить значения от 0 до 4
* при вводе начения свыше 4 визуального различия
* в яркости свечения не наблюдается поэтому решено
* остановиться на 3
*/
tm1637.set(3);
}
void loop()
{
if(digitalRead(RES))
{
Counter = 0;
}
//Проверка кнопки сброса - нажатие и обработка "Антидребезг"
RESCurr = DebounceButton(RES, RESPrev);
if(RESPrev == false && RESCurr == true)
{
if(Counter == 9999)
{
Counter = 0;
}
else
{
Counter ++;
}
}
RESPrev = RESCurr;
DispUpdate();
}
//Функция подавления дребезга контактов концевого датчика
boolean DebounceButton(int ScanPort, boolean last)
{
boolean current = digitalRead(ScanPort);
if(current != last)
{
delay(5);
current = digitalRead(ScanPort);
}
return current;
}
//Функция обновления дисплея
//Вывод значения счетчика на дисплей
void DispUpdate(void)
{
int intValue = Counter;
int divValue;
for(int i = 3; i >= 0; i --)
{
divValue = intValue % 10;
intValue = intValue / 10;
CountDisp[i] = divValue;
}
tm1637.display(CountDisp);
}
Будут вопросы - пишите, критикуйте, предлагайте. Успехов вам.
А схема подключения не изменилась?
Схема подключения изменилась согласно скетчу и распиновке модуля на TM1637. Если что на днях схему выложу.
Добрый вечер дружище отправь со схемами! Маркировку датчика?
Итак вот схема подключений, именно та что соответствует прошивке которая выше уже выложена.
Скачать полноразмерное изображение можно по ссылке снизу:
Еще раз по дисплею на базе драйвера TM1637, если что то непонятно читай статью : http://arduino.on.kg/obzor-displeya-na- … era-TM1637
Хотя для тебя прошивка уже готова, просто залей её и подключи дисплей и кнопку, а также датчик. Датчик можешь взять вот такой как на фото:
Или такие:
Вот такой должен подойти:
Маркировку не могу сказать, китайцы выпускают их каждый день по миллион штук с самой разной маркировкой. Просто ищи схожий по виду. То как ты его закрепишь в механике пресс подборщика - это уже тебе решать, со своей стороны я постарался тебе преподнести элементарную схему и прошивку, теперь дело за тобой. Есть и более продвинутые варианты счетчиков готовой продукции, но это уже другая история( и за отдельную плату ). То что ты видишь это бюджетный вариант, так что успехов в модернизации своего пресса.
Спасибо друг сколько с меня?😁
Добрый вечер вы мне отправляли скетч на счётчик готовой продукции! Я пишу скейтч программа показывает ошибку подскажите как быть ?
Скиньте пожалуйста библиотеку для дисплеев.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Arduino в Кыргызстане → Программирование → Счётчик готовой продукции
Форум работает на PunBB, при поддержке Informer Technologies, Inc