TOP Contributors

  1. MIKROE (2784 codes)
  2. Alcides Ramos (402 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (130 codes)
  5. Bugz Bensce (97 codes)
  6. S P (73 codes)
  7. dany (71 codes)
  8. MikroBUS.NET Team (35 codes)
  9. NART SCHINACKOW (34 codes)
  10. Armstrong Subero (27 codes)

Most Downloaded

  1. Timer Calculator (140861 times)
  2. FAT32 Library (73461 times)
  3. Network Ethernet Library (58264 times)
  4. USB Device Library (48452 times)
  5. Network WiFi Library (44060 times)
  6. FT800 Library (43629 times)
  7. GSM click (30518 times)
  8. mikroSDK (29212 times)
  9. PID Library (27194 times)
  10. microSD click (26887 times)
Libstock prefers package manager

Package Manager

We strongly encourage users to use Package manager for sharing their code on Libstock website, because it boosts your efficiency and leaves the end user with no room for error. [more info]

< Back
mikroSDK Library

CO Click

Rating:

0

Author: MIKROE

Last Updated: 2024-10-31

Package Version: 2.1.0.15

mikroSDK Library: 2.0.0.0

Category: Gas

Downloaded: 312 times

Not followed.

License: MIT license  

CO Click carries the MQ-7 gas sensor with high sensitivity to carbon monoxide. The Click is designed to run on a 5V power supply only. It communicates with the target microcontroller over the AN pin on the mikroBUS™ line.

No Abuse Reported

Do you want to subscribe in order to receive notifications regarding "CO Click" changes.

Do you want to unsubscribe in order to stop receiving notifications regarding "CO Click" changes.

Do you want to report abuse regarding "CO Click".

  • mikroSDK Library 1.0.0.0
  • Comments (0)

mikroSDK Library Blog


CO Click

CO clickis designed to run on a 5V power supply only. It communicates with the target microcontroller over the AN pin on the mikroBUS™ line.The board also features a calibration potentiometer, a mikroBUS™ host socket, two jumpers and a power indicator LED.

co_click.png

Click Product page


Click library

  • Author : Jelena Milosavljevic
  • Date : Jun 2021.
  • Type : ADC type

Software Support

We provide a library for the CO Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.

Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Library Description

This library contains API for CO Click driver.

Standard key functions :

  • co_cfg_setup Config Object Initialization function.

    void co_cfg_setup ( co_cfg_t *cfg );
  • co_init Initialization function.

    CO_RETVAL co_init ( co_t *ctx, co_cfg_t *cfg );

Example key functions :

  • co_read_an_pin_value This function reads results of AD conversion of the AN pin.

    err_t co_read_an_pin_value ( co_t *ctx, uint16_t *data_out );
  • co_read_an_pin_voltage This function reads results of AD conversion of the AN pin and converts them to proportional voltage level.

    err_t co_read_an_pin_voltage ( co_t *ctx, float *data_out );

Example Description

The demo application shows the reading of the adc values given by the sensors.

The demo application is composed of two sections :

Application Init

Configuring clicks and log objects.


void application_init ( void ) {
    log_cfg_t log_cfg;  /**< Logger config object. */
    co_cfg_t co_cfg;  /**< Click config object. */

    /** 
     * Logger initialization.
     * Default baud rate: 115200
     * Default log level: LOG_LEVEL_DEBUG
     * @note If USB_UART_RX and USB_UART_TX 
     * are defined as HAL_PIN_NC, you will 
     * need to define them manually for log to work. 
     * See @b LOG_MAP_USB_UART macro definition for detailed explanation.
     */
    LOG_MAP_USB_UART( log_cfg );
    log_init( &logger, &log_cfg );
    log_info( &logger, " Application Init " );

    // Click initialization.

    co_cfg_setup( &co_cfg );
    CO_MAP_MIKROBUS( co_cfg, MIKROBUS_1 );
    if ( co_init( &co, &co_cfg ) == ADC_ERROR ) {
        log_error( &logger, " Application Init Error. " );
        log_info( &logger, " Please, run program again... " );

        for ( ; ; );
    }
    log_info( &logger, " Application Task " );
}

Application Task

Reads the adc value and prints in two forms (DEC and HEX).


void application_task ( void ) {
    uint16_t co_an_value = 0;

    if ( co_read_an_pin_value ( &co, &co_an_value ) != ADC_ERROR ) {
        log_printf( &logger, " ADC Value : %u\r\n", co_an_value );
    }

    float co_an_voltage = 0;

    if ( co_read_an_pin_voltage ( &co, &co_an_voltage ) != ADC_ERROR ) {
        log_printf( &logger, " AN Voltage : %.3f[V]\r\n\n", co_an_voltage );
    }

    Delay_ms ( 1000 );
}

The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Other Mikroe Libraries used in the example:

  • MikroSDK.Board
  • MikroSDK.Log
  • Click.CO

Additional notes and informations

Depending on the development board you are using, you may need USB UART Click, USB UART 2 Click or RS232 Click to connect to your PC, for development systems with no UART to USB interface available on the board. UART terminal is available in all MikroElektronika compilers.


ALSO FROM THIS AUTHOR

Stepper 11 Click

0

Stepper 11 Click is a compact add-on board that contains a bipolar stepper motor driver. This board features the TB9120AFTG, a two-phase bipolar stepping motor driver with a clock input interface and a PWM constant-current control system from Toshiba Semiconductor.

[Learn More]

RTK Rover Click

0

RTK Rover Click is a compact add-on board that enhances the precision of position data derived from compatible RTK Base Station. This board features Quectel’s LG69TAMMD, a dual-band multi-constellation GNSS module featuring a high-performance and high-reliability positioning engine. This module facilitates a fast and precise GNSS positioning capability for centimeter-level accuracy, featuring the fifth generation of STMicroelectronics® positioning receiver platform with 80 tracking and four fast acquisition channels. It supports up to 3 concurrent global constellations (GPS/QZSS, Galileo, and BDS) alongside NMEA 0183/RTCM 3.x protocol and commonly used UART interface.

[Learn More]

LR 11 868MHz Click

0

LR 11 Click - 868MHz is a compact add-on board for long-range, low-power wireless communication in IoT applications. This board features the 453-00140R, an ultra-low power LoraWAN module Ezurio (part of the RM126x series), integrating the Silicon Labs EFR32 SoC and the Semtech SX1261 radio. It supports LoRaWAN classes A, B, and C, offering secure, scalable, and bi-directional communication. It operates in the 863-870MHz frequency range with a typical transmit power of up to 14dBm and a communication range of up to 15km.

[Learn More]