Una introduzione al Raspberry Pi
Presentazioni
Cosa è Raspberry Pi
Storia
Caratteristiche
Specifiche CPU
Alimentazione & consumi
Arduino != Raspberry
Differenze
Applicazioni
Connettori
Video
Audio
GPIO
SD card
Ethernet
USB
GPIO
Configurazione dei pin
Porte native (I2C, SPI, UART)
wiringPi
Esempio
Getting started
Raspian OS
Installazione
Programmare il Raspberry
C (esempio)
Ma anche C++/PHP/Java
Scratch (esempio)
Bare metal programming
Casi d'uso (miei)
Solar panel power production meter
Chiosco eliminacode
Casi d'uso (trovati in rete)
Domotica
Mediacenter
Arcade machine • Link
Saluti
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Gabriele Guizzardi
Slide delle 8h di workshop su Raspberry Pi presso Warehouse Coworking Pesaro, 13/12/2014
Slides of 8h workshop about Raspberry Pi at Warehouse Coworking Pesaro, 13/12/2014
Seminario tenutosi al Linux Day 2011 di Perugia.
E' un'introduzione iniziale al mondo della Physical Computing tramite Arduino. Il talk spiega i principi base di funzionamento del dispositivo ed è corredato da un prototipo finale per la domotica.
Sorgenti o spiegazioni migliori possono essere fatte su richiesta via e-mail.
Introduzione ad arduino e raspberry. Lezione svolta presso l'Università degli studi di Parma durante il corso di sistemi di automazione. Con questa lezione si vogliono introdurre le due piattaforme e darne i contenuti essenziali per iniziarle ad usare. Inoltre vengono mostrati alcuni progetti da me svolti con questi due device.
Raspberry pi per tutti (workshop presso Warehouse Coworking Pesaro)Gabriele Guizzardi
Slide delle 8h di workshop su Raspberry Pi presso Warehouse Coworking Pesaro, 13/12/2014
Slides of 8h workshop about Raspberry Pi at Warehouse Coworking Pesaro, 13/12/2014
Seminario tenutosi al Linux Day 2011 di Perugia.
E' un'introduzione iniziale al mondo della Physical Computing tramite Arduino. Il talk spiega i principi base di funzionamento del dispositivo ed è corredato da un prototipo finale per la domotica.
Sorgenti o spiegazioni migliori possono essere fatte su richiesta via e-mail.
Introduzione ad arduino e raspberry. Lezione svolta presso l'Università degli studi di Parma durante il corso di sistemi di automazione. Con questa lezione si vogliono introdurre le due piattaforme e darne i contenuti essenziali per iniziarle ad usare. Inoltre vengono mostrati alcuni progetti da me svolti con questi due device.
Un talk tenuto all'Università di Genova Disi/DIbris, il 3 Giugno 2014 per parlare di possibli interfacciamenti tra un arduino UNO/YUN e uno smartphone.
Corso di 20 ore sulla piattaforma Arduino. Corso tenuto nelle scuole superiori di San Secondo e Fornovo come corso di aggiornamento per il personale docente. Il corso si suddivide in 5 lezioni dove vengono spiegate più o meno tutte le funzionalità della piattaforma. I file li potete trovare al seguente indirizzo https://github.com/loweherz/ArduinoLessons
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...Sardegna Ricerche
L'intervento di Paolo Paolucci durante l'Arduino Day, che si è tenuto il 29 marzo 2014 presso il FabLab Sardegna Ricerche, nella sede di Pula del Parco scientifico e tecnologico della Sardegna.
Corso di 20 ore sulla piattaforma Arduino. Corso tenuto nelle scuole superiori di San Secondo e Fornovo come corso di aggiornamento per il personale docente. Il corso si suddivide in 5 lezioni dove vengono spiegate più o meno tutte le funzionalità della piattaforma. I file li potete trovare al seguente indirizzo https://github.com/loweherz/ArduinoLessons
Arduino, workshop di due giorni: materiale didattico.
ARGOMENTI:
- basi della programmazione di Arduino
- fondamenti di elettronica
- interagire con sistemi di input
- interagire con sistemi di output
- comunicazione seriale con processing
** E' possibile scaricare tutto il codice degli esercizi: https://github.com/hold3n/Arduino-Basic-Workshop
CC 2014 Daniele Iori e Ivan De Cesaris per Officine Giardino. Quest'opera è distribuita con Licenza Creative Commons Attribuzione - Condividi allo stesso modo 4.0 Internazionale.
- Introduzione
Cosa è arduino?
Cosa non è arduino?
Cosa si può fare?
- Descrizione di Arduino
Breve introduzione storica e curiosità
Hardware generico di Arduino
I vari modelli di Arduino
Hardware di Arduino UNO
Hardware di Arduino Micro
- Segnali
Segnali digitali
Segnali analogici
Sensori ed attuatori
- Software
Il linguaggio di programmazione
Breve descrizione e curiosità
Le funzioni setup() e loop()
L'IDE
Setup e funzioni principali
Codice di esempio incluso nell'IDE
- Hello world: blink sketch (Esempio di output digitale)
L'obiettivo
I LED
Richiami di elettronica
Legge di Ohm
Le resistenze
La breadboard
La basetta millefori
Coding step by step
Test
Modifica di parametri e i relativi effetti
- Button sketch (Esempio di input digitale)
L'obiettivo
Il pulsante
Resistenza di pull-up
Coding
Test
- Comunicazione seriale
- Twilight switch sketch (Esempio di input analogico)
L'obiettivo
La fotoresistenza
Coding
Test
- Variable light sketch (Esempio di output analogico)
L'obiettivo
PWM (Pulse width modulation)
Coding
Test
- Cos'altro posso fare?
Gli shield
Buzzer
LED Infrarossi
Orologio RTC
Display
Moduli a caratteri
Moduli grafici
Motori
Semplici
Passo passo
RFID
Sensori ambientali
Temperatura e umidità
Rilevatore di movimento
Sonar
Wifi
Internet of things
Relay elettromagnetici
- Esempi di progetti curiosi trovati su internet
- Siti di riferimento
Primi passi Arduino.
Guida introduttiva al Mondo Arduino, con spiegazione Hardware e Software.
Come collegarsi, utilizzo del software (IDE), utilizzo delle istruzioni base.
Il Linux Day è una giornata nazionale di promozione di GNU/Linux e del software libero.
Il tema nazionale dell'edizione 2012 era: "Il Software Libero nella Piccola e Media Impresa".
Ho voluto dare il mio contributo mostrando come anche l’openhardware possa entrare nella PMI.
Qui il mio talk, tenuto a Castelfranco Veneto come socio MonetelLUG e TV-AUG.
Parliamo dell'Internet delle cose e dei Maker, concetti inziali per capire questo nuovo mondo e come la tecnologia può essere applicata ad ogni oggetto.
Corso di 20 ore sulla piattaforma Arduino. Corso tenuto nelle scuole superiori di San Secondo e Fornovo come corso di aggiornamento per il personale docente. Il corso si suddivide in 5 lezioni dove vengono spiegate più o meno tutte le funzionalità della piattaforma. I file li potete trovare al seguente indirizzo https://github.com/loweherz/ArduinoLessons
Rendo disponibile la presentazione del Workshop su Arduino svolto in occasione del ModelExpo 2015. Le slide sono da intendere come introduzione per quanti desiderano incominciare. Le slide contengono argomenti che ritroverete in altre mie presentazioni e contenuti del mio sito personale, ma anche nuovi suggerimenti. Come conseguenza delle sempre numerose domande che mi vengono poste riguardo al modo di imparare ad usare Arduino ho voluto inserire una bozza di linea guida metodologica per incominciare con Arduino. Il percorso si suddivide in due: per chi ha la necessità di comprendere e risolvere un problema tecnico, ad esempio: realizzare un modellino di automobile radiocomandata o un drone e chi invece desidera andare in profondità e sapere ad esempio: quali libri, quali siti, quali software bisognerebbe leggere ed usare, perché per esempio si intende sviluppare un progetto che porterà ad un oggetto da vendere.
Troverete nelle slide menzionati libri “complicati” da ingegnere, ma anche risorse “semplici” alla portata di chi non ha mai programmato o sperimentato con l’elettronica.
Non spaventatevi imparare l’uso di Arduino è semplice :-) ma gli utenti hanno necessità diverse e quindi ritengo importante soddisfare il maggior numero di persone.
This document provides biographical information about the author and a history of electronics and computing. It discusses digital logic, circuit boards, microcontrollers, computers, and introduces the Arduino and Raspberry Pi open-source hardware platforms. Details are provided about the Arduino, including common boards, projects, and an introductory video. Specifications and supported operating systems are listed for the Raspberry Pi along with example introductory and demo videos.
Un talk tenuto all'Università di Genova Disi/DIbris, il 3 Giugno 2014 per parlare di possibli interfacciamenti tra un arduino UNO/YUN e uno smartphone.
Corso di 20 ore sulla piattaforma Arduino. Corso tenuto nelle scuole superiori di San Secondo e Fornovo come corso di aggiornamento per il personale docente. Il corso si suddivide in 5 lezioni dove vengono spiegate più o meno tutte le funzionalità della piattaforma. I file li potete trovare al seguente indirizzo https://github.com/loweherz/ArduinoLessons
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...Sardegna Ricerche
L'intervento di Paolo Paolucci durante l'Arduino Day, che si è tenuto il 29 marzo 2014 presso il FabLab Sardegna Ricerche, nella sede di Pula del Parco scientifico e tecnologico della Sardegna.
Corso di 20 ore sulla piattaforma Arduino. Corso tenuto nelle scuole superiori di San Secondo e Fornovo come corso di aggiornamento per il personale docente. Il corso si suddivide in 5 lezioni dove vengono spiegate più o meno tutte le funzionalità della piattaforma. I file li potete trovare al seguente indirizzo https://github.com/loweherz/ArduinoLessons
Arduino, workshop di due giorni: materiale didattico.
ARGOMENTI:
- basi della programmazione di Arduino
- fondamenti di elettronica
- interagire con sistemi di input
- interagire con sistemi di output
- comunicazione seriale con processing
** E' possibile scaricare tutto il codice degli esercizi: https://github.com/hold3n/Arduino-Basic-Workshop
CC 2014 Daniele Iori e Ivan De Cesaris per Officine Giardino. Quest'opera è distribuita con Licenza Creative Commons Attribuzione - Condividi allo stesso modo 4.0 Internazionale.
- Introduzione
Cosa è arduino?
Cosa non è arduino?
Cosa si può fare?
- Descrizione di Arduino
Breve introduzione storica e curiosità
Hardware generico di Arduino
I vari modelli di Arduino
Hardware di Arduino UNO
Hardware di Arduino Micro
- Segnali
Segnali digitali
Segnali analogici
Sensori ed attuatori
- Software
Il linguaggio di programmazione
Breve descrizione e curiosità
Le funzioni setup() e loop()
L'IDE
Setup e funzioni principali
Codice di esempio incluso nell'IDE
- Hello world: blink sketch (Esempio di output digitale)
L'obiettivo
I LED
Richiami di elettronica
Legge di Ohm
Le resistenze
La breadboard
La basetta millefori
Coding step by step
Test
Modifica di parametri e i relativi effetti
- Button sketch (Esempio di input digitale)
L'obiettivo
Il pulsante
Resistenza di pull-up
Coding
Test
- Comunicazione seriale
- Twilight switch sketch (Esempio di input analogico)
L'obiettivo
La fotoresistenza
Coding
Test
- Variable light sketch (Esempio di output analogico)
L'obiettivo
PWM (Pulse width modulation)
Coding
Test
- Cos'altro posso fare?
Gli shield
Buzzer
LED Infrarossi
Orologio RTC
Display
Moduli a caratteri
Moduli grafici
Motori
Semplici
Passo passo
RFID
Sensori ambientali
Temperatura e umidità
Rilevatore di movimento
Sonar
Wifi
Internet of things
Relay elettromagnetici
- Esempi di progetti curiosi trovati su internet
- Siti di riferimento
Primi passi Arduino.
Guida introduttiva al Mondo Arduino, con spiegazione Hardware e Software.
Come collegarsi, utilizzo del software (IDE), utilizzo delle istruzioni base.
Il Linux Day è una giornata nazionale di promozione di GNU/Linux e del software libero.
Il tema nazionale dell'edizione 2012 era: "Il Software Libero nella Piccola e Media Impresa".
Ho voluto dare il mio contributo mostrando come anche l’openhardware possa entrare nella PMI.
Qui il mio talk, tenuto a Castelfranco Veneto come socio MonetelLUG e TV-AUG.
Parliamo dell'Internet delle cose e dei Maker, concetti inziali per capire questo nuovo mondo e come la tecnologia può essere applicata ad ogni oggetto.
Corso di 20 ore sulla piattaforma Arduino. Corso tenuto nelle scuole superiori di San Secondo e Fornovo come corso di aggiornamento per il personale docente. Il corso si suddivide in 5 lezioni dove vengono spiegate più o meno tutte le funzionalità della piattaforma. I file li potete trovare al seguente indirizzo https://github.com/loweherz/ArduinoLessons
Rendo disponibile la presentazione del Workshop su Arduino svolto in occasione del ModelExpo 2015. Le slide sono da intendere come introduzione per quanti desiderano incominciare. Le slide contengono argomenti che ritroverete in altre mie presentazioni e contenuti del mio sito personale, ma anche nuovi suggerimenti. Come conseguenza delle sempre numerose domande che mi vengono poste riguardo al modo di imparare ad usare Arduino ho voluto inserire una bozza di linea guida metodologica per incominciare con Arduino. Il percorso si suddivide in due: per chi ha la necessità di comprendere e risolvere un problema tecnico, ad esempio: realizzare un modellino di automobile radiocomandata o un drone e chi invece desidera andare in profondità e sapere ad esempio: quali libri, quali siti, quali software bisognerebbe leggere ed usare, perché per esempio si intende sviluppare un progetto che porterà ad un oggetto da vendere.
Troverete nelle slide menzionati libri “complicati” da ingegnere, ma anche risorse “semplici” alla portata di chi non ha mai programmato o sperimentato con l’elettronica.
Non spaventatevi imparare l’uso di Arduino è semplice :-) ma gli utenti hanno necessità diverse e quindi ritengo importante soddisfare il maggior numero di persone.
This document provides biographical information about the author and a history of electronics and computing. It discusses digital logic, circuit boards, microcontrollers, computers, and introduces the Arduino and Raspberry Pi open-source hardware platforms. Details are provided about the Arduino, including common boards, projects, and an introductory video. Specifications and supported operating systems are listed for the Raspberry Pi along with example introductory and demo videos.
This presentation is actually an orientation about the "computer science" branch.This presentation includes 2 videos.....
(i)Evolutions
(ii)Influential persons in history of computer
1) The document argues that while early pioneers viewed computer science as a science, it is more accurately an art or technology rather than a true science.
2) Computer science combines principles of science, engineering, and mathematics but focuses more on practical applications and invention rather than fundamental explanations.
3) The field studies both artificial and natural information processes through programming, design, and other computing arts rather than experimentation and testing of hypotheses as is typical in science.
Este documento presenta una introducción a la inteligencia artificial. Explica conceptos básicos como algoritmos, estructuras de datos y complejidad computacional que son prerequisitos para estudiar AI. También recomienda el libro "Artificial Intelligence: A Modern Approach" de Russell y Norvik como una referencia clave. Finalmente, describe algunas aplicaciones comunes de la inteligencia artificial como reconocimiento de voz y lenguaje natural.
Artificial intelligence is already all around you, from web search to video games. AI methods plan your driving directions, filter your spam, and focus your cameras on faces.
Two Grade 9 girls were given Arduino kits to play around with for 4 weeks (9 lessons). The girls were told to explore, create, inquire, think critically and develop a simple introductory guide for other students. This is one girl's guide.
Una breve panoramica di microcontrollori (Arduino) e microcomputers (Raspberry Pi) nel mondo dell'hamradio. Come usare questa tecnologia per i Radioamatori.
This document provides an overview of key concepts in artificial intelligence including definitions of AI, subfields and problems, types of agents, and related careers. It discusses definitions of AI that focus on thinking and acting like humans or thinking and acting rationally. It also outlines several subfields and problems in AI such as reasoning and problem solving, knowledge representation, planning, learning, natural language processing, robotics, computer vision, and speech recognition. The document concludes by listing different types of agents from reflex agents to goal-based and utility-based agents and providing examples of AI-related careers.
Intro to Arduino class taught by Quin from Qtechknow at the Deezmaker Hackerspace July 2014. Revised from previous slides to include helpful tools, more pictures, and many more projects for the students! Curriculum is for both kids and adults. Feel free to use, share, and remix as part of the Creative Commons Attribution-ShareAlike 4.0 International open source license.
The document summarizes the major research areas in computer science, dividing them into theoretical and applied branches. Theoretical areas include theory of computation, algorithms and data structures, programming language theory, and formal methods. Applied areas include artificial intelligence, computer architecture, computer graphics, computer security, and software engineering. The document traces the history of computer science as a field and provides examples to illustrate key concepts within each research area.
Introduzione a ubuntu - Linux Day 2010Nicola Corti
Intervento al Linux Day 2010@Pisa, organizzato da parte del GULP. L'intervento presenta il sistema ubuntu in tutte le sue parti mostrandone pregi e difetti.
CodingGym - Lezione 3 - Corso Linux, Android e Internet of ThingsMirko Mancin
Corso frontale di 20 ore indirizzato a docenti di scuole superiori nel settore ICT. Il corso vuole essere una palestra (per questo CodingGym) di rafforzamento delle basi già esistenti e di supporto per corsi futuri. Queste slide sono rilasciate con la licenza Creative Commons e quindi potete scaricarle ed utilizzarle a vostro piacere. Ricordate però di CITARMI! :D
Seconda lezione del corso: Alfabeto di Arduino.
Il seguente corso intende fornire le competenze di base per la realizzazione di lezioni di didattica delle robotica nella scuola secondaria di secondo grado.
Il corso ben si adatta a tutti i maker, studenti ed adulti, che per passione nell’elettronica necessitano di un’introduzione all’uso di Arduino.
Il docente che intendesse sviluppare un percorso didattico in cui si desidera realizzare dispositivi elettronici in grado di interfacciarsi col mondo fisico, potrà utilizzare queste lezioni come base per implementare moduli didattici aggiuntivi, pertanto questo corso è da intendersi come il mio personale tentativo di strutturare un percorso iniziale e modellabile a seconda del tipo di indirizzo della scuola. Chi vorrà potrà effettuare miglioramenti su quanto da me scritto.
Il percorso scelto è un estratto delle lezioni svolte durante i miei corsi di elettronica, sistemi ed impianti elettrici.
Nelle slide vi sono cenni teorici di elettrotecnica che non sostituiscono in alcun modo il libro di testo, ma vogliono essere un primo passo per condurre il lettore ad un approfondimento su testi specializzati.
Il corso è basato sulla piattaforma Open Source e Open Hardware Arduino e fa uso dell’Arduino starter kit.
Questa scelta non implica l’adozione di queste slide in corsi che non fanno uso di questo kit, ma è semplicemente una scelta organizzativa per lo svolgimento di questo corso di formazione.
Alle proposte incluse nel kit ho aggiunto ulteriori sperimentazioni. Tutti i componenti possono essere acquistati separatamente.
Ulteriori approfondimenti e risorse a questo corso possono essere trovate sul mio sito personale al seguente link:
http://www.maffucci.it/area-studenti/arduino/
Nella sezione dedicata ad Arduino, sul mio sito personale, oltre ad ulteriori lezioni, di cui queste slide ne sono una sintesi, è possibile consultare un manuale di programmazione, in cui vengono dettagliate le istruzioni. Per rendere pratico l’utilizzo del manuale ne è stata realizzata anche una versione portable per dispositivi mobili iOS e Android, maggiori informazioni possono essere trovate seguendo il link: http://wp.me/p4kwmk-23g
Introduzione all’Iot e alle schede elettronicheEnrico La Sala
Una breve introduzione all'IOT e delle risorse che possono essere utili a cominciare con i primi progetti con schede elettroniche come Arduino, Raspberry, ecc.
CodingGym - Lezione 2 - Corso Linux, Android e Internet of ThingsMirko Mancin
Corso frontale di 20 ore indirizzato a docenti di scuole superiori nel settore ICT. Il corso vuole essere una palestra (per questo CodingGym) di rafforzamento delle basi già esistenti e di supporto per corsi futuri. Queste slide sono rilasciate con la licenza Creative Commons e quindi potete scaricarle ed utilizzarle a vostro piacere. Ricordate però di CITARMI! :D
ArduinoCamp2012 è un evento che si è svolto a Torino il 16 e 17 giugno 2012, presso Officine Arduino / FabLab, con lo scopo di coinvolgere diversi utenti della Comunità e semplici curiosi che hanno voglia di conoscere l’universo che ruota intorno ad Arduino: http://arduino.cc/playground/Italiano/ArduinoCampItalia2012
Questa è la mia presentazione Pecha-Kucha, che riguarda un progetto che ha lo scopo di tracciare gli stati di lavoro o pausa di macchine di produzione, in un contesto di Lean Production.
Raspberry Pi - Introduzione, caratteristiche, programmazione, casi d'uso
1. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Raspberry Pi
Una introduzione
Gianluca Ghettini
http://www.gianlucaghettini.net
email: gianluca.ghettini@gmail.com
Gianluca Ghettini
2. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Introduzione: Raspberry Pi
Cosa e il Raspberry Pi?
Gianluca Ghettini
3. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Introduzione: Raspberry Pi
SBC (Single Board Computer)
Gianluca Ghettini
4. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Introduzione: Raspberry Pi
CPU ARM11 700MHz
256 MB RAM (o 512)
VIDEO/AUDIO OUT
USB x2
GPIO
Ethernet card!
Gianluca Ghettini
5. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Introduzione: Raspberry Pi
Piccolo come una carta di credito
Gianluca Ghettini
6. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Introduzione: Raspberry Pi
Potente: equiparabile ad un PC desktop di inizio 2000
Gianluca Ghettini
7. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Introduzione: Raspberry Pi
Economico: praticamente costa 25-35 Euro
Gianluca Ghettini
8. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Introduzione: come fa a costare cosi' poco?
Niente case esterno
No alimentatore incluso
Nessun on/o switch
Nessun manuale cartaceo a corredo (c'e il sito)
scatola di cartone inclusa :-)
Gianluca Ghettini
9. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Introduzione: storia
Nasce nel 2012 come strumento didattico
Progetto open-source
Basato su GNU/Linux: gira Linux sopra!
Community
Gianluca Ghettini
10. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Introduzione: storia
Doveva essere solo un Python Interpreter
Basato sul CPU ARM11 700MHz
Successo enorme tra i Maker
Gianluca Ghettini
11. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Introduzione: storia
Curiosita: Autore del progetto e David Braben, programmatore di
Elite, uno dei primi giochi in gra
13. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Introduzione: lista della spesa
Alimentatore 5V 2000mA micro usb
Gianluca Ghettini
14. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Introduzione: lista della spesa
Tastiera mouse USB
Monitor HDMI o TV
Sistema operativo Linux (e free ovviamente!)
Gianluca Ghettini
15. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Introduzione: sistema completo
Gianluca Ghettini
16. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Introduzione: il grande assente
Manca qualcosa?
Gianluca Ghettini
17. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Introduzione: il grande assente
Ma il disco rigido dov'e?
Gianluca Ghettini
18. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Introduzione: il grande assente
Raspberry Pi ha sul retro uno slot SD card!
Gianluca Ghettini
19. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Introduzione: SD card
L'SD card e il disco rigido del Raspberry
Almeno 4GB
Una moltitudine di OS derivati GNU/Linux
Gianluca Ghettini
20. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Caratteristiche: CPU
CPU ARM11 32 bit
single core, 700MHz
La stessa che sta nell' iPhone EDGE e nell iPhone 3G
Gianluca Ghettini
21. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Caratteristiche: consumi
Consuma all'incirca 3W
Piu o meno 1 cent Euro al giorno :-)
Gianluca Ghettini
22. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Caratteristiche: scheda video GPU
Broadcom VideoCore GPU IV
Quake 3 Arena gira tranquillamente sul Raspberry :-)
Gianluca Ghettini
23. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Connettori: analog audio video out
Speci
24. che
RCA video out (PAL)
Audio stereo
Qualsiasi TV va bene!
Casi d'uso
Un bel Mediacenter?
Cartellonistica digitale?
Gianluca Ghettini
26. che
HD 1080p
Audio integrato
Casi d'uso
Console Retro gaming?
Postazione Desktop da
ucio?
Gianluca Ghettini
27. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Connettori: Ethernet RJ45
Speci
28. che
10/100 MBit/s
No gigabit! Glielo
perdoniamo via...
Casi d'uso
Web server casalingo?
Torrent download station?
Firewall casalingo?
Gianluca Ghettini
30. che
USB 2.0
500mA max? dipende...
Meglio alimentare a parte
Casi d'uso
Dongle Wi-Fi?
Lettore codici a barre?
Hard disk esterno?
Ci colleghiamo di tutto!
Gianluca Ghettini
32. che
Sono ben 17
SPI, I2C e UART incluse
Casi d'uso
Cosa ci comandiamo?
Tutto quello che risponde ad
un segnale elettrico!
Rele
Altri Microcontrollori
LED
Gianluca Ghettini
33. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Connettori: cos'e un GPIO?
Se impostato come OUTPUT
Un pin che puo essere messo a 0 o 5 Volt via software
Se impostato come INPUT
Un pin che sente la tensione applicata ai suoi capi e lo noti
35. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Connettori: cos'e un GPIO?
Gianluca Ghettini
36. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Connettori: cos'e un GPIO?
#include wiringPi.h
int main (void)
{
wiringPiSetup () ;
pinMode (0, OUTPUT) ;
for (;;)
{
digitalWrite (0, HIGH) ; delay (500) ;
digitalWrite (0, LOW) ; delay (500) ;
}
return 0 ;
}
Gianluca Ghettini
37. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Arduino != Raspberry
Raspberry non e Arduino!
Arduino e puro embedded
Raspberry e letteralmente un PC
in miniatura + GPIO
Gianluca Ghettini
38. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Arduino != Raspberry
Arduino
Low level
Micro ATMega328, 20MHz
Pieno controllo dell'hardware
Task semplici e ben de
39. niti
No memoria di massa
Raspberry
High level
Gira Linux sopra!
Multitasking
Hard disk!
Programmi complessi
Possiamo utilizzare Raspberry per fare quello che si puo fare con
Arduino ma e uno spreco!
Gianluca Ghettini
40. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Arduino != Raspberry
Bit-banging VS Gang-banging :-)
Arduino = Bit-Banging
Bit-Banging: quando manca un
protocollo e suciente
implementarselo a mano in
assembler (es. I2C su 2 GPIO
disponibili)
Gianluca Ghettini
41. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Arduino != Raspberry
Bit-banging VS Gang-banging :-)
Raspberry = Gang-Banging
Gang-Banging: quando manca
un protocollo e suciente
comprare e collegare l'adattatore
USB opportuno (es. USB to I2C
adapter)
Gianluca Ghettini
42. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
GPIO
5V
3.3V
SPI (x2)
I2C
UART
PWM
Gianluca Ghettini
43. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
GPIO: Libreria Wiring Pi
Libreria Wiring Pi (http://wiringpi.org)
Gianluca Ghettini
44. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
GPIO: Don't cross the streams!!!
Il Raspberry funziona in logica CMOS (3.3Volt) ma molti
dispositivi sono in logica TTL (5Volt)
Don't cross the
streams!!!
Occhio a non
scambiare la linea
5V con quella a
3.3V!
Gianluca Ghettini
45. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
GPIO: Don't cross the streams!!!
Level shifter
Trasforma segnali a
5V in segnali a 3.3V
e viceversa
Gianluca Ghettini
46. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
GPIO: library WiringPi, OUTPUT mode
#include wiringPi.h
int main (void)
{
wiringPiSetup();
pinMode(4, OUTPUT);
digitalWrite(4, HIGH);
return 0;
}
Gianluca Ghettini
47. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
GPIO: library WiringPi, INPUT mode
#include wiringPi.h
int main (void)
{
wiringPiSetup();
pinMode(17, INPUT);
int value = digitalRead(17);
return 0;
}
Gianluca Ghettini
48. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Getting started: Installazione OS
www.raspberrypi.org
Gianluca Ghettini
49. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Getting started: Installazione OS
NOOBS: New Out Of Box Software
NOOBS include:
Raspbian (derivato Debian)
Pidora (derivato Fedora)
Arch Linux (ArchLinux per ARM)
OpenELEC (derivato XBMC)
RaspBMC (derivato XBMC)
RISC OS (senza fronzoli, leggerissimo)
Esistono moltissimi altri OS non inclusi in NOOBS
Gianluca Ghettini
50. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Getting started: Installazione OS
Semplicissimo!
Scarichiamo NOOBS
Scompattiamo su SD card
Avviamo Raspberry Pi
Gianluca Ghettini
51. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Getting started: Installazione OS
Here we go!
Gianluca Ghettini
52. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Programmazione
Per programmare il Raspberry Pi ci serve...
il Raspberry Pi :-)
Concetto della programmazione Desktop, non Embedded!
Niente programmatore esterno
Bastano una tastiera, mouse e video collegati
Installiamo il nostro IDE preferito!
Gianluca Ghettini
53. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Programmazione
Quale linguaggio?
Arduino
Mikro C
Assembler ATmega328
Raspberry Pi
C/C++
Python
Java!!!!!!!!!
Assembler ARM
C# (Mono)
.
Perche cosi' tanti linguaggi? Raspberry e un PC!
Gianluca Ghettini
54. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Programmazione: C/C++
Installiamo Eclipse
Funzioni
Socket di rete
File I/O
Gra
55. ca (OpenGL)
Sonoro
Tutto quello che possiamo
fare in Linux si puo fare su
Raspberry Pi
Gianluca Ghettini
56. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Programmazione: Scratch!
Scratch!
Scratch!
Educativo!
Drag drop
Animazioni e giochi
Tipo Clik Play, chi se lo
ricorda?
Gianluca Ghettini
57. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Programmazione: Bare metal programming
Bare metal programming: giusto per s
58. zio
Bare Metal Programming
Non serve l'OS
L'intera scheda SD e la
memoria programma
Programmazione in
assembler
Conoscenza dell'hardware al
100%
Interfacce dicili da
utilizzare
Gianluca Ghettini
59. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Casi d'uso
Ma cosa possiamo fare con Raspberry?
Gianluca Ghettini
60. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Casi d'uso
Ma cosa possiamo fare con Raspberry?
Gianluca Ghettini
61. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Casi d'uso: solar panel datalogger
Datalogger per impianti fotovoltaici
Gianluca Ghettini
62. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Casi d'uso: solar panel datalogger
Datalogger per impianti fotovoltaici
RS485
MySQL
Connessione LAN
Monitoring 24h/24
Possibilita di monitorare
molti inverter
Gianluca Ghettini
63. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Casi d'uso: solar panel datalogger
Per il collegamento agli inverter?
Due possibilita
USB to RS485
RS232 (GPIO) to RS485
Gianluca Ghettini
64. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Casi d'uso: solar panel datalogger
Ma non bastava arduino?
Utilizzando Raspberry abbiamo un serie di vantaggi
XAMP server per gestione remota da browser web
Connessione LAN a PC
Storage dei dati di produzione
Gianluca Ghettini
65. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Casi d'uso: Chiosco eliminacode
Chiosco eliminacode
Gianluca Ghettini
66. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Casi d'uso: Chiosco eliminacode
Pulsanti
UP/DOWN
Pulsante
PRINT
Stampa
biglietto
Informazioni a
video
Anche audio
volendo
Gianluca Ghettini
67. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Casi d'uso: Console per retrogaming
Console per retrogaming
Gianluca Ghettini
68. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Casi d'uso: Console per retrogaming
Basato su RetroPie OS
Emulatori
SEGA mega drive
SEGA master system
MAME
Commodore 64
NES SNES
Atari 2600
Gianluca Ghettini
69. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Casi d'uso: Console per retrogaming
RetroPie: multi emulatore per Raspberry Pi
Gianluca Ghettini
70. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Casi d'uso: Console per retrogaming
Cosa serve
Raspberry Pi :-)
Bottoni arcade
Joystick arcade
RetroPie OS
Un bel case?
Gianluca Ghettini
71. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Domande? :-)
Gianluca Ghettini
72. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Alcuni link utili
http://www.raspberrypi.org/
http://wiringpi.com/
http://www.vincenzov.net/
http://raspberrypi.stackexchange.com/
http://rpy-italia.org/
Gianluca Ghettini
73. Introduzione
Caratteristiche
Connettori
Arduino != Raspberry
Getting started
Programmare con Raspberry Pi
Casi d'uso interessanti
Grazie per l'attenzione!
email: gianluca.ghettini@gmail.com
website: www.gianlucaghettini.net
Gianluca Ghettini