(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[User:Guru|Guru]] ([[User talk:Guru|talk]]) 20:00, 17 November 2015 (IST)
 
----
 
 
[[Category:AVR Tutorials]]
 
[[Category:AVR Tutorials]]
 +
After blinking the leds and Controlling them using switches, its time to make some noise using the buzzer. In the first part of the tutorial, we will beep the buzzer with a delay of 1sec. At the end we will control the buzzer using a switch.
 +
[[File:0 AVR Buzzer.JPG]]
 +
 +
=Register Configuration =
 +
Please refer the below tutorial for basics of GPIO register configuration.
 
<html>
 
<html>
<title>The Rock (1996)</title>
+
<ul>
<meta property="og:title" content="The Rock" />
+
<a href="https://www.exploreembedded.com/wiki/2._AVR_I/O_Register_Configuration">AVR I/O Register Configuration
<meta property="og:type" content="video.movie" />
+
</a>
<meta property="og:url" content="http://www.imdb.com/title/tt0117500/" />
+
</ul>
<meta property="og:image" content="http://ia.media-imdb.com/images/rock.jpg" />
+
 
</html>
 
</html>
  
  
=Hookup=
 
You may look this up with the simple breadboard as shown in section below or you could use the Ultra AVR dev kit if do not wish to jumble with wires and resistors.
 
==Type 1:Breadboard with Explore AVR 40 Pin Breakout Board with Atmega32==
 
