SlideShare uma empresa Scribd logo
Prof. Walter Silvestre Coan, Ms.
                Departamento de Informática
Universidade da Região de Joinville - UNIVILLE
   O que é o arduino?
    ◦   Instalação
    ◦   Projetos
    ◦   Internet das coisas...
    ◦   Robótica
   O que é o Netduino?
    ◦ Projetos
   Raspberry Pi
    ◦ Instalação e configuração
    ◦ Desenvolvimento de jogos
   Claudio Montenegro
   Glauco Vinicius Scheffel
   Arduino é uma plataforma aberta e livre que
    simplifica a prototipação de dispositivos
    eletrônicos capazes de medir aspectos físicos
    (sensores), realizar ações (atuadores) ou se
    comunicar com outros dispositivos.
   Plataforma do Arduino
    ◦ Placa
    ◦ Linguagem de Programação
    ◦ Plataforma de Desenvolvimento
   Idealizador: Massimo Banzi
   2005
   Interaction Design Institute Ivrea – Milano




                             David Cuartielles, Gianluca Martino, Tom Igoe,
                                     David Mellis e Massimo Banzi
   Aberto, Livre e expansível
    ◦ Linguagem de Programação
      Similar ao C/C++, permite construção de bibliotecas em
       C++
   Hardware
    ◦ Microcontrolador Atmel ATMEGA
   “Barato”
   Cross-Plataform
   Ambiente simples de programação

                                   ATmega 328
                           Memória Flash: 32 Kb
                                CPU: 8-bit AVR
                            EEPROM: 1024 Bytes
                            Tensão: 1.8v to 5.5v
       Duemilanove
   Qual a diferença de um Microcontrolador para
    um Microprocessador?




                            Microcontrolador ATMEGA 328




       MEGA
http://arduino.cc   http://blog.arduino.cc
   Palestra Massimo Banzi no TED




        http://www.youtube.com/watch?v=UoBUXOOdLXY
Arduino UNO                          Arduino LilyPad
                Arduino Leonardo




                                     Arduino MiniPro



 Arduino MEGA
                          Netduino
Arduino DUE




              Arduino ESPLORA
   Linux
    ◦ sudo apt-get install arduino
   Windows
    ◦ É necessário instalar o driver para a interface FTDI USB que
      permite a comunicação direta entre o computador e o
      arduino.
    ◦ Windows 7 não 64bits
      O driver encontra-se na pasta driver da IDE de programação do
       arduino
    ◦ Windows 7 64bits
      É necessário fazer o download da ultima versão do driver.
      http://www.ftdichip.com/Drivers/VCP.htm
   Passos
    ◦ Conectar o arduino ao computador utilizando o cabo USB.
    ◦ Aguarde o sistema operacional encontrar o novo hardware.
    ◦ Apontar o caminho onde o driver foi baixado.
   Configuração do Software Arduino
    ◦ Windows
      Acessar o gerenciador de dispositivos, verifique em
       que porta COM o driver FTDI foi instalado.
      Informar no Software Arduino a versão do seu Arduino
       e a porta de comunicação.
   Configuração do Software Arduino
    ◦ Linux
      Comando para listar os dispositvos USB: lsusb
      Comando para encontrar a porta de comunicação no
       linux: ls /dev/ttyUSB*
Porta USB: para
                                                   alimentação de energia
                                                   e comunicação com o
                                                   computador.
                                                   External DC:
                                                   alimentação de energia
                                                   externa, somente
                                                   necessário quando o
                                                   campo USB não esta
                                                   conectado
                                                   Reset Switch: reinicia o
                                                   microcontrolado
Power LED: indica que o Arduino esta em funcionamento.
Serial LEDS: indicam a troca de informações entre o computador e o Arduino
ou atividade das portas digitais 0 (RX) e 1 (TX).
Pin 13 LED: indica atividade na porta digital 13.
   Light Emitting Diode (LED)
        Cor            Tensão            Corrente
    Infravermelho      < 1.9v             20mA
      Vermelho      1.63v ≈ 2.03v         20mA

      Amarelo       2.10v ≈ 2.18v         20mA

       Verde         1.9v ≈ 4.0v          20mA
        Azul         2,48v ≈ 3.7          20mA
       Branco           3.5v              20mA

                                    LEDs:
                                    -São Polarizados, se você inverter o Catodo e o Anodo
                                    ele não funciona.
                                    -Um dos terminais sempre tem o tamanho maior
                                    indicando que é o catodo.
                                    -Adoram corrente, quanto mais voce passar para ele,
                                    mais ele irá tentar absorver até que ele superaqueça e
                                    queime.
   Primeiro teste: Blink
    ◦ Entrar no Software Arduino
    ◦ Selecionar: File -> Examples -> Basics -> Blink
   Primeiro teste: Blink




                            Catodo (Grd) Anodo(PIN13)
   Primeiro teste: Blink
    ◦ Realizar a montagem do esquema elétrico
    ◦ Conectar o arduino na porta USB
    ◦ Carregar o programa para o Arduino
