Book description
BOOST YOUR HAM RADIO'S CAPABILITIES USING LOW-COST ARDUINO MICROCONTROLLER BOARDS!
Do you want to increase the functionality and value of your ham radio without spending a lot of money? This book will show you how! Arduino Projects for Amateur Radio is filled with step-by-step microcontroller projects you can accomplish on your own--no programming experience necessary.
After getting you set up on an Arduino board, veteran ham radio operators Jack Purdum (W8TEE) and Dennis Kidder (W6DQ) start with a simple LCD display and move up to projects that can add hundreds of dollars' worth of upgrades to existing equipment. This practical guide provides detailed instructions, helpful diagrams, lists of low-cost parts and suppliers, and hardware and software tips that make building your own equipment even more enjoyable. Downloadable code for all of the projects in the book is also available.
Do-it-yourself projects include:
- LCD shield
- Station timer
- General purpose panel meter
- Dummy load and watt meter
- CW automatic keyer
- Morse code decoder
- PS2 keyboard CW encoder
- Universal relay shield
- Flexible sequencer
- Rotator controller
- Directional watt and SWR meter
- Simple frequency counter
- DDS VFO
- Portable solar power source
Table of contents
- Cover
- Title Page
- Copyright Page
- Dedication
- About the Author
- Contents
- Preface
- Acknowledgments
- 1 Introduction
-
2 I Don’t Know How to Program
- I Don’t Need No Stinkin’ CW!
- Like CW, Like Programming
- The Five Program Steps
- Step 1. Initialization
- Step 2. Input
- Step 3. Processing
- Step 4. Output
- Step 5. Termination
- Arduino Programming Essentials
- The Blink Program
- Data Definitions
- Where’s the main() Function?
- The setup() Function
- The loop() Function
- I Thought There Were Five Program Steps?
- Modifying the Blink Sketch
- Saving Memory
- Remove Unused Variables
- Use a Different Data Type
- Avoid Using the String Class
- The F() Macro
- The freeRam() Function
- Conclusion
-
3 The LCD Shield Project
- Libraries: Lessening the Software Burden
- Not All LCDs Are the Same
- LCD Shield Parts List
- Assembling the LCD Shield
- Breakaway Header Pins
- Soldering Components to the Shield
- Adding Components Using a Schematic
- An Alternative Design
- Loading the Example Software and Testing
- A “Code Walk-Through” of the “HelloWorld” Sketch
- Explore the Other Examples
- Using Your LCD Display with the TEN-TEC Rebel
- Under the Rebel Hood
- Software Modifications
- Conclusion
-
4 Station Timer
- Software Version of ID Timer
- Magic Numbers
- Preprocessor Directives
- Fixing Bad Magic Numbers: #define
- A Second Way to Remove Magic Numbers: const
- Fixing Flat Forehead Mistakes
- Encapsulation and Scope
- Fixing Our Program Bug
- The static Data Type Specifier
- Using a Real Time Clock (RTC) Instead of a Software Clock
- The Inter-Integrated Circuit (I2C or I2C) Interface
- The I2C and the DS1307 RTC Chip
- BCD and the DS1307 Registers
- Constructing the RTC/Timer Shield
- The Adafruit RTClib Library
- Initializing the RTC
- Running the Program
- The RTC Timer Program
- The loop() Function
- A Software Hiccup
- Conclusion
- 5 A General Purpose Panel Meter
- 6 Dummy Load
-
7 A CW Automatic Keyer
- Required Software to Program an ATtiny85
- Connecting the ATtiny85 to Your Arduino
- The Proper Programming Sequence
- Some Things to Check If Things Go South
- Using the Digispark
- Compiling and Uploading Programs with Digispark
- The CW Keyer
- Adjusting Code Speed
- Capacitance Sensors
- The volatile Keyword
- Construction
- Conclusion
- 8 A Morse Code Decoder
-
9 A PS2 Keyboard CW Encoder
- The PS2 Keyboard
- Testing the PS2 Connector
- The PS2 Keyboard Encoder Software
- Adding the PS2 Library Code to Your IDE
- Code Walk-Through on Listing 9-1
- Overloaded Methods
- The sendcode() Method
- Some Bit-Fiddling
- Isolating the Arduino from the Transmitter
- Testing
- Other Features
- Change Code Speed
- Sidetone
- Long Messages
- Conclusion
-
10 Project Integration
- Integration Issues
- The Real Time Clock (RTC) Shield
- CW Decoder Shield
- PS2 Keyboard Keyer
- The Expansion Board
- Software Project Preparation
- C++, OOP, and Some Software Conventions
- C++ Header Files
- Class Declaration
- public and private Members of a Class
- Function Prototypes
- cpp Files
- Class Constructor Method
- IntegrationCode.ino
- Header Files
- Constructors
- How the Terms Class, Instantiation, and Object Relate to One Another
- The Dot Operator (.)
- The loop() Function
- Conclusion
- 11 Universal Relay Shield
-
12 A Flexible Sequencer
- Just What Is a Sequencer?
- The Sequencer Design
- Timing
- Constructing the Sequencer
- A Purpose-Built Sequencer
- Programming and Testing the Sequencer
- Initial Testing of the Sequencer
- Loading the Sequencer Program and Testing
- Sequencer Code “Walk-Through”
- Modifying the Sequence Order and Delay Time
- Configuring the Jumpers for Different Situations
- Modifying the Relay Shield from Chapter 11
- Alternate Listing for the Relay Shield Sequencer
- Conclusion
-
13 Rotator Controller
- The Arduino Antenna Rotator Controller
- Supported Rotators
- Relay Shield
- Panel Meter Shield
- The Control Panel
- Adding the I2C Interface to the Relay Shield from Chapter 11
- Connecting the Rotator Controller
- Early Cornell-Dublier Electronics (CDE) Models
- Later Models from HyGain, Telex, and MFJ
- Yaesu Models G-800SDX/DXA, G-1000SDX/DXA, and G-2800DXA
- Software
- Arduino Beam Heading Software
- Moving the Beam
- Setting a New Heading
- Storing a New Heading in EEPROM
- World Beam Headings
- Finding the Coordinates for a QTH
- Finding a Beam Heading
- Conclusion
-
14 A Directional Watt and SWR Meter
- SWR and How It Is Measured
- Obtaining the Antenna System SWR
- Detectors
- Constructing the Directional Watt/SWR Meter
- Design and Construction of the Directional Coupler/Remote Sensor
- The Sensor Board
- Final Assembly of the Coupler/Sensor
- Interface Shield Construction
- LCD Shield Options
- Final Assembly
- Testing the Directional Wattmeter/SWR Indicator
- Calibrating the Directional Wattmeter
- Software Walk-Through
- Definitions and Variables
- setup()
- loop()
- Further Enhancements to the Directional Wattmeter/SWR Indicator
- Conclusion
-
15 A Simple Frequency Counter
- Circuit Description
- Constructing the Shield
- An Alternate Design for Higher Frequencies
- Code Walk-Through for Frequency Counter
- Displaying the Tuned Frequency of Your Display-less QRP Rig
- Double Conversion Applications
- Adding a Frequency Display to the MFJ Cub QRP Transceiver
- Adding a Frequency Display to a NorCal 40
- Direct Conversion Applications
- Other Radio Applications
- Conclusion
-
16 A DDS VFO
- Direct Digital Synthesis
- The DDS VFO Project
- DDS VFO Circuit Description
- The Analog Devices AD9850 Breakout Module
- Constructing the DDS VFO Shield
- Adding an Output Buffer Amplifier for the DDS VFO
- The Front Panel and Interconnection
- DDS VFO Functional Description
- Overview
- EEPROM Memory Map
- SW1, the User Frequency Selection Switch (UFSS)
- SW2, the Band-Up Switch (BUS)
- SW3, the Band-Down Switch (BDS)
- SW4, Plus Step Switch (PSS)
- SW5, Minus Step Switch (MSS)
- SW6, the Encoder Control
- The DDS VFO Software
- EEPROM Initialization Program
- The KP VFO Software (VFOControlProgram.ino)
- setup()
- loop()
- Testing the DDS VFO
- Calibrating the DDS VFO
- Using the DDS VFO with Your Radio
- The Pixie QRP Radio
- Blekok Micro 40SC
- CRKits CRK 10A 40 meter QRP Transceiver
- Other Applications of the DDS VFO and Additional Enhancements
- Conclusion
-
17 A Portable Solar Power Source
- The Solar Sensor
- Solar Charger Controller
- Panel Positioning and Stepper Motor
- Stepper Wiring
- Stepper Motor Driver
- Control Inputs
- Solar Panel Support Structure
- Stepper Motor Details
- Mounting the Stepper Motor
- Solar Panel Connections
- Placing the Quick Connectors
- The Motor Controller Shield
- Routing Power Cables
- Motor Controller Shield Wiring
- Altitude Positioning
- The Software
- Final Assembly
- Assembly and Disassembly
- Conclusion
- A Suppliers and Sources
- B Substituting Parts
- C Arduino Pin Mapping
- Index
Product information
- Title: Arduino Projects for Amateur Radio
- Author(s):
- Release date: September 2014
- Publisher(s): McGraw-Hill Education TAB
- ISBN: 9780071834063
You might also like
book
Learn Electronics with Arduino
This book is your introduction to to physical computing with the Arduino microcontroller platform. No prior …
book
Learn Audio Electronics with Arduino
Learn Audio Electronics with Arduino: Practical Audio Circuits with Arduino Control teaches the reader how to …
book
Arduino Project Handbook, Volume II
This second volume of Arduino Project Handbook follows up the acclaimed first volume with 25 new …
book
Arduino Applied: Comprehensive Projects for Everyday Electronics
Extend the range of your Arduino skills, incorporate the new developments in both hardware and software, …