Arduino Introduzione alla piattaforma e alle applicazioni per il radioamatore



Documenti analoghi
Arduino & i Radioamatori. Introduzione ad Arduino per Radioamatori

Arduino: domotica open source

IZ1MHN e IW1ALX. Agenda. Introduzione ad Arduino Arduino l hardware Arduino il software Alcune idee realizzabili con Arduino E se facessimo un corso?

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Raspberry Pi: Hardware Programming. Rossi Pietro Alberto

9^ parte : Come pilotare motori dc utilizzando il motor shield. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Sezione di PWM e Generatore di D/A Converter.

ARDUINO. Ing. Francesco Giurlanda

Microcontrollori. Elettronica dei Sistemi Programmabili A.A

Corso di programmazione Arduino DI MALVEZZI DAVIDE

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Arduino UNO. Single board microcontroller

Indice generale. Introduzione...xiii. Breve storia di Raspberry Pi...1. Fuori dalla scatola...5

SISTEMI E DISPOSITIVI EMBEDDED

ARDUINO ARDUINODUE. la piattaforma OPEN SOURCE alla portata di tutti. New. New. futurashop.it. S i s t e m i d i s v i l u ppo, software e didattica

CORSO SERALE ( TDP ) DEMOBOARD FN1Z PER PIC 16F877/16F877A

Acme Systems srl Profilo Aziendale

Progetto di una radio software GPS su periferica USRP. 2 Ottobre 2007

Summer of LabVIEW The Sunny Side of System Design

Come valutare e scegliere un Sistema Operativo Embedded

Arduino. Laboratorio Arduino Base. HackLab Terni. Laboratorio aperto a tutti di elettronica, scienza e arte. hacklabterni.

Open Hardware: Arduino Linux day 2012

Elettronica dei Sistemi Programmabili

CORSO ARDUINO. Giulio Fieramosca Stefano Panichi. Corsi GOLEM 2014

Arduino: Programmazione

Progetto Esami Di Stato Anno 2014/2015

IK3VIG Giuseppe Campana

Esercitazione Monitoraggio temperatura via WEB mediante Arduino YUN

Laboratorio di Elettronica. Arduino Lezione 1 Descrizione della board e installazione

COORDINAMENTO PER MATERIE SETTEMBRE 2014 MATERIA DI NUOVA INTRODUZIONE PER EFFETTO DELLA RIFORMA

SDT. 12ma Convention Digital & Radio Communications. Occhio alla T. Castelfeder 3-4 Ottobre Un eccitatore SSB completamente digitale

Caratteristiche HW. Clock Speed 16 MHz

La piattaforma hardware e software Arduino: parte I. Corso di autoapprendimento

Introduzione ai microcontrollori PIC

Corso Base Arduino ed Elettronica

Progetto di una radio software GPS su periferica USRP. 2 Ottobre 2007

Arduino. Una filosofia intorno ad un μ-controlore

ARDUINO Workshop intensivo di Arduino NABA

Progetti reali con ARDUINO

Software Open Source per sistemi embedded

EOLO crp: la nuova frontiera dei datalogger imbarcabili

DBMS e Linguaggi di programmazione nell'era di Internet

Elaborazione Numerica dei Segnali per Telecomunicazioni. Software Defined Radio e Campionamento Passa-Banda

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Corso App modulo Android. Antonio Gallo

APPENDICE I Pratiche di tecnologie informatiche per la elaborazione della musica e del suono

ACARSD, Localizziamo gli AEREI in volo con Yaesu FT-897

Inizializzazione, Assegnamento e Distruzione di Classi

Esercitazione Controllo di un motore DC mediante Arduino YUN

SOFTWARE DEFINED RADIO. A.R.I. Sezione di IVREA Serata tecnica del 20 Giugno 2008 Relatore: Augusto Michelini I1VOH

Arduino nella PMI CC BY-SA

Automobile Bluetooth

Recupero della frequenza di campionamento in Ricevitori DVB-T

Il sistema operativo TinyOS

Corso Eclipse. Prerequisiti. 1 Introduzione

Lo studio dell elettronica nel triennio del tecnologico con Arduino e Processing. Leonardo Barsantini - Maggio 2014

Architetture Applicative

Architetture Informatiche. Dal Mainframe al Personal Computer

Arduino: una storia italiana una storia globale

Approccio stratificato

Gestione di una UART SOFTWARE.

Introduzione...xiii Istruzioni per l uso...xiii File di supporto al libro... xiv

Corso di Sistemi di Elaborazione A.A. 2008/2009

Ma andiamo un pò più in profondità... ci sono altre opzioni che forniscono più flessibilità :)

