BASIC Arduino. Part I

Similar documents
Arduino C++ Introduction to programming Antony Watts M0IFA

KNJN I2C bus development boards

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

1.6inch SPI Module user manual

I2C Serial 2.6 LCD Module

// Press and hold TXsim button and select antenna with left or right button. // Press and hold left and right button to reset EEPROM

ARDUINO LEONARDO WITH HEADERS Code: A000057

W0EB/W2CTX ubitx I2C/Digital I/O Modification and Firmware Instructions

KNJN I2C bus development boards

Embedded Workshop 10/28/15 Rusty Cain

SH1030 Rev Introduction. Ultra low power DASH7 Arduino Shield Modem. Applications. Description. 868 MHz. Features

keyestudio Keyestudio MEGA 2560 R3 Board

Digital Design through. Arduino

ARDUINO LEONARDO ETH Code: A000022

3.The circuit board is composed of 4 sets which are 16x2 LCD Shield, 3 pieces of Switch, 2

ESPino - Specifications

Programmable Device Interface PDI-1 A Versatile Hardware Controller with USB interface

W0EB/W2CTX V4.02R I2C/Digital I/O Firmware instructions for the Micro BITX meter Transceiver

Designed & Developed By: Ms. Jasleen Kaur, PhD Scholar, CSE. Computer Science & Engineering Department

GRAVITECH GROUP

Procedure: Determine the polarity of the LED. Use the following image to help:

I2C TWI LCD2004 Module (Arduino/Gadgeteer Compatible) (SKU:DFR0154)

WM1030 Rev Introduction. Ultra low power DASH7 Modem. Applications. Description. 868 / 915 MHz. Features. WIZZILAB Technical datasheet 1/10

Workshop Arduino English starters workshop 2

University of Hull Department of Computer Science C4DI Interfacing with Arduinos

ARDUINO YÚN MINI Code: A000108

ROBOTLINKING THE POWER SUPPLY LEARNING KIT TUTORIAL

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

Getting to know the Arduino IDE

HT-1A Dual Band CW QRP Transceiver. User Manual

Objectives: Learn how to input and output analogue values Be able to see what the Arduino is thinking by sending numbers to the screen

ARDUINO PRIMO. Code: A000135

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

Click-A-Tune. User Manual

Getting Started with InnoSwitch TM 3-Pro Code Library using Arduino

USER MANUAL EXPERIENCE INCREDIBLE PERFORMANCE V2.3

ARDUINO YÚN Code: A000008

GSDR Basic set up using QRP2000. Modes using third party software will be covered in another tutorial. Remember you must download two files, the

USER MANUAL ARDUINO I/O EXPANSION SHIELD

Grove Digital Extender 0059-GRVDE-DSBT/SF

Sten-SLATE ESP Kit. Description and Programming

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

Beetle SKU:DFR0282. Contents. Introduction

Laboratory 1 Introduction to the Arduino boards

Lab-3: LCDs Serial Communication Analog Inputs Temperature Measurement System

RF4432 wireless transceiver module

SX1509 I/O Expander Breakout Hookup Guide

I2C/TWI LCD1602 Module (Gadgeteer Compatible) (SKU: DFR0063)

ARDUINO M0 PRO Code: A000111

Si4703 FM Radio Receiver Hookup Guide

Exen Mini. Setup Guide - V1. nerdonic.com

Arduino shield kit. 1) Low Pass Filter (LPF) kit (available for LF/MF/HF/VHF bands 2,200m to 6m)

Digital Pins and Constants

Serial:UART/I2C/SPI Text LCD Display Control Module. LCDSP_TG V1.60 user manual

JeeNode V2. A small *duino-ish MPU board with a wireless RF module. Jean-Claude Wippler jeelab.equi4.com March 2009

Schematic Diagram: R2,R3,R4,R7 are ¼ Watt; R5,R6 are 220 Ohm ½ Watt (or two 470 Ohm ¼ Watt in parallel)

ArduCAM-M-2MP ESP8266 Evaluation Kit User Guide. Rev 1.1, March 2017

RF4431 wireless transceiver module

Electronic Brick Starter Kit

Trinket RGB Shield Clock

Laboratory 5 Communication Interfaces