Porta Digitais e Analógicas:
                                                      utilizadas para a conexão de
                                                      componentes eletrônicos que
                                                      serão      controlados     pelo
                                                      microcontrolador.
                                                      Portas Digitais 0 a 13: por
                                                      trabalhar no sistema digital
                                                      elas suportam os valores HIGH
                                                      (1) e LOW (0) que representam
                                                      ligado e desligado. Cada porta
                                                      proveuma corrente de 5v,
                                                      exceto a porta 13 que já possui
                                                      um     resistor  e   um    LED
                                                      conectado de forma serial,
ENTRADA: mede se existe ou não uma corrente.          reduzindo a tensão para 1.7v.
SAIDA: prove ou retira corrente                       Essas    portas    podem    ser
DICA: Sempre utilize resistores nas portas digitais   utilizadas tanto no modo
diferentes de 13                                      ENTRADA como SAIDA.
Porta Digitais utilizadas para saída:
-No bloco de SETUP do programa arduino utilizar o comando
pinMode(<numPorta>, OUTPUT);
-No bloco de LOOP utilizar o comando digitalWrite(<numPorta>,<LOW/HIGH>); para
habilitar ou desabilitar o sinal na porta.
Porta Digitais utilizadas para Entrada:
-No bloco de SETUP do programa arduino utilizar o comando
pinMode(<numPorta>, INPUT);
-No bloco de LOOP utilizar o comando digitalRead(<numPorta>); verificar o status da
porta igual a LOW ou HIGH.
   Passo1
   Passo2
    ◦ Python
      Instalar os módulos
        Serial
        Twitter
        Oauth2
   Passo 3
    ◦ Twitter
      É nécessário acessar https://dev.twitter.com
      Criar um aplicativo para obter as chaves de acesso
   Passo 3
    ◦ Twitter
      Chaves de acesso




                          API Twitter: suporta
                           350 consultas por
                                          hora
   Passo 4
     ◦ Código Python
    import serial
    import twitter
    import time
    ser = serial.Serial(port = 'COM23', baudrate=9600, timeout = None)
    #Conexao sem autenticaçao api = twitter.Api()
    api = twitter.Api(consumer_key='AAA',consumer_secret='BBB',
    access_token_key='CCC', access_token_secret='DDD')

    while True:
        pass
        message = api.GetUserTimeline("@waltercoan")[0]
        if message.text.find("arduino") == -1:
             message = api.GetMentions()[0]
             print "Mension >>> "
        else:
             print "Message >>> "
        if message.text.find("arduino") != -1:
             if message.text.find("on") != -1: ser.write('l'.encode('ascii'))
             if message.text.find("off") != -1: ser.write('d'.encode('ascii'))
        print message.text
        print "Sleep...n"
        time.sleep(5)
Palestra sobre Arduino e Raspberry Pi (Totvs)
https://cosm.com/
   Passo 1
    ◦ Transistor LM35 (sensor de temperatura linear)
                           const int inPin = 0; // analog pin

                           void setup()
                           {
                               Serial.begin(9600);
                           }
                           void loop()
                           {
                               int value = analogRead(inPin);
                               float millivolts = (value / 1024.0) * 5000;
                               float celsius = millivolts / 10;
                               // sensor output is 10mV per degree Celsius
                               int rate = map(celsius,20,30,0,255);
                               delay(500); // wait for one second
                               Serial.println(celsius);
                               delay(500); // wait for one second
                           }
   Passo 2
    ◦ Configurar uma chave de acesso no COSM
   Passo 3
    ◦ Fonte de dados
   Passo 3
    ◦ Fonte de dados
      Importante anotar o ID do Feed
   Passo 4
    ◦ Programa Python
      Bibliotecas: txCosm, zope.interface, pyOpenSSL
from twisted.internet import defer, reactor
import txcosm
from txcosm.HTTPClient import HTTPClient
import sys
import serial
import time

ser = serial.Serial(port = 'COM23', baudrate=9600, timeout = None)

# Paste your Pachube API key here
API_KEY = "AAAA"

# Paste you feed identifier here
FEED_ID = "BBB"

feed_data = """<?xml version="1.0" encoding="UTF-8"?>
<eeml xmlns="http://www.eeml.org/xsd/0.5.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="0.5.1" xsi:schemaLocation="http://www.eeml.org/xsd/0.5.1
http://www.eeml.org/xsd/0.5.1/0.5.1.xsd">




                                                                                     Continua...
   Passo 4
    ◦ Programa Python
      Bibliotecas: txCosm, zope.interface, pyOpenSSL
<environment>
    <title>ArduinoTemp</title>
    <status>live</status>
    <description>Temperatura da sala</description>
    <tag>arduino</tag>
    <tag>Temperatura</tag>
    <data id="temp">
      <current_value>novatemperatura</current_value>
      <max_value>50.0</max_value>
      <min_value>-30</min_value>
    </data>
  </environment>
</eeml>"""