1. Arduino va di moda.

Arduino L'elettronica Open Source!

Chi sono i padri di Arduino

Schede di gestione di ingressi e uscite digitali e/o analogiche mediante interfaccia USB, Ethernet, WiFi, CAN o RS232

Arduino. SITO DI RIFERIMENTO:

Laureando: Damiano Vittor. Relatore: Dott. Ing. Massimiliano Nolich

- Dotata di processore Freescale IMX28 (Arm 926 a 454 Mhz), Con RAM fino a 256Mbyte, Flash da 1Gbyte e usd.

Manuale IT_VNA by IZ1PMX

Architetture Informatiche. Dal Mainframe al Personal Computer

SDT SERIES MM, ARK-1 PAL + DVB. SDT ARK-1 Serie DVB-T2

Cos'è Arduino? rilasciata con licenza di tipo open source.

2 Gli elementi del sistema di Gestione dei Flussi di Utenza

Andrea Di Dato. e fu così che i maker misero le ali

Telecontrollo escavatore LEGO con board Arduino

LA STAZIONE DI TERRA DEL DIMOSTRATORE TECNOLOGICO SATELLITARE

Linux Embedded un pinguino piccolo così

Free Software & Open Hardware

di Tadej Arcon, S52X Modena Contest Meeting 16 ottobre 2010 ARI Sezione di Modena

Introduzione a Arduino

Risorse. Appendice B. In questo capitolo. Sketch di Arduino del Capitolo 6. Lista della spesa Siti utili

Architetture software. Virtualizzazione

Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Elementi di teoria dei segnali /b

Informatica. Teoria. L architettura dei PC Storia dell informatica Periferiche Reti - Software. Marco Brama

introduzione I MICROCONTROLLORI

Per gli audiofili più esigenti!

RETI DIGITALI E TECNOLOGIE ABILITANTI

Ambiente di sviluppo per applicazioni custom Atomic. Atomic - 22 marzo 2007 Pagina 1 di 20.

Marco Cesati Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata

BLUE DIMMER DAY Versione HM

SOLUZIONI PER IL CONTROLLO DELLA QUALITA DELL ARIA NEGLI AMBIENTI CHIUSI

CORSO ARDUINO. Jacopo Belli Giulio Fieramosca Luca Mattii GOLEM Jacopo Belli Giulio Fieramosca Luca Mattii

Prototipazione GNU/Linux-Arduino

Souliss Arduino and Android SmartHome at your fingertip

Linguaggio C Compilazione, linking e preprocessor

Lezione E5. Sistemi embedded e real-time

Transcript:

Arduino Introduzione alla piattaforma e alle applicazioni per il radioamatore 1

Open Source e Open Electronics Principio alla base della Ham Community: promoting the advancement of radio art and science Bruce Perens, K6BP ha creato la definizione di Open Source, è anche Debian Linux Project Leader, fondatore di UserLinux Just as there is a place for commercial ham products, there is also a place for commercial closed software. But just as there is a place for homebrewing, QRP, and construction articles, there is a place for open work WA5NU@Pacificon 2013 https://wa5znu.org/2013/10/pacificon-talk/ 2

Arduino Mini sistema a MCU generico pronto all'uso Piattaforma di prototipazione Open Source/Electronics Plug-and-play e user-friendly: comunicazione già pronta, nessuna necessità di saldare per fare le prime prove con il MCU Una community per la condivisione di idee e lo sviluppo rapido Un business model basato sull'open source/open electronics (free for anyone to use, modify, or sell). Migliaia di imprese sono nate e lavorano grazie a questo modello. Solo il nome Arduino è un marchio registrato, il resto è distribuito secondo la licenza Creative Commons attribution-share Alike 3

Open Electronics Arduino design e Community Imprese, terze parti Makers SlicMicro.com SainSmart TavIR Holoscopio TiisaiDipJp JT5 RoboCraft Evil Mad Scientist Laboratories RoboGroup Argentina Solarobotics NKC Electronics Simple Labs Metalab Bitwizard DFRobot SeeedStudio Freetronics Applied Platonics Yourduino Logos Electromechanical...... Prototipazione, hobby... 4

