В настоящем проекте используется датчик содержания алкоголя MQ-3. Благодаря плате с датчиком SparkFun Gas Sensor Breakout Board, вы сможете подключить MQ-3 к микроконтроллеру Arduino для определения уровня промилле по вашему дыханию.
MQ-3 управляется теплотой вашего дыхания и определяет наличие алкоголя. Датчик выдает аналоговый сигнал (обычно интерпретируется в числовые величины от 150 до 1023, в зависимости от длительности нагрева датчика), который обрабатывается и интерпретируется программным кодом Arduino, с возможностью калибровки.
Сборка устройства
При подключении MQ-3 к плате SparkFun Breakout Board следуете принять во внимание, что полярность MQ-3 не играет никакой роли. Оба вывода A аналогичны выводам B. Центральный выводы по обеим сторонам являются выводами нагревательного элемента. Схема датчика работает от источника напряжения +5В DC. При установке датчика на плату надписи и логотип компании SparkFun должны находиться снизу, а датчик сверху платы!
Примечание: Поскольку MQ-3 может нагреваться и даже испускать посторонний запах при первом использовании. Это вполне нормально.
Калибровка: Если вы не будете спешить, то сможете узнать, какие цифровые значения соотносятся с процентными соотношениями и даже с концентрацией алкоголя в крови в случае использования алкогольно-респираторной трубки.
Разумеется, вам необходимо выполнить калибровку датчика MQ-3 на основании показаний датчика, вычисленных программным кодом Arduino, поскольку они могут изменяться. Для калибровки вы можете использовать бутылочку с изопропиловым спиртом для получения различных процентных соотношений во время тестирования. Не опускайте датчик в спирт! Просто позвольте парам спирта попасть на датчик и выполните считывание показаний.
Программный код
Программный код для Arduino представлен ниже.
int mq3_analogPin = A0; // connected to the output pin of MQ3 void setup(){ Serial.begin(9600); // open serial at 9600 bps } void loop() { // give ample warmup time for readings to stabilize int mq3_value = analogRead(mq3_analogPin); Serial.println(mq3_value); delay(100); //Just here to slow down the output. }
Оцените статью!