def demo():
    client = HTTPClient(api_key=API_KEY, feed_id=FEED_ID)
    result = client.update_feed(format=txcosm.DataFormats.XML,
data=feed_data.replace("novatemperatura",ser.readline()))




                                                                 Só mais um...
   Passo 4
     ◦ Programa Python
         Bibliotecas: txCosm, zope.interface, pyOpenSSL
    if result:
           print "Feed updated"
       else:
           print "Error updating feed"
       reactor.callLater(10, demo)
       defer.returnValue(True)


reactor.callWhenRunning(demo)
reactor.run()
Porta Analógicas: utilizadas
                                              para conectar sensores,
                                              possibilitando a conversão
                                              do sinal Analógico do
                                              componente sensor para
                                              valores Digitais (0-1023).
                                              Essas portas possuem
                                              apenas a opção de
                                              ENTRADA de sinal.


Porta Gnd: As portas GROUND são utilizadas para completar os circuitos
construídos provendo o aterramento.
Palestra sobre Arduino e Raspberry Pi (Totvs)
   Sensores
      Tem por objetivo medir grandezas físicas que são
       transformadas em sinais elétricos.




Sensor de Cor            Sensor de Luminosidade           Sensor de presença de
                                                                   Gás
    Atuadores
        Tem por objetivo modificar o estado de algo, transformando
         sinais elétricos em uma grandeza física.




    Motor DC                    Motor de passo                        Servo Motor
Componentes:
- Arduino
- Transistor BC 548
- Resistor 1K ohms
- Motor DC 3v
- Duas pilhas AA (1,5v)




         //Código Fonte (Fading):
         int ledPin = 9;

         void setup() {
           // nao faz nada
         }

         void loop() {
           for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
             analogWrite(ledPin, fadeValue);
             delay(30);
           }

             for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) {
               analogWrite(ledPin, fadeValue);
               delay(30);
             }
         }
   Ponte H - L293B / L293D
   Ponte H - L293B / L293D
    ◦ Gilberto Santos – 3º ano de Sistemas de Informação da
      UNIVILLE
GPS Shield              XBee Shield      Ethernet Shield




         Motor Shield                 Game Shield
Ethernet   WIFI




           Motor
//http://www.ladyada.net/make/mshield/use.html
#include <AFMotor.h>
int sensorPin = A0;
double sensorVolts = 0;
double distance = 0;

AF_DCMotor motordir(3, MOTOR12_1KHZ);
AF_DCMotor motoresq(4, MOTOR12_1KHZ);

void setup() {
    motoresq.setSpeed(255);
    motordir.setSpeed(255);
    Serial.begin(9600);
}
void loop() {
    motoresq.run(FORWARD);
    motordir.run(FORWARD);
    sensorVolts = analogRead(sensorPin) * 0.0048828125;
    distance = 65 * pow(sensorVolts, -1.10);
    Serial.println(distance);
    if (distance < 25) {
        motoresq.run(RELEASE);
        delay(3000);
        motoresq.run(FORWARD);
    }
    delay(80);
}
Palestra sobre Arduino e Raspberry Pi (Totvs)
Start
A Group of Apps




                  Netduino
   .NET Micro Framework (Apache License 2.0)
    ◦ 2009
    ◦ Dispositivos com 256KBytes flash e 64KBytes RAM
    ◦ Netduino
       Criado pela Secret Labs
       32 bits Microcontroller
       www.netduino.com
Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)
   Criado por Prof. Eben Christopher Upton –
    2006 – Universidade de Cambridge
   Objetivo:
    ◦ Plataforma de Hardware e Software abertos para
      ensinar crianças do reino unido a programar.
   Raspberry Pi Foundation – 2012
    ◦ Mais de 1 MILHÃO de unidades vendidas
      Model A - $25
      Model B - $35
    ◦ Brasil
      http://www.farnellnewark.com.br
      R$ 170,50 + Frete


                                            BBC Micro Computer
Palestra sobre Arduino e Raspberry Pi (Totvs)
   Acessórios obrigatórios
    ◦ Cartão de memória SD (8 giga)
    ◦ Fonte de alimentação USB (Tensão: 5v – Corrente
      800 a 1000 mA)
    ◦ Teclado e Mouse
    ◦ Cabo HDMI / RCA
   Mais informações
    ◦ http://www.raspberrypi.org/
   Instalação
    ◦ Passo 1 – Download do Sistema Operacional
   Instalação
    ◦ Passo 2 – Gravar a imagem do Sistema Operacional
      no cartão SD
      Win32 DiskImager
        http://sourceforge.net/projects/win32diskimager/
   Instalação
    ◦ Passo 3 – piconfig
      Aplicativo de configuração do Raspberry Pi
        Executado automaticamente na primeira inicialização ou
         pode ser chamado pelo console