Arduino: più in dettaglio L'ambiente Arduino è sia una architettura open-electronics che una struttura di astrazione dall'hardware (hardware abstraction layer) La programmazione è C/C++ basato sul framework Wiring integrato nell'ambiente di sviluppo Arduino Permette un alto grado di astrazione dall'hardware con una programmazione ad alto livello. Lo stesso codice può supportare diversi microcontrollori e anche diverse schede basate sullo standard Arduino La programmazione a così alto livello rende poco efficiente la generazione del codice macchina. Gli strumenti di debugging ufficiali sono poco potenti e primitivi. E' comunque possibile (quando necessario) introdurre codice a più a basso livello (per es. accesso diretto ai registri) fino al codice assembly direttamente in-line E' possibile usare ambienti di sviluppo integrati specifici di terze parti o del costruttore del microcontrollore come Atmel Studio. Le versioni base di Arduino sono costose e non sufficientemente robuste per un impiego industriale essendo destinate allo scopo di prototipazione/sviluppo rapido 5

Storia Il nome Arduino: da Re Arduino d'ivrea, incoronato re d'italia nell'anno 1002. 2005. Ivrea, Interaction Design Institute Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, David Mellis Massimo Banzi: How Arduino is open-sourcing imagination FILMED JUN 2012 POSTED JUN 2012 TEDGlobal 2012 6

Da vari progetti Open Source: un ambiente interconnesso per i makers Processing (2001) Ideato da MIT Media Lab Linguaggio di programmazione per PC Simile al C opera su piattaforma Java Estremamente user-friendly, ricco di widget Utile per l'interfacciamento con Arduino Wiring (2003) Basato su Processing con target schede a MCU Sketching with hardware Fritzing Wiring Environment + linguaggio C++ e Wiring framework EDA ideato da Postdam University (ancora versione beta) Supporto alla progettazione dei collegamenti e del PCB Estremamente user-friendly Utile per documentazione e velocizzare l'apprendimento 7

Programmazione lato embedded http://arduino.cc/ Arduino IDE 8

Programmazione lato host PC Processing http://processing.org/ a tremendous platform for visualizing data 9

Schemi e layout http://fritzing.org/ Schematic capture PCB design 10

Versioni standard Arduino Arduino Due: Atmel-sourced ARM Cortex M3 @84 MHz. USB 2.0 host, 12 analog inputs 12-bit resolution, 2 analog outputs 12 bits, a CAN interface. 11

Arduino UNO 12

Arduino DUE 13

Altre Versioni surrogati, simili, compatibili e quasi compatibili Ruggeduino Olimexino Luigino Meaple Leaf Thinduino Hamstack Ardweeny Boarduino...... 14

Arduino minimale fatto in casa One Chip (Sized) Arduino Kimio Kosaka http://make.kosakalab.com/arduino/obaka/project-5/index_en.html USBaspLoader (2 kb) Non è necessario un chip FTDI! http://www.obdev.at/products/vusb/usbasploader.html 15

Processo di generazione del codice Controllo del codice e riadattamento Compilazione con avr-gcc Generazione dei file oggetto Linking Upload del codice hex con AVRDUDE 16

Esempi sketch #include <Arduino.h> void setup() { pinmode(13, OUTPUT); } void loop() { dah(); dit(); dah(); dit(); space(); dah(); dah(); dit(); dah(); space(); space(); } void dit() { digitalwrite(13,high); delay(100); digitalwrite(13, LOW); delay(100); } void dah() { digitalwrite(13,high); delay(100*3); digitalwrite(13, LOW); delay(100); } void space() { delay(100); } 17

Esempi sketch ryryry.ino: #include <RTTY.h> void setup() { RTTY.attach(9,3); } void loop() { RTTY.tx("CQ DX"); } afsk RTTY sul pin 9 (salvo armoniche!) RTTY.cpp RTTY.cpp: RTTY.h:... class RTTY5 { public: RTTY5(); void attach(int pina, int pinb); void tx (char * string); private: void rtty_txbyte (char c); void rtty_txbit (int bit); };...... void RTTY5::rtty_txbit (int bit) { if (bit) { // high tone(pa,2295,baud_rate*1000); } else { // low tone(pa,2125,baud_rate*1000); } delaymicroseconds(baud_rate); }... Tone.cpp 18

Librerie Arduino

Mappa dei pin su Arduino Portabile, leggibile ma lento! pinmode(9, OUTPUT);... digitalwrite(9, HIGH); PIN 9 PB1 DDRB = B00000010; PORTB = B00000010; 20

Shield http://www.shieldlist.org controllo motori DC, RC servo, stepper, WiFi, display LCD, Ethernet, CANBus, Bluetooth, XBee, gestione memorie, matrici a LED, relay, GPS, prototipazione rapida... Shield: daughter board impilabili su Arduino Modularità di terze parti o customizzati Myriad RF Open-source FP-RF Shield radio http://myriadrf.org 21

Applicazioni Accordatore Loop Magnetico http://www.ka7oei.com/ft817_meow.html http://code.google.com/p/ft-817-automatic-loop/ 22