===Components Used===
 
  
{| class="wikitable"
 
|-
 
| 1||
 
<html><img src ="https://www.exploreembedded.com/blog/wp-content/uploads/img-collections/avr-mcu-breakout/1-dsc02958.jpg" width="300 px"></html>
 
  
|| AVR 40 pin breakout board with Atmega32<br />
+
=Buzzer Beep Code=
[https://www.exploreembedded.com/product/AVR%2040%20Pin%20Breakout%20Board%20with%20Atmega32 Click here to buy from our store]
+
|-
+
|2||
+
<html><img src ="https://www.exploreembedded.com/blog/wp-content/uploads/img-collections/breadboard-large/breadboard_large.jpg" width="300 px"></html>
+
  
|| Breadboard <br />
+
Below points needs to be considered for this example.
[https://www.exploreembedded.com/product/Large%20Breadboard Click here to buy from our store]
+
* Include the io.h file as it has the definitions for all the PORT registers.
|-
+
* Include delay.h file to use the delay functions.
| 3||
+
* Configure the PORT as Output before writing any data to PORT pins.
<html><img src ="https://www.exploreembedded.com/blog/wp-content/uploads/img-collections/male-to-male-jumper-wires-pack-of-40/1-dsc04497.jpg" width="300 px"></html>
+
* Turn ON and OFF the buzzer with a delay of 1sec.
 +
<html>
 +
<script src="https://gist.github.com/SaheblalBagwan/f0bd96ce77327ea39989.js"></script>
 +
</html>
  
|| Male to Male Jumper Wires <br />
 
[https://www.exploreembedded.com/product/Male%20to%20Male%20Jumper%20Wires%20-%20Pack%20of%2040 Click here to buy from our store]
 
|-
 
  
| 4||
 
<html><img src ="https://www.exploreembedded.com/blog/wp-content/uploads/img-collections/bc547/bc547.jpg" width="300 px"></html>
 
|| Transistor - BC547 <br />
 
[ Click here to buy from our store]
 
|-
 
  
| 5||
 
<html><img src ="https://www.exploreembedded.com/blog/wp-content/uploads/img-collections/buzzer/buzzer.jpg" width="300 px"></html>
 
|| Buzzer <br />
 
[ Click here to buy from our store]
 
|-
 
  
| 6||
+
=Switch And Buzzer Code=
<html><img src ="https://www.exploreembedded.com/blog/wp-content/uploads/img-collections/resistor/3_resistors.jpg" width="300 px"></html>
+
Below points needs to be considered for this example.
|| Resistor <br />
+
* Include the io.h file as it has the definitions for all the PORT registers.
[https://www.exploreembedded.com/product/10K%20ohm%20Resistor Click here to buy from our store]
+
* Configure PORTA as inputs to read the switch status.
|}
+
* Configure the PORTC as Output to turn ON/OFF the Buzzer.
 +
* Continuously read the switch status and control the buzzer accordingly.
 +
<html>
 +
<script src="https://gist.github.com/SaheblalBagwan/d64fac6230cd8a35bf9b.js"></script>
 +
</html>
  
==Wiring diagram==
+
=Wiring diagram=
<html><img src ="https://www.exploreembedded.com/blog/wp-content/uploads/img-collections/fritzing-tutorials_de69ccc2/buzzer_breadboard_bb.png" width="670 px"></html>
+
<html><img src ="https://www.exploreembedded.com/blog/wp-content/uploads/img-collections/fritzing-tutorials_de69ccc2/buzzer_bb.png" width="670 px"></html>
  
==Type 2:Using Explore Ultra AVR Dev Kit==
 
===Components Used===
 
The Explore Ultra AVR Kit comes with all the things required, not just for this experiment but for the entire series. And even if you think of migrating to PIC or Arduino, you'll have breakout boards that fit on to this, hence we believe it is a great investment for learning hands on Embedded Systems. The kit is fully open source, you may use the schematics, the design files and all of the source code and build something cool on your own. And when you do that do not forget to share with us what you've done. We would be happy to see you building something cool.
 
  
 +
 +
 +
 +
=Explore Ultra AVR Dev Kit=
 +
The Explore Ultra AVR Kit comes with all the things required, not just for this experiment but for the entire series. And even if you think of migrating to PIC or Arduino, you'll have breakout boards that fit on to this, hence we believe it is a great investment for learning hands on Embedded Systems. The kit is fully open source, you may use the schematics, the design files and all of the source code and build something cool on your own. And when you do that do not forget to share with us what you've done. We would be happy to see you building something cool.
 
<html>
 
<html>
 
<ul>
 
<ul>
Line 71: Line 57:
 
</html>
 
</html>
  
<html><img src ="https://www.exploreembedded.com/blog/wp-content/uploads/img-collections/fritzing-tutorials_de69ccc2/buzzer_bb.png" width="670 px"></html>
 
  
  
=Code=
+
=Video Tutorial=
<syntaxhighlight>
+
For those of you, who would like to watch instead of read we have made a video with all the gyan.
/*-----------------------------------------------------------------------------
+
<br>
                Program to demonstrate Buzzer
+
{{#ev:youtubehd|-lNAmSNV2-Q|640}}
  -----------------------------------------------------------------------------
+
+
note: Connect Buzzer on PORTB.0
+
  
------------------------------------------------------------------------------*/
 
  
 +
= Downloads=
 +
Download the complete project folder from the below link:
 +
https://github.com/ExploreEmbedded/ATmega32_ExploreUltraAvrDevKit/archive/master.zip<br>
  
/* htc.h contains the definition of all ports and SFRs */
 
#include <avr\io.h>
 
#include "stdutils.h"
 
#include "delay.h" //User defined library which contains the delay routine
 
  
/* start the main program */
 
void main()
 
{
 
  /*Configure PORTB.0 port as output */
 
 
 
  DDRB= 0x01;
 
 
 
  
  while(1)
+
Have a opinion, suggestion , question or feedback about the article let it out here!
    {
+
{{DISQUS}}
 
+
/* Turn On buzzer and wait for 3 second */
+
 
+
  PORTB = 0x01;
+
 
+
  DELAY_sec(3);
+
 
+
  /* Turn Off buzzer and wait for 3 second */
+
 
+
  PORTB = 0x00;
+
 
+
  DELAY_sec(3);
+
 
+
 
+
  }
+
  }
+
 
+
</syntaxhighlight>
+
 
+
=Video Tutorial=
+

Latest revision as of 11:31, 19 April 2016

After blinking the leds and Controlling them using switches, its time to make some noise using the buzzer. In the first part of the tutorial, we will beep the buzzer with a delay of 1sec. At the end we will control the buzzer using a switch. 0 AVR Buzzer.JPG

Register Configuration

Please refer the below tutorial for basics of GPIO register configuration.



Buzzer Beep Code

Below points needs to be considered for this example.

  • Include the io.h file as it has the definitions for all the PORT registers.
  • Include delay.h file to use the delay functions.
  • Configure the PORT as Output before writing any data to PORT pins.
  • Turn ON and OFF the buzzer with a delay of 1sec.



Switch And Buzzer Code

Below points needs to be considered for this example.

  • Include the io.h file as it has the definitions for all the PORT registers.
  • Configure PORTA as inputs to read the switch status.
  • Configure the PORTC as Output to turn ON/OFF the Buzzer.
  • Continuously read the switch status and control the buzzer accordingly.

Wiring diagram



Explore Ultra AVR Dev Kit

The Explore Ultra AVR Kit comes with all the things required, not just for this experiment but for the entire series. And even if you think of migrating to PIC or Arduino, you'll have breakout boards that fit on to this, hence we believe it is a great investment for learning hands on Embedded Systems. The kit is fully open source, you may use the schematics, the design files and all of the source code and build something cool on your own. And when you do that do not forget to share with us what you've done. We would be happy to see you building something cool.


Video Tutorial

For those of you, who would like to watch instead of read we have made a video with all the gyan.


Downloads

Download the complete project folder from the below link: https://github.com/ExploreEmbedded/ATmega32_ExploreUltraAvrDevKit/archive/master.zip


Have a opinion, suggestion , question or feedback about the article let it out here!