Palestra sobre Arduino e Raspberry Pi (Totvs)
   Interface para simplificar e proteger as GPIO
    do Raspberry Pi
    ◦ Portas digitais e analógicas
    ◦ Dois Reles
    ◦ Leds e Pin Buttons
   PyGames
    ◦ API para desenvolvimento de jogos
Palestra sobre Arduino e Raspberry Pi (Totvs)
Palestra sobre Arduino e Raspberry Pi (Totvs)
   http://www.facebook.com/groups/383294078370453/
   http://blog.univille.br/joinuino
Prof. Walter Silvestre Coan, Ms.
          Departamento de Informática
 Universidade da Região de Joinville – UNIVILLE
   http://www.univille.br/deptoinformatica
     http://www.facebook.com/BSIUniville
         http://blog.univille.br/joinuino
e-mail: walter.s@univille.br – Twitter: waltercoan
    http://www.faltoupontoevirgula.com.br

Mais conteúdo relacionado

PDF
Mini-curso de Introdução a Eletrônica com Arduino
PPTX
Arduino Hack Day Corumbá
ODP
Arduino: Soluções para o mundo moderno
PPT
Arduino - Desenvolvendo com hardware livre
PPT
Curso de Arduino Completo
PPTX
Introdução a arduino, oficina para iniciantes
PDF
Programação em C para Arduino
PPTX
1 aula do curso de automação - Arduino
Mini-curso de Introdução a Eletrônica com Arduino
Arduino Hack Day Corumbá
Arduino: Soluções para o mundo moderno
Arduino - Desenvolvendo com hardware livre
Curso de Arduino Completo
Introdução a arduino, oficina para iniciantes
Programação em C para Arduino
1 aula do curso de automação - Arduino

Mais procurados (20)

PDF
Computação física com arduino
ODP
Introdução - Arduino - Renan Martins
PPT
C.E.S.A.R Introducao ao Arduino
PDF
Mini curso arduino
PDF
Sestinfo 2013 - Arduino
PDF
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
PDF
Introdução ao Arduino e robótica
PDF
Introdução a Sistemas Embarcados com Arduino - mini-curso
PDF
Minicurso de Arduino Básico
PPTX
Aula básica Arduino
PDF
Oficina Arduino
PPTX
MiniCursoDeArduino
PPT
V2 - Microcontroladores: a revolucao do arduino
PPTX
3 aula do curso de automação - Arduino
PDF
Curso de arduino
PDF
Programação em-arduino-módulo-básico
PPT
Introdução ao arduino palestra
PPTX
Introdução à eletronica e robótica com arduino
PPTX
Mini curso arduino básico pet v2
PPT
Arduino Hack Day por Vinicius Senger
Computação física com arduino
Introdução - Arduino - Renan Martins
C.E.S.A.R Introducao ao Arduino
Mini curso arduino
Sestinfo 2013 - Arduino
Apostila Arduino - Núcleo de Estudos em Robótica SheepSet
Introdução ao Arduino e robótica
Introdução a Sistemas Embarcados com Arduino - mini-curso
Minicurso de Arduino Básico
Aula básica Arduino
Oficina Arduino
MiniCursoDeArduino
V2 - Microcontroladores: a revolucao do arduino
3 aula do curso de automação - Arduino
Curso de arduino
Programação em-arduino-módulo-básico
Introdução ao arduino palestra
Introdução à eletronica e robótica com arduino
Mini curso arduino básico pet v2
Arduino Hack Day por Vinicius Senger
Anúncio

Destaque (20)

PDF
Android e Arduino para automação residencial
PPTX
Aula inaugural da GeraçãoTec - Softville/Joinville
PDF
Hungerpalava
PDF
UFSC divulga resultado do vestibular 2015
PDF
Ensinando Computação e Fazendo Ciência com Python
PDF
Programando em python modulos
PDF
UFSC divulga listão dos aprovados no vestibular 2014
PDF
Python - o que, porque, como e quando
PDF
IoT, o Futuro já começou, por Desireé Santos
PDF
Reporte proyecto primer parcial 1
PPTX
Introdução a automação residencial com Raspberry PI
PPTX
Espaço Programação e Eletrónica - Sessão4
PDF
Astro Pi - Explorando o Sense Hat
PDF
Astro Pi - introdução ao Python
PDF
Livraria Sense hat - resumo
ODP
Raspberry Pi: o hardware para Python
PDF
Python: A Arma Secreta do Cientista de Dados
PDF
Muse feeling good PIANO
PDF
Astro pi - Como recolher dados do astro Pi
PDF
[PyBr11] Lendo dados tabulares: versão pythônica
Android e Arduino para automação residencial
Aula inaugural da GeraçãoTec - Softville/Joinville
Hungerpalava
UFSC divulga resultado do vestibular 2015
Ensinando Computação e Fazendo Ciência com Python
Programando em python modulos
UFSC divulga listão dos aprovados no vestibular 2014
Python - o que, porque, como e quando
IoT, o Futuro já começou, por Desireé Santos
Reporte proyecto primer parcial 1
Introdução a automação residencial com Raspberry PI
Espaço Programação e Eletrónica - Sessão4
Astro Pi - Explorando o Sense Hat
Astro Pi - introdução ao Python
Livraria Sense hat - resumo
Raspberry Pi: o hardware para Python
Python: A Arma Secreta do Cientista de Dados
Muse feeling good PIANO
Astro pi - Como recolher dados do astro Pi
[PyBr11] Lendo dados tabulares: versão pythônica
Anúncio

