Microcontrollers for Ham Radio

Similar documents
Getting to know the Arduino IDE

IDUINO for maker s life. User Manual. For IDUINO Mega2560 Board(ST1026)

Introduction to Microcontroller Apps for Amateur Radio Projects Using the HamStack Platform.

IDUINO for maker s life. User Manual. For IDUINO development Board.

Workshop on Microcontroller Based Project Development

Alessandra de Vitis. Arduino

USER MANUAL ARDUINO I/O EXPANSION SHIELD

keyestudio Keyestudio MEGA 2560 R3 Board

Intel Do-It-Yourself Challenge Intel Galileo and Edison Paul Guermonprez

Introduction to Arduino. Wilson Wingston Sharon

AVR MICROCONTROLLER PROJECT TUTORIAL E-PUB

Intel Galileo gen 2 Board

ESPino - Specifications

Freeduino USB 1.0. Arduino Compatible Development Board Starter Guide. 1. Overview

Advanced Embedded Systems

ARDUINO LEONARDO ETH Code: A000022

Lab 01 Arduino 程式設計實驗. Essential Arduino Programming and Digital Signal Process

Arduinos without (much) programming

Arduino Uno R3 INTRODUCTION

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

Goal: We want to build an autonomous vehicle (robot)

ARDUINO MEGA INTRODUCTION

An Introduction to Designing Ham Radio Projects with PIC Microcontrollers. George Zafiropoulos KJ6VU

ARDUINO LEONARDO WITH HEADERS Code: A000057

Introduction to Arduino

ARDUINO YÚN MINI Code: A000108

Introduction to Microcontrollers

Wireless Connectivity Options for IoT. By: MIST Makers John Varela and Nicholas Landy

Module 003: Introduction to the Arduino/RedBoard

VLSI Design Lab., Konkuk Univ. Yong Beom Cho LSI Design Lab

MT2 Introduction Embedded Systems. MT2.1 Mechatronic systems

Arduino Uno. Arduino Uno R3 Front. Arduino Uno R2 Front

Overview of the Raspberry Pi Models 3B & 2B

ARDUINO BOARD LINE UP

Ali Karimpour Associate Professor Ferdowsi University of Mashhad

Building your own special-purpose embedded system gadget.