Applicazioni Trasmettitore FSK per QRSS FSK QRSS Custom Shield 23

WWW... 10.140 MHz Shield per QRSS con FSK CW (F1A) Realizzata su ProtoShield (Sparkfun.com) Interfacciamento SPI con Direct Digital Sythesizer AD9834 Michael Seedman, AA6DY - Highland Park, IL http://aa6dy.com 24

Applicazioni Generazione di portanti audio con Sintesi Digitale Diretta tramite PWM Generazione di portanti audio a 2000-3000 Hz Possiamo evitare l'uso di un IC ad-hoc per la generazione Usiamo la periferica di Atmega328: compare/timer/counter per generare un PWM a duty cycle variabile in forma sinusoidale Per questo è più agevole by-passare il controllo dei timer di Arduino (non usare analogwrite) Impostando opportunamente i registri di configurazione della periferica è possibile avere un periodo del clock al timer pari a 1/16 MHz E' possibile controllare il decadimento del segnale CW evitando quindi i click Nanokeyer di N6SN, Bud Tribble http://hamradioprojects.com/authors/wa5znu/+nanokeyer/ http://en.wikipedia.org/wiki/bud_tribble 25

Applicazioni Processing audio: Audioduino Gli ADC della MCU di Arduino sono semplici e non sono progettati per l'audio Di default campiona a circa 9600 Hz. E' possibile far lavorare l'adc fino a 1 MHz ottenendo frequenze di campionamento di 77 khz. Incrementando la frequenza dell'adc la risoluzione viene compromessa. Nonostante questo è possibile campionare a 40 khz un solo canale con discreti risultati. E' possibile usare un componente esterno come Microchip MCP3002 Dual Channel 10-Bit A/D Converter con interfaccia SPI. Il datasheet dichiara che il componente può garantire una frequenza di campionamento di 200 khz. Possiamo togliere il PC dal sistema di ricezione? http://www.openmusiclabs.com/ Applicazioni: Demodulazione audio segnali in uscita da ricevitore SSB eventuale decodifica: RTTY... PSK31(?) Prestazioni difficilmente comparabili con una buona scheda audio, ma uso anche in assenza PC, sperimentazione! 26

"A radio in which some or all of the physical layer functions are software defined" RX SDR con Arduino? SDR Forum and IEEE Ovvero: possiamo togliere ANCHE il classico ricevitore SSB dal sistema di ricezione? RF IF Direct sampling High Performance Software Defined Radio openhpdsr.org, tapr.org Digital Baseband Esempi: FLEXRadio SDRs, USRP, HPSDR, AMRAD Charleston SDR, DSP-IP baseband Direct Conversion Quadrature Sampling (DCQS) Esempi: SoftRock Lite, EZCAP DVB- T/FM/DAB... Fonte: F. Doremberg N4SPP www.nonstopsystems.com/radio/frank_radio_sdr.htm 27

RX SDR con Arduino? Arduino UNO ADC troppo lento anche per processare i segnali I e Q Con tecniche avanzate è possibile usarlo per audio processing (con poche pretese) Laboratory for Experimental Computer Science at the Academy of Media Arts Cologne: http://interface.khm.de/ Arduino DUE (SAM3X8E) o Olimexino (STM32F103) Full audio 20 khz real time processing capable! 28

Decodificati La rappresentazione I,Q rappresenta completamente l'informazione trasportata dal segnale RF ma in banda base. In teoria è possibile implementare qualsiasi demodulatore! 29

Applicazioni: tracker con APRS DJ7OO-11>APRS,WIDE2-1:/ 113801h 4957.60N/ 00811.98E O000/000/ A=000895/Ti=58/Te=107/V=8439 Klaus JN49CX via Trackuino Reg. livello afsk http://www.kh-gps.de/trackuino.htm 30

Applicazioni: logger con APRS Stazione alla Dropping Zone Ricostruzione traiettorie: Log Keyhole Markup Language (KML) Google Earth Plot Fonti: Michael D. Pechner, NE6RD, Mark Meltzer, AF6IM http://parachutemobile.org 31

Libri Consigliati Simone Majocchi, Primi passi con Arduino Elettronica In Michael Margolis, Arduino Cookbook O'Reilly Leigh L. Klotz Jr., WA5ZNU, Ham Radio for Arduino and PICAXE - ARRL E. Vicario, Fondamenti di Programmazione. http://forum.arduino.cc http://learn.adafruit.com/ 32

Arduino Introduzione alla piattaforma e alle applicazioni per il radioamatore 73 33