Close

  • Ecco a voi.......ARDUINO.

    Eccomi qua per descrivere a voi che cos'è questo magnifico oggetto, tanto declamato e voluto da tutti per la sua grande comodità sia nell'impararlo che nell'usarlo, e io sono qua proprio per questo, per farvi vedere quanto Arduino sia utile nel nostro hobby e anche fuori.

    Veniamo al dunque.....

    che cos'è?



    Arduino è una piccola scheda hardware programmabile open-source basata sul facile utilizzo di hardware e software, utile per fare progetti automatici. E' nato nel 2005 ad Ivrea dal team di Massimo Banzi con lo scopo di agevolare i progetti ai loro studenti.



    Questo è il meraviglioso team di arduino.

    che cos'è l'automazione?

    E qui arriviamo al bello.

    L'automazione è la parte della tecnologia che usa i sistemi di controllo(nel nostro caso arduino) per risolvere alcuni tipi di problemi e per ridurre l'intervento umano.
    Quindi per chi ama essere servito ed avere uno schiavetto Arduino fa al caso vostro ;)

    Ho paura che a molti non sia chiaro il termine open source e giustamente io ve lo spiegherò :D

    Open source è un termine inglese che significa codice segreto aperto. Avete capito adesso?? no?! Ok, in pratica il termine open source in informatica indica un software(Arduino) i cui autori ne permettono e favoriscono il libero studio e l'apporto di modifiche da parte di altri programmatori. Non è fantastico?

    Come funziona?



    Detto questo spiegare il funzionamento è molto semplice. Arduino riceve in ingresso(input) dei segnali, che si chiamano dati. Quando entrano in arduino vengono elaborati, mediante convertitori e con l'ausilio di un microcontrollore i dati vengono trasformati in risultati e in base a questi piloterà i circuiti o dispositivi in uscita. Però per fare tutto cio Arduino ha bisogno di un piccolo aiuto, il vostro.....almeno solo all'inizio, poi lui farà tutto il resto. Il vostro compito sarà, oltre a creare la parte hardware, cioè fisica del progetto, usando dispositivi elettronici sia in ingresso che in uscita, anche creando un software o programma mediante l'ausilio dell'ambiente arduino e della programmazione simile-c, ovvero simile al linguaggio c.



    Questo è l'ambiente arduino

    Quanti tipi ci sono?

    Ci sono veramente molti....troppi tipi. Arduino prevede ad oggi una intera famiglia di board che si differenziano per capacità di elaborazione, tipologia di connettività disponibile, dimensioni e dotazione software/firmware cosi che chi vuole fare un progetto ha gia un dispositivo semplificato più o meno alle sue esigenze. Sono molto simili come costruzione, vi elenco i vari parametri cosi da darvi un'idea semplificata.

    -Arduino uno:



    Microcontroller ATmega328
    Tensione di funzionamento 5V
    Tensione di ingresso (consigliato) 7-12V
    Tensione di ingresso (limiti) 6-20V
    Pins Digital I / O 14 (di cui 6 forniscono PWM)
    Pins di ingresso analogici 6
    Corrente di CC per Pin O / I 40 mA
    Corrente di CC per Pin 3.3V 50 mA
    Memoria Flash 32 KB ( ATmega328 ) di cui 0,5 KB utilizzati dal bootloader
    SRAM 2 KB ( ATmega328 )
    EEPROM 1 KB ( ATmega328 )
    Velocità di clock 16 MHz

    -Arduino Leonardo:



    Microcontroller ATmega32u4
    Operating Voltage 5V
    Input Voltage (recommended) 7-12V
    Input Voltage (limits) 6-20V
    Digital I/O Pins 20
    PWM Channels 7
    Analog Input Channels 12
    DC Current per I/O Pin 40 mA
    DC Current for 3.3V Pin 50 mA
    Flash Memory 32 KB (ATmega32u4) of which 4 KB used by bootloader
    SRAM 2.5 KB (ATmega32u4)
    EEPROM 1 KB (ATmega32u4)
    Clock Speed 16 MHz

    -Arduino due:



    Microcontroller AT91SAM3X8E
    Operating Voltage 3.3V
    Input Voltage (recommended) 7-12V
    Input Voltage (limits) 6-16V
    Digital I/O Pins 54 (of which 12 provide PWM output)
    Analog Input Pins 12
    Analog Outputs Pins 2 (DAC)
    Total DC Output Current on all I/O lines 130 mA
    DC Current for 3.3V Pin 800 mA
    DC Current for 5V Pin 800 mA
    Flash Memory 512 KB all available for the user applications
    SRAM 96 KB (two banks: 64KB and 32KB)
    Clock Speed 84 MHz

    -Arduino yùn:



    Microcontroller ATmega32u4
    Operating Voltage 5V
    Input Voltage 5V
    Digital I/O Pins 20
    PWM Channels 7
    Analog Input Channels 12
    DC Current per I/O Pin 40 mA
    DC Current for 3.3V Pin 50 mA
    Flash Memory 32 KB (of which 4 KB used by bootloader)
    SRAM 2.5 KB
    EEPROM 1 KB
    Clock Speed 16 MHz
    Linux microprocessor
    Processor Atheros AR9331
    Architecture MIPS @400MHz
    Operating Voltage 3.3V
    Ethernet IEEE 802.3 10/100Mbit/s
    WiFi IEEE 802.11b/g/n
    USB Type-A 2.0 Host
    Card Reader Micro-SD only
    RAM 64 MB DDR2
    Flash Memory 16 MB
    PoE compatible 802.3af card support (see the note below)

    -Arduino tre:



    deve ancora uscire

    Microcontroller Atmel ATmega32u4
    Clock Speed 16 MHz
    Flash Memory 32 KB (ATmega32u4)
    SRAM 2.5 KB (ATmega32u4)
    EEPROM 1 KB (ATmega32u4)
    Digital I/O Pins (5V logic) 14
    PWM Channels (5V logic) 7
    Analog Input Channels 6 (plus 6 multiplexed on 6 digital pins)
    Processor Texas Instrument Sitara AM3359AZCZ100 (ARM Cortex-A8)
    Clock Speed 1 GHz
    SRAM DDR3L 512 MB RAM
    Networking Ethernet 10/100
    USB port 1 USB 2.0 device port, 4 USB 2.0 host ports
    Video HDMI (1920x1080)
    Audio HDMI, stereo analog audio input and output
    Digital I/O Pins (3.3V logic) 23
    PWM Channels (3.3V logic) 4
    MicroSD card
    Support LCD expansion connector

    -Arduino micro:



    icrocontroller ATmega32u4
    Operating Voltage 5V
    Input Voltage (recommended) 7-12V
    Input Voltage (limits) 6-20V
    Digital I/O Pins 20
    PWM Channels 7
    Analog Input Channels 12
    DC Current per I/O Pin 40 mA
    DC Current for 3.3V Pin 50 mA
    Flash Memory 32 KB (ATmega32u4) of which 4 KB used by bootloader
    SRAM 2.5 KB (ATmega32u4)
    EEPROM 1 KB (ATmega32u4)
    Clock Speed 16 MHz

    -Arduino robot:



    Microcontroller ATmega32u4
    Operating Voltage 5V
    Input Voltage 5V through flat cable
    Digital I/O Pins 5
    PWM Channels 6
    Analog Input Channels 4 (of the Digital I/O pins)
    Analog Input Channels (multiplexed) 8
    DC Current per I/O Pin 40 mA
    Flash Memory 32 KB (ATmega32u4) of which 4 KB used by bootloader
    SRAM 2.5 KB (ATmega32u4)
    EEPROM (internal) 1 KB (ATmega32u4)
    EEPROM (external) 512 Kbit (I2C)
    Clock Speed 16 MHz
    Keypad 5 keys
    Knob potentiomenter attached to analog pin
    Full color LCD over SPI communication
    SD card reader for FAT16 formatted cards
    Speaker 8 Ohm
    Digital Compass provides deviation from the geographical north in degrees
    I2C soldering ports 3
    Prototyping areas 4

    -Arduino esplora:



    Microcontroller ATmega32u4
    Operating Voltage 5V
    Flash Memory 32 KB of which 4 KB used by bootloader
    SRAM 2.5 KB
    EEPROM 1 KB
    Clock Speed 16 MHz

    -Arduino mega ADK:



    Microcontroller ATmega2560
    Operating Voltage 5V
    Input Voltage (recommended) 7-12V
    Input Voltage (limits) 6-20V
    Digital I/O Pins 54 (of which 15 provide PWM output)
    Analog Input Pins 16
    DC Current per I/O Pin 40 mA
    DC Current for 3.3V Pin 50 mA
    Flash Memory 256 KB of which 8 KB used by bootloader
    SRAM 8 KB
    EEPROM 4 KB
    Clock Speed 16 MHz
    USB Host Chip MAX3421E

    -Arduino ethernet:



    Microcontroller ATmega328
    Operating Voltage 5V
    Input Voltage Plug (recommended) 7-12V
    Input Voltage Plug (limits) 6-20V
    Input Voltage PoE (limits) 36-57V
    Digital I/O Pins 14 (of which 4 provide PWM output)
    Arduino Pins reserved:
    10 to 13 used for SPI
    4 used for SD card
    2 W5100 interrupt (when bridged)
    Analog Input Pins 6
    DC Current per I/O Pin 40 mA
    DC Current for 3.3V Pin 50 mA
    Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader
    SRAM 2 KB (ATmega328)
    EEPROM 1 KB (ATmega328)
    Clock Speed 16 MHz
    W5100 TCP/IP Embedded Ethernet Controller
    Power Over Ethernet ready Magnetic Jack
    Micro SD card, with active voltage translators

    -Arduino mega 2560:



    Microcontroller ATmega2560
    Operating Voltage 5V
    Input Voltage (recommended) 7-12V
    Input Voltage (limits) 6-20V
    Digital I/O Pins 54 (of which 15 provide PWM output)
    Analog Input Pins 16
    DC Current per I/O Pin 40 mA
    DC Current for 3.3V Pin 50 mA
    Flash Memory 256 KB of which 8 KB used by bootloader
    SRAM 8 KB
    EEPROM 4 KB
    Clock Speed 16 MHz

    -Arduino mini:



    Microcontroller ATmega328
    Operating Voltage 5V
    Input Voltage 7-9 V
    Digital I/O Pins 14 (of which 6 provide PWM output)
    Analog Input Pins 8 (of which 4 are broken out onto pins)
    DC Current per I/O Pin 40 mA
    Flash Memory 32 KB (of which 2 KB used by bootloader)
    SRAM 2 KB
    EEPROM 1 KB
    Clock Speed 16 MHz

    -Arduino lilyPad USB:



    Questa è una piattaforma flessibile.

    Microcontroller ATmega32u4
    Operating Voltage 3.3V
    Input Voltage 3.8V to 5V
    Digital I/O Pins 9
    PWM Channels 4
    Analog Input Channels 4
    DC Current per I/O Pin 40 mA
    Flash Memory 32 KB (ATmega32u4) of which 4 KB used by bootloader
    SRAM 2.5 KB (ATmega32u4)
    EEPROM 1 KB (ATmega32u4)
    Clock Speed 8 MHz

    Ci sono altre tre varianti di Lilypad:
    -Simple;
    -SimpleSnap;
    -LilyPad Arduino;

    -Arduino nano:



    Microcontroller Atmel ATmega168 or ATmega328
    Operating Voltage (logic level) 5 V
    Input Voltage (recommended) 7-12 V
    Input Voltage (limits) 6-20 V
    Digital I/O Pins 14 (of which 6 provide PWM output)
    Analog Input Pins 8
    DC Current per I/O Pin 40 mA
    Flash Memory 16 KB (ATmega168) or 32 KB (ATmega328) of which 2 KB used by bootloader
    SRAM 1 KB (ATmega168) or 2 KB (ATmega328)
    EEPROM 512 bytes (ATmega168) or 1 KB (ATmega328)
    Clock Speed 16 MHz
    Dimensions 0.73" x 1.70"

    -Arduino pro mini:



    Microcontroller ATmega168
    Operating Voltage 3.3V or 5V (depending on model)
    Input Voltage 3.35 -12 V (3.3V model) or 5 - 12 V (5V model)
    Digital I/O Pins 14 (of which 6 provide PWM output)
    Analog Input Pins 8
    DC Current per I/O Pin 40 mA
    Flash Memory 16 KB (of which 2 KB used by bootloader)
    SRAM 1 KB
    EEPROM 512 bytes
    Clock Speed 8 MHz (3.3V model) or 16 MHz (5V model)

    -Arduino Pro:



    Microcontroller ATmega168 or ATmega328
    Operating Voltage 3.3V or 5V
    Input Voltage 3.35 -12 V (3.3V versions) or 5 - 12 V (5V versions)
    Digital I/O Pins 14 (of which 6 provide PWM output)
    Analog Input Pins 6
    DC Current per I/O Pin 40 mA
    Flash Memory 16 KB (ATmega168) or 32KB (ATmega328) of which 2 KB used by bootloader
    SRAM 1 KB (ATmega168) or 2 KB (ATmega328)
    EEPROM 512 bytes (ATmega168) or 1 KB (ATmega328)
    Clock Speed 8 MHz (3.3V versions) or 16 MHz (5V versions)

    -Arduino fio:



    Microcontroller ATmega328P
    Operating Voltage 3.3V
    Input Voltage 3.35 -12 V
    Input Voltage for Charge 3.7 - 7 V
    Digital I/O Pins 14 (of which 6 provide PWM output)
    Analog Input Pins 8
    DC Current per I/O Pin 40 mA
    Flash Memory 32 KB (of which 2 KB used by bootloader)
    SRAM 2 KB
    EEPROM 1 KB
    Clock Speed 8 MHz


    Lì dove le periferiche a disposizione non bastino per i nostri progetti, possiamo acquistare una delle numerose “shield” attraverso le quali si estendono le potenzialità della scheda elettronica di base, aggiungendo per esempio la connessione ethernet, Wi-Fi, GPRS, un lettore di microSD e così via.



    Le espansioni servono per semplificare ancora di piu il nostro progetto o ampliarlo. Per esempio lo shield di I/O aumenta gli ingressi e le uscite del nostro arduino, se non ci bastano. Vi scrivo la lista dei vari shield:

    -GSM Shield;
    -Ethernet shield;
    -wifi shield;
    -wirless SD shield;
    -USB host shield;
    -motor shield;
    -I/O shield;
    -Wirless proto shield;
    -Proto shield;
    -lcd shield;

    e per il software?
    Per creare il programma in primis dovete creare un algoritmo, ovvero uno schema riassuntivo del funzionamento del vostro progetto. Dopo di chè vi create il programma. Per il programma andatevi a scaricare l'ide di arduino, ovvero l'ambiente di arduino dove poter programmare. il mio consiglio ora è di farvi uno schema hardware del progetto e il relativo programma, magari creando dei sottoprogrammi per semplificare il lavoro e il funzionamento.
    Questo è un esempio di un programma di arduino per lo spegnimento del filtro mediante un pulsante per dare da mangiare ai pesci.

    int pin1=2; //indichiamo il pin1 con il piedino 2 di arduino

    int pin3=3; //indichiamo il pin2 con il piedi 3

    void setup()
    {
    pinMode(pin1,INPUT);
    pinMode(pin3,OUTPUT);
    digitalWrite(pin1,HIGH);
    }
    void loop() //quando diamo da mangiare ai pesci
    //spingiamo il pulsante
    {
    if(digitalRead(pin1)==LOW) // quando il pulsante è stato
    { // schiacciato si spegne
    digitalWrite(pin3,HIGH); // il filtro per 2 minuti
    for (int x=0; x<120; x++) delay(1000);
    }
    else
    {
    digitalWrite(pin3,LOW); // appena finito si riaccende
    }
    }

    Bibliografia:

    -www.arduino.cc
    -Le mie conoscenze

    to be continued soon.....

    Gradite critiche, aggiunte e richiami ad errori :)