Announcement

Collapse
No announcement yet.

Buzzer - Controlling Buzzer from Webpage using Hypertext

Collapse
X
Collapse

  • Buzzer - Controlling Buzzer from Webpage using Hypertext


    Tutorial Video



    Hardware
    • PHPoC Blue (+ USB WLAN) or PHPoC Black (+ Ethernet cable)
    • Micro USB to USB Cable (to upload source code to PHPoC Device)
    • Piezo Buzzer
    • Jumper Cable


    About Buzzer

    Buzzer is used to make sound, tone and alerts. The buzzer used in this example includes three pins:
    • VCC pin.
    • GND pin.
    • Signal pin (receives the control signal from controller).
    How the buzzer works:
    • If generating a square wave of the specified frequency (and 50% duty cycle) on signal pin of buzzer, buzzer makes a specific tone corresponding to the frequency.
    • If controlling the signal pin of buzzer to HIGH (3.3V to 5V), of buzzer makes constant sound.
    • If controlling the signal pin of buzzer to LOW (0V), of buzzer keeps silent.
    How to control buzzer:
    • This example shows how to simply control buzzer by controlling the signal pin of buzzer to HIGH or LOW to generate sound or mute, respectively. To do so, It just needs to connect an digital output pin of PHPoC devices to the signal pin of buzzer and control it. For advanced control, use can use hardware/software timer to generate a square wave of the desired frequency.
    We can use another kind of buzzer instead, even if it has different pinout, for example:We can use the source code of this example if its working principle is the same as the buzzer used in this example.




    Wiring Diagram



    Quick Steps

    Source code of this example is a part of PHPoC Support Packet (PSP). You need to:
    • Download PHPoC Support Package.
    • Upload example\p4s\02.html_text\01.uio_buzzer to PHPoC Blue/Black.
    • Configure network parameters (e.g. WiFi SSID, password, IP address ...).
    • Access webpage on PHPoC using Web Browser on your PC or smart phone (See How To).
    If you use PHPoC for the first time, see How To Use PSP.


    Source Code

    Source files includes:index.php file, which contains source code of web page. It is only run in response to request from Web Browser.

    index.php

    [Full Code]
    PHP Code:
    <html>
    <head>
    <title>PHPoC / <?echo system("uname -i")?></title>
    <meta name="viewport" content="width=device-width, initial-scale=0.7">
    <style> body { text-align: center; } </style>
    </head>
    <body>

    <h2>

    UIO / Catalex Buzzer<br>

    <br>

    <?php

    include_once "/lib/sd_340.php";

    define("OUT_PIN"0);

    uio_setup(0OUT_PIN"out");

    if((
    $led0 _GET("led0")))
    {
     if(
    $led0 == "low")
      
    uio_out(0OUT_PINLOW);
     else
      
    uio_out(0OUT_PINHIGH);
    }

    if(
    uio_in(0OUT_PIN) == LOW)
    {
     echo 
    "Buzzer Status : OFF<br>\r\n";
     echo 
    "<br><a href='index.php?led0=high'>Toggle</a><br>\r\n";
    }
    else
    {
     echo 
    "Buzzer Status : ON<br>\r\n";
     echo 
    "<br><a href='index.php?led0=low'>Toggle</a><br>\r\n";
    }

    ?>

    </h2>

    </body>
    </html>



    [Explanation]

    Source code of index.php file is composed of HTML, CSS and PHPoC code.

    PHPoC code is interpreted on on PHPoC device.
    • PHP Code:
      <?php

          
      include_once "/lib/sd_340.php";

          
      define("OUT_PIN"0);

          
      uio_setup(0OUT_PIN"out");

          if((
      $led0 _GET("led0")))
          {
           if(
      $led0 == "low")
            
      uio_out(0OUT_PINLOW);
           else
            
      uio_out(0OUT_PINHIGH);
          }

          if(
      uio_in(0OUT_PIN) == LOW)
          {
           echo 
      "Buzzer Status : OFF<br>\r\n";
           echo 
      "<br><a href='index.php?led0=high'>Toggle</a><br>\r\n";
          }
          else
          {
           echo 
      "Buzzer Status : ON<br>\r\n";
           echo 
      "<br><a href='index.php?led0=low'>Toggle</a><br>\r\n";
          }

          
      ?>
    This code does:
    • Setup IO pin to output mode.
    • Get the requested state from HTTP request.
    • Control the state of buzzer according to the requested state.
    • Read the current state of buzzer .
    • Print out the current state to webpage.
    • Print out hyperlink, which can be used to toggle state of buzzer to webpage.


    PHPoC code may add/update the content of HTML, CSS or JavaScript code. Once PHPoC code is interpreted in PHPoC, the remaining code is client-side code and it is returned to Web Browser. Web Browser receives this code and interpret it to display the webpage.
    • HTML: describes the structure of Web pages
    • CSS: describes how HTML elements are to be displayed
    For detail explanation, see How to Control Devices via HTTP Request




    See Also

    Other Resources
    Last edited by support; 02-09-2018, 10:02 AM.
      Posting comments is disabled.

    Categories

    Collapse

    Latest Articles

    Collapse

    • Arduino - RS-485 Expansion Board
      support
      PES-2607 is an easy-to-use RS422/RS485 Expansion Board for Arduino Uno and Mega, which allows Arduino to exchange data with serial device via RS422 or RS485.
      Especially, Arduino does NOT use UART pins to communicate with RS422/RS485 expansion board. Therefore, users can use Arduino UART pins for other purposes.
      Moreover, A single Arduino Uno/Mega can communicate with multiple RS422/RS485 expansion boards (up to 14) without using Arduino UART pins.

      Library and examples for...
      11-13-2018, 03:45 PM
    • Arduino - RS-422 Expansion Board
      support
      PES-2607 is an easy-to-use RS422/RS485 Expansion Board for Arduino Uno and Mega, which allows Arduino to exchange data with serial device via RS422 or RS485.
      Especially, Arduino does NOT use UART pins to communicate with RS422/RS485 expansion board. Therefore, users can use Arduino UART pins for other purposes.
      Moreover, A single Arduino Uno/Mega can communicate with multiple RS422/RS485 expansion boards (up to 14) without using Arduino UART pins.

      Library and examples for...
      11-13-2018, 03:44 PM
    • Arduino - RS-232 Expansion Board
      support
      PES-2606 is an easy-to-use RS-232 Expansion Board for Arduino Uno and Mega, which allows Arduino to exchange data with serial device via RS-232.
      Especially, Arduino does NOT use UART pins to communicate with RS-232 expansion board. Therefore, users can use Arduino UART pins for other purposes.
      Moreover, A single Arduino Uno/Mega can communicate with multiple RS-232 expansion boards (up to 14) without using Arduino UART pins.

      Library and example for the RS-232 expansion board...
      11-13-2018, 03:43 PM
    • Arduino - Stepper Motor Controller
      support
      PES-2605 is an easy-to-use stepper motor controller for Arduino Uno and Mega, which uses micro-stepping method to precisely control stepper motor.
      Library and example for the stepper motor controller are part of of PhpocExpansion library for Arduino. The library reference is available here.

      This tutorial shows how to use the step motor controller with an example of PhpocExpansion library for Arduino.


      Hardware Required...
      11-13-2018, 03:41 PM
    • Arduino - DC Motor Controller
      support
      PES-2604 is an easy-to-use DC motor controller for Arduino Uno and Mega.
      Library and example for the DC motor controller are part of of PhpocExpansion library for Arduino. The library reference is available here.

      This tutorial shows how to use the DC motor controller with an example of PhpocExpansion library for Arduino.


      Hardware Required...
      11-13-2018, 03:40 PM
    • Arduino - Digital Input Board
      support
      PES-2602 is an easy-to-use 4-port Input Expansion Board for Arduino Uno and Mega, which allows Arduino to monitor state of DC electric device. In addition, it can monitor NPN, PNP and dry contact(relay).
      Library and example for the 4-port input expansion board are part of of PhpocExpansion library for Arduino. The library reference is available here.

      This tutorial shows how to use 4-port input expansion board with an example of PhpocExpansion library for Arduino.

      ...
      11-13-2018, 03:39 PM
    Working...
    X