Semelhante a Palestra sobre Arduino e Raspberry Pi (Totvs) (20)

PPTX
Palestra arduino
PPTX
Introdução a plataforma arduino
PDF
Arduino001 110911083100-phpapp02
PDF
Open Hardware & Arduino
PPTX
Guia AC mod 5
PDF
Arduino introdução - 10 projectos
PDF
Tut arduino
PDF
Tut arduino
PPT
Perlduino - Interfaceando sua aplicação com o mundo real!
ODP
Oficina de Arduino Beta - Matehackers.org
PDF
TDC2014 - Internet das Coisas - Arduino & OpenDevice
PDF
MATEMÁTICA E SUAS TECNOLOGIAS CIÊNCIAS DA NATUREZA E SUAS TECNOLOGIAS Volume ...
PDF
Mini Curso Netduino
PDF
Introdução-à-Programação-Embarcada-com-Arduino.pdf
PPT
Mini Curso Sistemas Embarcados
PDF
Introdução à plataforma Arduino
PPTX
Arduíno muito prazer
PDF
Introdução ao Arduino
PDF
apostila-arduino avançado desde o básico
PDF
Apostila curso de arduino rev4
Palestra arduino
Introdução a plataforma arduino
Arduino001 110911083100-phpapp02
Open Hardware & Arduino
Guia AC mod 5
Arduino introdução - 10 projectos
Tut arduino
Tut arduino
Perlduino - Interfaceando sua aplicação com o mundo real!
Oficina de Arduino Beta - Matehackers.org
TDC2014 - Internet das Coisas - Arduino & OpenDevice
MATEMÁTICA E SUAS TECNOLOGIAS CIÊNCIAS DA NATUREZA E SUAS TECNOLOGIAS Volume ...
Mini Curso Netduino
Introdução-à-Programação-Embarcada-com-Arduino.pdf
Mini Curso Sistemas Embarcados
Introdução à plataforma Arduino
Arduíno muito prazer
Introdução ao Arduino
apostila-arduino avançado desde o básico
Apostila curso de arduino rev4

Mais de Walter Coan (20)

PPTX
Esquenta MVP Conf 2025 Blumenau Azure IoT Platform
PPTX
SQL Saturday 2025 RAG COSMOSDB Azure OpenAI
PPT
Palestra SQLSAT 2025 AZURE ML NVIDIA CUDA
PPTX
Azure User Group Moçambique - Azure IoT Operations
PPTX
DevOps Experience 2025 - Certificacoes em Kubernetes CNCF
PPTX
Devops Exp 2024 O que é o Radius Novembro-2024
PPTX
Devops Exp 2024 OpenTelemetry Grafana Agosto 2024
PPTX
Computação em nuvem status da tecnologia nas empresas
PPTX
API Gateways DevOps Experience Abril-2024.pptx
PPTX
2024-04-20-GlobalAzure-EventGridNamespacesMQTT.pptx
PPTX
CODECON Caminhos para Formação de um Arquiteto de Soluções em Nuvem
PPTX
Talk Floripa - Desenvolvimento de projetos de Internet das Coisas
PPTX
TechConnection 2023 Floripa Azure Container Apps
PPTX
Shift left DevOps Experience
PPTX
DevFest2023-Pragmatismo da Internet das Coisas
PPTX
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
PPTX
Primeira certificação no Azure: AZ-900
PPTX
Novidades da plataforma Azure IoT
PPTX
Aplicações resilientes e Chaos Engineering em .NET com Polly + Simmy
PPT
TDC Connections 2022 - .NET + Microsserviços: alternativas open source para d...
Esquenta MVP Conf 2025 Blumenau Azure IoT Platform
SQL Saturday 2025 RAG COSMOSDB Azure OpenAI
Palestra SQLSAT 2025 AZURE ML NVIDIA CUDA
Azure User Group Moçambique - Azure IoT Operations
DevOps Experience 2025 - Certificacoes em Kubernetes CNCF
Devops Exp 2024 O que é o Radius Novembro-2024
Devops Exp 2024 OpenTelemetry Grafana Agosto 2024
Computação em nuvem status da tecnologia nas empresas
API Gateways DevOps Experience Abril-2024.pptx
2024-04-20-GlobalAzure-EventGridNamespacesMQTT.pptx
CODECON Caminhos para Formação de um Arquiteto de Soluções em Nuvem
Talk Floripa - Desenvolvimento de projetos de Internet das Coisas
TechConnection 2023 Floripa Azure Container Apps
Shift left DevOps Experience
DevFest2023-Pragmatismo da Internet das Coisas
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
Primeira certificação no Azure: AZ-900
Novidades da plataforma Azure IoT
Aplicações resilientes e Chaos Engineering em .NET com Polly + Simmy
TDC Connections 2022 - .NET + Microsserviços: alternativas open source para d...