ECE 480 Team 5 Introduction to MAVRK module

Introducting Itsy Bitsy 32u4

More than Compatibility

This package should include the following files.

BV4212. I2C Front Panel with rotary input. Product specification. March of 8

Arduino For Amateur Radio

Note. The above image and many others are courtesy of - this is a wonderful resource for designing circuits.

3-60MHZ HF PIC18F2550 USB

ARDUINO MICRO WITHOUT HEADERS Code: A000093

Arduino ADK Rev.3 Board A000069

RTC Interface 89C51 DS M. Krishna Kumar MAM/M7/LU17/V1/ Vcc VCC 5 SDA P1.0 6 SCL P KHz 3 BAT 3.

Digispark DIY: the Smallest USB Arduino

Rayson Bluetooth Module

Technical Document. Model: F120 Name: F120 PCBA Service Manual No.: Version: V1.0. Check Sign. Standard Approved

AXE033 SERIAL/I2C LCD & CLOCK

Bus & Signal Processing

CORTESIA ELECTRONICCA

Arduino Uno R3 INTRODUCTION

ZigBee Compliant Platform 2.4G RF Low Power Transceiver Module for IEEE Standard. DATA SHEET Version B

XNUCLEO-F030R8, Improved STM32 NUCLEO Board

Create your own wireless motion sensor with

StenBOT Robot Kit. Stensat Group LLC, Copyright 2018

TA0013 ARDUINO RFID UNO STARTER KIT

Elektor Uno R4 Installation & Test

W0EB/W2CTX Firmware for the Micro BITX meter Transceiver for Release V2.00R

Arduino Smart Robot Car Kit User Guide

HZX N03 Bluetooth 4.0 Low Energy Module Datasheet

MAS9278 IC for MHz VCXO

Digital Circuits Part 2 - Communication

WiFi Shield. User Guide

Dual Interface LCD Display Controller

Arduino Prof. Dr. Magdy M. Abdelhameed

Summary. Introduction

TN-192. Bar Graph shows analog trends on a dot-matrix character LCD module. Introduction. LCD Module Basics. Custom Characters

BT 31 Data Sheet. Amp ed RF Technology Inc.

Name: Serial MP3 Player A manual

Lecture 25 March 23, 2012 Introduction to Serial Communications

Product Specification

Communication Shield user manual

Transcription:

BASIC Arduino Part I

Objectives Introduction to Arduino Build a 1-60MHz DDS VFO prototype, breadboard and write Sketches, with Buffer amps to be designed, and PCB Using your own laptop Go on to build other useful stuff - RF Meter, Digital mode transmitters, QRP Transceiver, SWR Meter. Revise your knowledge Or start at the beginning Hands-on Amateur Radio

Components Arduino UNO single board micro-computer Breadboard, wires LED, 220R LCD, Rotary Encoder Si5351 module Connecting wires (male to male)

Arduino UNO

Setup your PC Club Wifi: BARS_AP Password: 1234567890 Download and install Arduino IDE from arduino.cc > Downloads If you have already installed, update to 1.8.1

Copy the USB Stick Quit/Exit Arduino IDE Pass it round Make a folder and copy the contents of the stick to Documents/Arduino Contains libraries and a various sketches

Set-up IDE Create a folder/ directory: Documents/ Arduino Start Arduino IDE Go to Preferences, select Arduino Sketchbook location Re-start Arduino IDE

Plug in your UNO Connect your UNO to your PC by the USB Cable Start Arduino IDE > Tools Chose Board, Port (COMx)

Coding

C++ A problem can always be divided into bits, called functions. Some already exists in libraries C++ language is based on libraries and functions We have lots already written for us Arduino IDE has a set of functions in its own libraries User libraries of functions have examples of how to use them

Library example Use library: #include LiquidCrystal_I2C.h Create an LCD object for your display, which has an I2C address of 0x3F, 16 columns and 2 rows LiquidCrystal_I2C lcd(0x3f, 16, 2); Use the object lcd.init(); lcd.print( Hello World );

