34
arduino+pc o arduino vs. the world

arduino+pc · 2019. 1. 18. · Multitasking YEAH terribilmente difficile Internet YEAH limitatamente, con uno shielf. tre architetture 1. arduino-centrico 2. pc-centrico 3. peer to

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

  • arduino+pco arduino vs. the world

  • la storia inizia cosìHo un arduino che ● misura la temperatura in camera mia ● accende una spia lampeggiante se fa troppo

    caldo.Voglio che :● mi mandi una mail se fa troppo caldo

  • PC vs Arduino : i limitiPC ARDUINO

    Sensori solo USB tantissimi

    Attuatori solo USB tantissimi

    Multitasking YEAH terribilmente difficile

    Internet YEAH limitatamente, con uno shielf

  • tre architetture1. arduino-centrico2. pc-centrico3. peer to peer

  • Peer to Peerpc e arduino procedono in modo indipendentescambiano messaggi via serialenessuno aspetta l’ altro

  • Arduino centricoArduino gestisce il flusso del programmail pc fa quello che dice arduino

    la maggior parte del codice sarà scritto in c/c++per arduino

  • Es:bridge

  • Es:bridge

  • Es:bridge Linux

    internet

  • come Arduino Leonardo

  • PC-centricoIl PC gestisce il flusso del programmaarduino fa quello che dice il pc

    possiamo usare linguaggi più comodi:es: Python

  • Pythoninterpretato, non compilatotipi debolil’ indentazione contameno { } nel codice

    iPython : console interattiva

  • 0 1 2

  • indentazione

    4 spazi

  • Annidamento

    = 4 spazi

  • comodità

  • funzioni e tipi

  • Py-ArduinoLibreria per comandare arduino dal pcSemplice da usareBen strutturata

  • Py-Arduino: come lo uso?arduino.pinMode(7,

    OUTPUT)

    arduino.digitalWrite(7,1)

    time.sleep(3)

    arduino.digitalWrite(7,0)

    Pin7:

    accendo

    aspetto 3 sec

    spengo

  • Py-Arduino: come lo uso?

  • come provarlosu emulatore:python -m py_arduino.cli.ipython /dev/ARDUINO_EMULATORsu arduino:python -m py_arduino.cli.ipython /dev/ttyACM0

  • Esercizio0) monta un led collegato a pin 71)accendi pin 7 2)spegni pin 7Da console:3)leggi il pin analogico A04)collega a terra A0 e leggilo di nuovo

  • Esercizio 2scrivere un programma che 1)controlla se un pulsante è premuto2)reagisce

  • Esercizio 33x Blinking led con multitasking sulla console

    blink3multitask.py è un bigino e quasi una soluzione ma senza console