Último (19)

PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Processos na gestão de transportes, TM100 Col18
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Processos na gestão de transportes, TM100 Col18
COBITxITIL-Entenda as diferença em uso governança TI
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Aula 18 - Manipulacao De Arquivos python
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Apple Pippin Uma breve introdução. - David Glotz
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Custos e liquidação no SAP Transportation Management, TM130 Col18
Aula04-Academia Heri- Tecnologia Geral 2025
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...

Palestra sobre Arduino e Raspberry Pi (Totvs)

  • 1. Prof. Walter Silvestre Coan, Ms. Departamento de Informática Universidade da Região de Joinville - UNIVILLE
  • 2. O que é o arduino? ◦ Instalação ◦ Projetos ◦ Internet das coisas... ◦ Robótica  O que é o Netduino? ◦ Projetos  Raspberry Pi ◦ Instalação e configuração ◦ Desenvolvimento de jogos
  • 3. Claudio Montenegro  Glauco Vinicius Scheffel
  • 4. Arduino é uma plataforma aberta e livre que simplifica a prototipação de dispositivos eletrônicos capazes de medir aspectos físicos (sensores), realizar ações (atuadores) ou se comunicar com outros dispositivos.  Plataforma do Arduino ◦ Placa ◦ Linguagem de Programação ◦ Plataforma de Desenvolvimento
  • 5. Idealizador: Massimo Banzi  2005  Interaction Design Institute Ivrea – Milano David Cuartielles, Gianluca Martino, Tom Igoe, David Mellis e Massimo Banzi
  • 6. Aberto, Livre e expansível ◦ Linguagem de Programação  Similar ao C/C++, permite construção de bibliotecas em C++  Hardware ◦ Microcontrolador Atmel ATMEGA  “Barato”  Cross-Plataform  Ambiente simples de programação ATmega 328 Memória Flash: 32 Kb CPU: 8-bit AVR EEPROM: 1024 Bytes Tensão: 1.8v to 5.5v Duemilanove
  • 7. Qual a diferença de um Microcontrolador para um Microprocessador? Microcontrolador ATMEGA 328 MEGA
  • 8. http://arduino.cc http://blog.arduino.cc
  • 9. Palestra Massimo Banzi no TED http://www.youtube.com/watch?v=UoBUXOOdLXY
  • 10. Arduino UNO Arduino LilyPad Arduino Leonardo Arduino MiniPro Arduino MEGA Netduino
  • 11. Arduino DUE Arduino ESPLORA
  • 12. Linux ◦ sudo apt-get install arduino
  • 13. Windows ◦ É necessário instalar o driver para a interface FTDI USB que permite a comunicação direta entre o computador e o arduino. ◦ Windows 7 não 64bits  O driver encontra-se na pasta driver da IDE de programação do arduino ◦ Windows 7 64bits  É necessário fazer o download da ultima versão do driver.  http://www.ftdichip.com/Drivers/VCP.htm  Passos ◦ Conectar o arduino ao computador utilizando o cabo USB. ◦ Aguarde o sistema operacional encontrar o novo hardware. ◦ Apontar o caminho onde o driver foi baixado.
  • 14. Configuração do Software Arduino ◦ Windows  Acessar o gerenciador de dispositivos, verifique em que porta COM o driver FTDI foi instalado.  Informar no Software Arduino a versão do seu Arduino e a porta de comunicação.
  • 15. Configuração do Software Arduino ◦ Linux  Comando para listar os dispositvos USB: lsusb  Comando para encontrar a porta de comunicação no linux: ls /dev/ttyUSB*
  • 16. Porta USB: para alimentação de energia e comunicação com o computador. External DC: alimentação de energia externa, somente necessário quando o campo USB não esta conectado Reset Switch: reinicia o microcontrolado Power LED: indica que o Arduino esta em funcionamento. Serial LEDS: indicam a troca de informações entre o computador e o Arduino ou atividade das portas digitais 0 (RX) e 1 (TX). Pin 13 LED: indica atividade na porta digital 13.
  • 17. Light Emitting Diode (LED) Cor Tensão Corrente Infravermelho < 1.9v 20mA Vermelho 1.63v ≈ 2.03v 20mA Amarelo 2.10v ≈ 2.18v 20mA Verde 1.9v ≈ 4.0v 20mA Azul 2,48v ≈ 3.7 20mA Branco 3.5v 20mA LEDs: -São Polarizados, se você inverter o Catodo e o Anodo ele não funciona. -Um dos terminais sempre tem o tamanho maior indicando que é o catodo. -Adoram corrente, quanto mais voce passar para ele, mais ele irá tentar absorver até que ele superaqueça e queime.
  • 18. Primeiro teste: Blink ◦ Entrar no Software Arduino ◦ Selecionar: File -> Examples -> Basics -> Blink
  • 19. Primeiro teste: Blink Catodo (Grd) Anodo(PIN13)
  • 20. Primeiro teste: Blink ◦ Realizar a montagem do esquema elétrico ◦ Conectar o arduino na porta USB ◦ Carregar o programa para o Arduino
  • 21. Porta Digitais e Analógicas: utilizadas para a conexão de componentes eletrônicos que serão controlados pelo microcontrolador. Portas Digitais 0 a 13: por trabalhar no sistema digital elas suportam os valores HIGH (1) e LOW (0) que representam ligado e desligado. Cada porta proveuma corrente de 5v, exceto a porta 13 que já possui um resistor e um LED conectado de forma serial, ENTRADA: mede se existe ou não uma corrente. reduzindo a tensão para 1.7v. SAIDA: prove ou retira corrente Essas portas podem ser DICA: Sempre utilize resistores nas portas digitais utilizadas tanto no modo diferentes de 13 ENTRADA como SAIDA.
  • 22. Porta Digitais utilizadas para saída: -No bloco de SETUP do programa arduino utilizar o comando pinMode(<numPorta>, OUTPUT); -No bloco de LOOP utilizar o comando digitalWrite(<numPorta>,<LOW/HIGH>); para habilitar ou desabilitar o sinal na porta.
  • 23. Porta Digitais utilizadas para Entrada: -No bloco de SETUP do programa arduino utilizar o comando pinMode(<numPorta>, INPUT); -No bloco de LOOP utilizar o comando digitalRead(<numPorta>); verificar o status da porta igual a LOW ou HIGH.
  • 24. Passo1
  • 25. Passo2 ◦ Python  Instalar os módulos  Serial  Twitter  Oauth2
  • 26. Passo 3 ◦ Twitter  É nécessário acessar https://dev.twitter.com  Criar um aplicativo para obter as chaves de acesso
  • 27. Passo 3 ◦ Twitter  Chaves de acesso API Twitter: suporta 350 consultas por hora
  • 28. Passo 4 ◦ Código Python import serial import twitter import time ser = serial.Serial(port = 'COM23', baudrate=9600, timeout = None) #Conexao sem autenticaçao api = twitter.Api() api = twitter.Api(consumer_key='AAA',consumer_secret='BBB', access_token_key='CCC', access_token_secret='DDD') while True: pass message = api.GetUserTimeline("@waltercoan")[0] if message.text.find("arduino") == -1: message = api.GetMentions()[0] print "Mension >>> " else: print "Message >>> " if message.text.find("arduino") != -1: if message.text.find("on") != -1: ser.write('l'.encode('ascii')) if message.text.find("off") != -1: ser.write('d'.encode('ascii')) print message.text print "Sleep...n" time.sleep(5)
  • 31. Passo 1 ◦ Transistor LM35 (sensor de temperatura linear) const int inPin = 0; // analog pin void setup() { Serial.begin(9600); } void loop() { int value = analogRead(inPin); float millivolts = (value / 1024.0) * 5000; float celsius = millivolts / 10; // sensor output is 10mV per degree Celsius int rate = map(celsius,20,30,0,255); delay(500); // wait for one second Serial.println(celsius); delay(500); // wait for one second }
  • 32. Passo 2 ◦ Configurar uma chave de acesso no COSM
  • 33. Passo 3 ◦ Fonte de dados
  • 34. Passo 3 ◦ Fonte de dados  Importante anotar o ID do Feed
  • 35. Passo 4 ◦ Programa Python  Bibliotecas: txCosm, zope.interface, pyOpenSSL from twisted.internet import defer, reactor import txcosm from txcosm.HTTPClient import HTTPClient import sys import serial import time ser = serial.Serial(port = 'COM23', baudrate=9600, timeout = None) # Paste your Pachube API key here API_KEY = "AAAA" # Paste you feed identifier here FEED_ID = "BBB" feed_data = """<?xml version="1.0" encoding="UTF-8"?> <eeml xmlns="http://www.eeml.org/xsd/0.5.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="0.5.1" xsi:schemaLocation="http://www.eeml.org/xsd/0.5.1 http://www.eeml.org/xsd/0.5.1/0.5.1.xsd"> Continua...
  • 36. Passo 4 ◦ Programa Python  Bibliotecas: txCosm, zope.interface, pyOpenSSL <environment> <title>ArduinoTemp</title> <status>live</status> <description>Temperatura da sala</description> <tag>arduino</tag> <tag>Temperatura</tag> <data id="temp"> <current_value>novatemperatura</current_value> <max_value>50.0</max_value> <min_value>-30</min_value> </data> </environment> </eeml>""" def demo(): client = HTTPClient(api_key=API_KEY, feed_id=FEED_ID) result = client.update_feed(format=txcosm.DataFormats.XML, data=feed_data.replace("novatemperatura",ser.readline())) Só mais um...
  • 37. Passo 4 ◦ Programa Python  Bibliotecas: txCosm, zope.interface, pyOpenSSL if result: print "Feed updated" else: print "Error updating feed" reactor.callLater(10, demo) defer.returnValue(True) reactor.callWhenRunning(demo) reactor.run()
  • 38. Porta Analógicas: utilizadas para conectar sensores, possibilitando a conversão do sinal Analógico do componente sensor para valores Digitais (0-1023). Essas portas possuem apenas a opção de ENTRADA de sinal. Porta Gnd: As portas GROUND são utilizadas para completar os circuitos construídos provendo o aterramento.
  • 40. Sensores  Tem por objetivo medir grandezas físicas que são transformadas em sinais elétricos. Sensor de Cor Sensor de Luminosidade Sensor de presença de Gás
  • 41. Atuadores  Tem por objetivo modificar o estado de algo, transformando sinais elétricos em uma grandeza física. Motor DC Motor de passo Servo Motor
  • 42. Componentes: - Arduino - Transistor BC 548 - Resistor 1K ohms - Motor DC 3v - Duas pilhas AA (1,5v) //Código Fonte (Fading): int ledPin = 9; void setup() { // nao faz nada } void loop() { for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) { analogWrite(ledPin, fadeValue); delay(30); } for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) { analogWrite(ledPin, fadeValue); delay(30); } }
  • 43. Ponte H - L293B / L293D
  • 44. Ponte H - L293B / L293D ◦ Gilberto Santos – 3º ano de Sistemas de Informação da UNIVILLE
  • 45. GPS Shield XBee Shield Ethernet Shield Motor Shield Game Shield
  • 46. Ethernet WIFI Motor
  • 47. //http://www.ladyada.net/make/mshield/use.html #include <AFMotor.h> int sensorPin = A0; double sensorVolts = 0; double distance = 0; AF_DCMotor motordir(3, MOTOR12_1KHZ); AF_DCMotor motoresq(4, MOTOR12_1KHZ); void setup() { motoresq.setSpeed(255); motordir.setSpeed(255); Serial.begin(9600); } void loop() { motoresq.run(FORWARD); motordir.run(FORWARD); sensorVolts = analogRead(sensorPin) * 0.0048828125; distance = 65 * pow(sensorVolts, -1.10); Serial.println(distance); if (distance < 25) { motoresq.run(RELEASE); delay(3000); motoresq.run(FORWARD); } delay(80); }
  • 49. Start A Group of Apps Netduino
  • 50. .NET Micro Framework (Apache License 2.0) ◦ 2009 ◦ Dispositivos com 256KBytes flash e 64KBytes RAM ◦ Netduino  Criado pela Secret Labs  32 bits Microcontroller  www.netduino.com
  • 56. Criado por Prof. Eben Christopher Upton – 2006 – Universidade de Cambridge  Objetivo: ◦ Plataforma de Hardware e Software abertos para ensinar crianças do reino unido a programar.  Raspberry Pi Foundation – 2012 ◦ Mais de 1 MILHÃO de unidades vendidas  Model A - $25  Model B - $35 ◦ Brasil  http://www.farnellnewark.com.br  R$ 170,50 + Frete BBC Micro Computer
  • 58. Acessórios obrigatórios ◦ Cartão de memória SD (8 giga) ◦ Fonte de alimentação USB (Tensão: 5v – Corrente 800 a 1000 mA) ◦ Teclado e Mouse ◦ Cabo HDMI / RCA  Mais informações ◦ http://www.raspberrypi.org/
  • 59. Instalação ◦ Passo 1 – Download do Sistema Operacional
  • 60. Instalação ◦ Passo 2 – Gravar a imagem do Sistema Operacional no cartão SD  Win32 DiskImager  http://sourceforge.net/projects/win32diskimager/
  • 61. Instalação ◦ Passo 3 – piconfig  Aplicativo de configuração do Raspberry Pi  Executado automaticamente na primeira inicialização ou pode ser chamado pelo console
  • 63. Interface para simplificar e proteger as GPIO do Raspberry Pi ◦ Portas digitais e analógicas ◦ Dois Reles ◦ Leds e Pin Buttons
  • 64. PyGames ◦ API para desenvolvimento de jogos
  • 67. http://www.facebook.com/groups/383294078370453/
  • 68. http://blog.univille.br/joinuino
  • 69. Prof. Walter Silvestre Coan, Ms. Departamento de Informática Universidade da Região de Joinville – UNIVILLE http://www.univille.br/deptoinformatica http://www.facebook.com/BSIUniville http://blog.univille.br/joinuino e-mail: walter.s@univille.br – Twitter: waltercoan http://www.faltoupontoevirgula.com.br