Look at some real code // include libraries for LCD #include "LiquidCrystal_I2C.h" // LCD I2C address, cols, rows #define LCDADDR 0x27 //#define LCDADDR 0x3F #define LCDCOLS 16 #define LCDROWS 2 Use library Create lcd object // create an LCD object "lcd" LiquidCrystal_I2C lcd(lcdaddr, LCDCOLS, LCDROWS); // setup runs once on upload void setup() { // initialise the LCD & switch the backlight on lcd.begin(); Use lcd functions // move the cursor to col, row and output text lcd.setcursor(3, 0); lcd.print(" BASIC ); pinmode(10, OUTPUT); digitalwrite(10, HIGH); Use Arduino functions

Take a look at the Arduino Library arduino.cc > Learning > Reference

Part II Let s continue our activities LiquidCrystal_I2C corruption problem has been solved

New USB Stick 1st: Delete all stuff in Documents/Arduino/ 2nd: Copy new USB stick to Documents/Arduino/ Result? Documents/Arduino/

Test sketch Plug in your Arduino UNO using the USB cable Open File > Sketchbook > My_Blink // My_Blink // flashes a LED on pin 13 // pin number #define LED 13 // the setup routine runs once void setup() { // initialise the digital pin 13 as an output pinmode(led, OUTPUT); } // the loop runs over and over again, forever void loop() { digitalwrite(led, HIGH); // turn the LED on (HIGH voltage level) delay(1000); // wait for 1 second (1000ms) digitalwrite(led, LOW); // turn the LED off (LOW voltage level) delay(1000); // wait for 1 second } Upload

Your hardware and it s interface LCD, Rotary Encoder Synthesiser

Two kinds of Synthesiser There are two kinds Digital output, Si5351 Good for mixers, SDR We will start with this one Analog output, AD9850 Needed for pure output Analog output generates a sine wave using a D/A convertor

Si5351 Synthesiser Si5351 has 3 outputs each programmable The outputs are 3.3V, can drive 8mA = 4dBm into 50R It has an I2C bus input SDA & SCL (address 0x60) Frequency 10kHz to > 200MHz 0.01Hz min tuning steps Arduino library

AD9850 Synthesiser AD9850 has sine wave and digital outputs 5V operation Dedicated serial bus (not I2C) > 30MHz output, LPF 0.0291Hz min thing steps Arduino library

LCD The display is 16 characters by 2 lines It has an address on the I2C bus (0x3F or 0x27) I2C Bus It has a data line (SDA) and a clock line (SCL) Data is sent serially GND - ground VCC - +5V SDA - Data SCL - Clock

Rotary Encoder The Rotary Encoder has a two outputs From the phase of the outputs you know the direction Outputs A & B go to digital input pins 2 & 3 A (CLK) B (DT) SW +5V GND The shaft is a push button switch, connected to pin 4

Serial I2C bus Arduino talks to some hardware on a serial bus A4 A5 Arduino is a Master Devices are Slaves Every slave has an address (0x60, 0x3F )

The I2C bus

Arduino Pinout A plan for pin usage Interfaces for SIG/FWD, REV RETURN LOSS RFMETER I2C RX/TX SEQ AD9850 BUS BAND SELN PTT ENCODER

Using your LCD

Build a display Connect up SCL = A5 SDA = A4 VCC = 5V GND = GND Open My_LCD_Test-Basic Upload Press Reset to run again

Using your Si5351

Build a VFO Connect up SCL = A5 SDA = A4 VCC = 5V GND = GND Open My_VFO_KB-Basic Use a four wire cable We will set the VFO frequency from your PC keyboard

Upload 1 Open Monitor My_VFO_KB-Basic 3 Enter Frequency in Hz Check output on a Radio 2 Set Newline Set 9600

Build a 1-60MHz VFO Can extend to 10kHz to 200MHz (maybe higher)

VFO 1-60MHz Wire encoder: CLK = D3 DT = D2 SW = D4 GND - GND + - 3.3V Use a five wire cable (+ can go to 5V or 3.3V) Wire LCD: GND - GND VCC - +5V SDA - A4 SCL - A5 Open My_VFO_Basic Upload Use a four wire cable I2C Bus

Have fun. Try transmitting My_HELL_S/MT_5x7 and My_WSPR Remember Si5351 - Mixers, SDRs, digital apps AD9850 - Antenna analysers, low harmonic apps