Propeller Activity Board (#32910)

PIC Microcontroller Introduction

Arduino Programming and Interfacing

AXE Stack 18. BASIC-Programmable Microcontroller Kit. An inexpensive introduction to microcontroller technology for all ability levels

ARDUINO MINI 05 Code: A000087

Lesson 5 Arduino Prototype Development Platforms. Chapter-8 L05: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

Farklı Arduino Boardlar

Lab 2 - Powering the Fubarino. Fubarino,, Intro to Serial, Functions and Variables

ARDUINO YÚN Code: A000008

ARDUINO PRIMO. Code: A000135

ARDUINO UNO REV3 Code: A000066

32 bit Micro Experimenter Board Description and Assembly manual

Arduino ADK Rev.3 Board A000069

BASIC ARDUINO WORKSHOP. Mr. Aldwin and Mr. Bernardo

XNUCLEO-F030R8, Improved STM32 NUCLEO Board

The industrial technology is rapidly moving towards ARM based solutions. Keeping this in mind, we are providing a Embedded ARM Training Suite.

Low-Cost Microcontrollers

TA0297 WEMOS D1 R2 WIFI ARDUINO DEVELOPMENT BOARD ESP8266

Adafruit Metro Mini. Created by lady ada. Last updated on :12:28 PM UTC

Breeze Board. Type A. User Manual.

ARDUINO MEGA 2560 REV3 Code: A000067

WIZTECH AUTOMATION SOLUTIONS (P) LTD., An ISO 9001:2000 and IAO certified company

Laboratory 1 Introduction to the Arduino boards

Lesson 6 Intel Galileo and Edison Prototype Development Platforms. Chapter-8 L06: "Internet of Things ", Raj Kamal, Publs.: McGraw-Hill Education

ATmega128. Introduction

ARDUINO MEGA ADK REV3 Code: A000069

arduino mega D4F69C4DABCA73DE7282FD2C4B5B8 Arduino Mega / 6

Power Supply, Arduino MEGA 2560, and Stepper Motors Connections

Micro-controllers. Applications in Experimental Aircraft. RAA Meeting Nov 14, Terry Fisher

Arduino 101 AN INTRODUCTION TO ARDUINO BY WOMEN IN ENGINEERING FT T I NA A ND AW E S O ME ME NTO R S

CORRIGENDUM ISSUED FOR NATIONAL COMPETITIVE BIDDING UNDER TEQIP PHASE-II

Embedded Systems. Arduino. Labs. Labs 1/17/2019. CSE 362: Computer Design Lecture 2: Embedded Systems

Embedded Systems Lab Lab 1 Introduction to Microcontrollers Eng. Dalia A. Awad

Inside the Ten-Tec 506 Rebel Open Source QRP CW Transceiver. Bob Proctor, N6YPE and Brian Tompson, AC7FK

ARDUINO UNO REV3 SMD Code: A The board everybody gets started with, based on the ATmega328 (SMD).

w w w. b a s e t r a i n i n g i n s t i t u t e. c o

OBSTACLE AVOIDANCE ROBOT

ARDUINO MICRO WITHOUT HEADERS Code: A000093

SECOND EDITION. Arduino Cookbook. Michael Margolis O'REILLY- Tokyo. Farnham Koln Sebastopol. Cambridge. Beijing

TANGIBLE MEDIA & PHYSICAL COMPUTING INTRODUCTION TO ARDUINO

Microcontroller Basics

An Arduino Controlled 1 Hz to 60 MHz Signal Generator

Bolt 18F2550 System Hardware Manual

09/05/2014. Engaging electronics for the new D&T curriculum. Geoff Hampson Managing Director of Kitronik. Presentation overview

How to Use an Arduino

IME-100 ECE. Lab 3. Electrical and Computer Engineering Department Kettering University. G. Tewolde, IME100-ECE,

Lab 2 - Powering the Fubarino, Intro to Serial, Functions and Variables

Overview The Microcontroller The Flex Board Expansion boards Multibus board Demo board How to: Compile demo Flash & Run Demos

A Low-Cost Energy Management System That Compares Power Consumption of Electronic Home Appliances

Sanguino TSB. Introduction: Features:

Arduino Dock 2. The Hardware

ARDUINO INDUSTRIAL 1 01 Code: A000126

COL862 - Low Power Computing

Digital Circuits Part 2 - Communication

Distributed Real- Time Control Systems

Distributed Real-Time Control Systems. Module 3 Hardware for Real Time Distributed Control Systems

CHIPS Newsletter Vol 5 - Yahoo! Mail. Official Newsletter of

IOT HARDWARE SUBSTRUCTURE

Adapted from a lab originally written by Simon Hastings and Bill Ashmanskas

TEVATRON TECHNOLOGIES PVT. LTD Embedded! Robotics! IoT! VLSI Design! Projects! Technical Consultancy! Education! STEM! Software!

An overview of mobile and embedded platforms

Basic Components of Digital Computer

3. The circuit is composed of 1 set of Relay circuit.

DEV-1 HamStack Development Board

Transcription:

Microcontrollers for Ham Radio MARTIN BUEHRING - KB4MG MAT T PESCH KK4NLK TOM PERRY KN4LSE

What is a Microcontroller? A micro-controller is a small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals The chip itself is the microcontroller, but the board provides the needed pieces to provide clocking and serial interface for programming. Programming can be machine level or compiled languages like C, Python,and even Java. The Maker Community has a lot of tutorials, projects, and sample code you can use to build upon.

How is it different from a Microprocessor? Raspberry Pi High-end Server Board Terms are often used interchangeably, but the microprocessor is generally a more capable processor chip with 32 or 64 bit word sizes and designed to run an Operating System More complex to program but can handle the complex applications that sometimes we want to build. Require knowledge of LINUX derivative operating systems, C, Java, and high level programming, and interfaces with more complex protocols Can be used in place of a regular Windows machine for simple applications like FLDIGI, etc.

Why are these useful for projects? Price Very inexpensive for the function it provides Huge volumes of the chips are made for many products both consumer and industrial, like IoT. (billions of parts) Functionality Incredible capability that includes analog and digital interfaces Support for standards like SPI, I2C, Ethernet, and some have 802.X wireless Ecosystem Lots of free tutorials, YouTube video, libraries for complex tasks, and lots of examples User blogs, project sharing, and multivendor support. Boards and kits ready to with all the parts you need Experimenters kits run $40 to $100

How do you ever get started? Focus on the easiest platform with the most instructional material and support Without any doubt, that is Ardunio. What is Arduino? References: Wiring.org.co Processing.org Arduino is an open-source prototyping platform based on easy-to-use hardware and software. Arduino boards are able to read inputs - light on a sensor, a finger on a button, or a Twitter message - and turn it into an output - activating a motor, turning on an LED, publishing something online. You can tell your board what to do by sending a set of instructions to the microcontroller on the board. To do so you use the Arduino programming language (based on Wiring), and the Arduino Software (IDE), based on Processing.

What s on these boards Microcontroller Atmel (Now Microchip) ATMega328 or similar USB Interface Crystal ( clock oscillator, 16 MHz) 5v power regulator Reset button DC power jack Connector for both Digital I/O and analog inputs. A/D converter There are no true analog outputs. No D/A converter.

Looking even deeper into the Arduino The processor chip itself is quite complex, and a testament to incredible semiconductor industry. The datasheet is 452 pages long! Basic capabilities: Advanced RISC processor core up to 20 MIPS EEPROM, FLASH,RAM Memory Timers, RealTime counter 6 PWM outputs 6 channel of ADC UART, with SPI (4w) and I2C (2w) capabilities Watchdog timer Six sleep modes Interrupt and wake-up on pin change All that for about $1.89 in single units. About $1.10 in qty

Sources for boards Original source is Arduino.cc/usa $22.00 Open sourced so many other great places: Adafruit.com Sparkfun.com Sainsmart.com SlicMicro.com SeeedStudio.com Lots! Of Chinese knockoffs for cheap Be careful. Not all of these are compatible HamRadioWorkbench.com (mid year)

Accessorizing with Shields Arduinos can have Shields (think daughter boards) Bluetooth or other wireless like XBee Motor control Relay controls Sound and audio Displays GPS and even GSM cellular Power module w/ battery Invent your own shield with proto boards

How do we program it? Programing uses an IDE or Integrated Development Environment Programs are entered into the IDE using a form of C programming. A Compiler takes the programming code, checks it for syntax errors and creates on upload file The upload file is a binary file ( 1 s and 0 s) that is uploaded to the Arduino board via a serial USB port. The program will immediately start to run.

Disclaimer This presentation is not meant to be an Arduino Tutorial, but really just an introduction to one possible platform for building projects. I will show a demo of Arduino because it is easiest to understand. The club members have a lot of expertise with this platform.

Other Possible Platforms $2-$14 We use different platforms for different reasons. Consider what things you need to do and then decide Simple control applications = Arduino or PIC Larger software requirements and memory = RaspberryPi

More platforms BeagleBone Intel Edison and Galileo Many of the other platforms require deeper knowledge of embedded systems and software development environments. These are LINUX OS based and typically cost a bit more. ($50)

Ham Radio Projects There are 100 s if not 1000 s of projects QST magazine About 6-8 projects per year use a Microcontroller. August 2018 Antenna analyzer project October 2018 Station Switching Unit Nov 2018 issue Dummy Load and Watt Meter You get the picture. Books with lots of projects Arduino Projects by Glen Popiel KW5GP I have the book here if you want to look at it.

Questions

Arduino Live Demo MARTY BUEHRING KB4MG

Ada Fruit Metro Mini Digital I/O 2 3 4 5 Analog LED 330Ω 330Ω 330Ω 330Ω Simple design using 4 digital pins Digital pins are programmed to be an OUTPUT Pin Each LED has it s own current limiting resistor. I = E/R 5V/330 Ω = 0.02A or 20 ma We have individual control to each LED through software. Speaker can also add sound using a PWM output signal A5 220uF SPEAKER We can create the behavior we want with some simple instructions 5V source Comes from the USB USB

Ada Fruit Metro Mini Arduino Pin Assignments Digital I/O pins Serial I/O pins LED s Reset button Analog inputs

Controlling the pins 1. Tell the software what pins are being used and what purpose 2. Tell the software if they are inputs or outputs ( both are possible, default is INPUT) 3. Decide what behavior we want on these pins 4. Write the code and check it for errors 5. Upload the compiled code to the Metro Mini and test our results.

Program structure Two main parts to an Arduino program setup() and loop() void setup() Setup is run once and only once at startup. void loop() Loop is what is sounds like. It will loop forever through your code. Note: The word void here is part of the C language and means that there is no value returned to anything calling this function. It is required here, but not really meaningful. The parentheses () are similar in that they are for passing in information to a function. For our purposes they are also not used, but required.

A bit more detail We tell the pins what they are with a command called pinmode pinmode(pin,mode); // pin is the digital pin number, mode is direction INPUT or OUTPUT Example: pinmode(2,output); Since these need only be run once, they are always put in the setup() function. Example void setup() { pinmode(2,output); pinmode(3,output); } The open and close braces tell the software the boundary of the function or other instructions

Control the pin We use special commands to control the pin. digitalwrite(pin, value) to write values to a OUTPUT pin digitalread(pin) to read a value from an INPUT pin Example void loop() { digitalwrite(2,high); // sets the output pin high (1) logic 1 is 5 Volts digitalwrite(2,low); //set the output pin low (0) logic 0 is 0 Volts }

Live Demo Lab time after lunch will allow interested people to EXPERIMENT a bit wit the platform and know how to set up their own Objectives: 1. First make the RED LED blink on and off at a 1 second rate. 2. Next add an additional color to the blinking. 3. Blink 1 LED at a time at a constant rate. 4. Blink 1 LED at a time in a constantly increasing rate 5. For special effects we can add sound as well using a speaker and tone output.