Archivi tag: arduino

Ardufonino 2.0

“IPHONE ZERO è il primo modello di iPhone, che Steve Jobs realizzò a 8 anni, nel garage di casa, collegando due lattine di coca-cola con un filo della biancheria e gridando “pronto!” in una delle due lattine mentre sua madre era in ascolto all’altra lattina.Ognuno può realizzarlo con le sue mani, a costo quasi nullo, personalizzando il regalo con una spiritosa cover di carta di giornale.”

ArduFonino è un cellulare opensource creato con arduino, capace di effettuare e ricevere chiamate e di inviare e ricevere messaggi, inoltre con la realizzazione di questo progetto ho voluto gettare le basi per la costruzione di un sistema telefonico elementare. L’idea mi è venuta per semplice curiosità, perché volevo fare qualcosa che nessuno avesse mai fatto, dimostrando a tutti che volere è potere.

Ardufonino adesso ha un software più performante rispetto a prima!

Ci sono molte novità rispetto a prima, per esempio:

  • Menù a scaletta
  • Dati batteria
  • Funzione di blocco
  • Funzione info
  • Software più leggere
  • Software semplificato
  • Nuove “animazioni”

download-icon

David Cuartielles test Ardufonino the maker faire Rome 2014.

Ecco cosa serve per costruire un Ardufonino

Vai su Amazon

Arduino & Project

In questa sezione troverete vari progetti e tutorial realizzati con il microcontrollore Arduino.

Per la realizzazione di alcuni progetti e necessaria una conoscenza basilare dell’elettronica e della programmazione con Arduino, i seguenti testi vi potranno essere di aiuto per iniziare.


Media Aritmetica

Con il metodo della media possiamo avere da un sensore poco preciso, delle letture migliori, ma richiede più tempo del previsto.

Ipotizziamo di voler leggere, con arduino, da un sensore ultrasuoni dei valori analogici, il modo più semplice è scrivere nel loop:

sensore = analogRead ( Ax)

Ax = pin analogico

Così facendo abbiamo una lettura immediata, ma se il nostro sensore ci da misure sballate come possiamo fare?

Qui entra in gioco la media delle letture, per realizzarla dovremmo semplicemente fare le seguenti cose:

byte misurazione[30]={};  create un Array nel quale metterete le letture che effettua il sensore( il numero compreso tra le parentesi quadre rappresenta il numero di letture della media).

int media,somma = 0;

byte contatore = 0;

– CALCOLO MEDIA

  1. void loop(void)
  2. {
  3. somma=0;
  4. media = 0
  5. for(c=0;c<=29;c++)//legge per 30 volte il sensore ad ultrasuoni
  6. {
  7. misurazione[c]=analogRead(A0);//leggo il valore dal piedino analogico A0
  8. somma=somma+misurazione[c];
  9. delay(1);
  10. }
  11. media = somma/30;
  12. Serial.println(sensore);
  13. delay(100);
  14. }

Per calcolare la media utilizziamo un ciclo for nel quale leggiamo per 30 volte il sensore e scriviamo per altre 30 volte il valore letto all’interno dell’array, una volta fatto ciò la media sarà uguale alla somma dei 30 valori diviso 30.

Arduino NOKIA LCD display

Questi piccoli display economici sono quelli utilizzati nel vecchio Nokia 5110, le loro dimensioni sono molto ridotte, appena 3×3 cm ed hanno una risoluzione di 84×48 pixel. Al loro interno troviamo il driver Philips PCD8544,che ci permetterà di poter comandare con il nostro microcotrollore arduino il display.

In questa pagina troverete come pilotare e collegare questo dispositivo .

Iniziamo dalla parte Hardware vedendo a cosa servono i pin:

  1. RST è il reset del dispositivo
  2. CE serve ad attivare il driver Philips
  3. DC ci permette di dire al driver di fare Write o Read
  4. Din è dove scorrono le informazioni
  5. CLK serve a sincronizzare i due dispositivi
  6. VCC alimentazione dello schermo
  7. BL accensione della retroilluminazione
  8. GND massa dello schermo

display connt comp
display basetta comp
All’interno del programma troverete dei define che vi indicheranno come collegare i PIN di arduino.

COLLEGAMENTI DA FARE:

NOKIA RESET     DC     CE     Din CLOCK    Vcc     BL   GND
ARDUINO      12     13     11     10      9    3,3V    3,3V   GND

All’interno del programma ci sono delle funzioni create dalla sparkfun che ci permetteranno di pilotare il display, e le principali sono:

  • gotoXY( ASSE X, ASSE Y)  :decidiamo in quale punto dello schermo scrivere ( valore MAX 84,84).
  • LcdClear() : cancella tutte le scritte sul display.
  • LcdString()  : ci permette di scrivere una parola o una frase sul display.
  • drawLine() : disegna una cornice.
  • SerialInitialise() : inizializza la seriale.
  • LcdInitialise() : inizializza LCD, questa funzione è molto importante, perchè ci permette di regolare il contrasto del display, il quale se troppo alto o troppo basso,  impedisce di osservare le scritte.

DOWNLOAD PROGRAMMA

download-icon

Arduino Matrice 4×4

Questa tastiera è composta da 16 pulsanti che possono essere letti in due modi:

  • -SINGOLARMENTE cioè utilizziamo 16 pin di arduino per leggere tutti i pulsanti.
  • -SISTEMA A MATRICE cioè utilizziamo un numero limitato di pin(nel nostro caso 8) per leggere sempre 16 pulsanti.

Per usare una tastiera 4×4 con arduino dovrete fare i seguenti collegamenti: keypadb

Le 8 resistenze devono avere tutte  lo stesso valore(nel nostro caso  1Kohm), il loro compito è quello di evitare cortocircuiti.

Il programma si può dividere in 3 parti:

  1. – lettura delle colonne valori: 0,1,2,3
  2. -lettura delle righe valori: 0,1,2,3
  3. – Calcolo del tasto = colonna + ( riga * 4 )

DOWNLOAD PROGRAMMA

download-icon

Arduino Display LCD 16×2

LCd

Questo LCD 16×2 retroilluminato è il display  utilizzato nell’ ArduFonino.

Ha 16 piedini:

  1. GND
  2. VCC
  3. V0 (Regolazione NERO delle lettere )
  4. RS register select
  5. Read / Write ( leggere o scrivere col microcontrollore )
  6. ENABLE  attivare o disattivare il display
  7. NON USATO
  8. NON USATO
  9. NON USATO
  10. NON USATO
  11. D4 pin di comunicazione
  12. D5 pin di comunicazione
  13. D6 pin di comunicazione
  14. D7 pin di comunicazione
  15. Retroilluminazione
  16. Retroilluminazione

LCD_bb

Comandi usati nell’ Ardufonino:

#include <LiquidCrystal.h>     Inseriamo la libreria arduino del display.

LiquidCrystal lcd(RS, EN, D4, D5 ,D6, D7);    va sempre messo in cima al programma, perchè serve a inizializzare i pin din arduino.

–   lcd.begin(Numero_colonne, Numero_righe);   va  messo nel setup.

lcd.print(numero);   scrivo una parola o una variabile.

lcd.setCursor(Asse_X, Asse_Y);    decido dove iniziare a scrivere.

lcd.clear();   cancello tutto.

lcd.createChar(0,ARRAY);   inserisco un Array 8×5 in una casella del display ( si usa pe fare dei simboli ).

 

 

Arduino CLOCK (Serial Monitor)

Questo è il modo più semplice per poter realizzare, con arduino , un orologio, senza l’utilizzo di componenti esterne.
Copiando questo Software nel vostro arduino, visualizzerete nel il serial monitor un orario (inizialmente impostato a 00:00:00) che cambierà ad ogni secondo.

00 (ORE):00 (MINUTI):00 (SECONDI)

Per impostare l’orario esatto vi basterà cambiare i valori delle sei variabili:

– secondi_unita
– secondi_decine
– minuti_unita
– minuti_decine
– ore_unita
– ore_decine

Se invece volete velocizzare il vostro conteggio vi basterà modificare il valore di #define CLOCK

 #define CLOCK 1000 //con questo define decidiamo il Clock del nostro orologio che normalmente è 1 Secondo
 // VARIANDO QUESTE 6 VARIABILI DECIDIAMO L'ORARIO INIZIALE DEL NOSTRO OROLOGIO
 byte secondi_unita=0;
  byte secondi_decine=0;
  byte minuti_unita=0;
  byte minuti_decine=0;
  byte ore_unita=0;
  byte ore_decine=0;
 void setup (void)
  {
  Serial.begin(57600);
  }
  void loop (void)
  {
  secondi_unita=secondi_unita+1;
  delay(CLOCK);
  if(secondi_unita>9)
  {
  secondi_unita=0;
  secondi_decine=secondi_decine+1;
  }
  if(secondi_decine>=6)
  {
  secondi_decine=0;
  minuti_unita=minuti_unita+1;
  }
  if(minuti_unita>9)
  {
  minuti_unita=0;
  minuti_decine=minuti_decine+1;
  }
  if(minuti_decine>=6)
  {
  minuti_decine=0;
  ore_unita=ore_unita+1;
  }
  if(ore_unita>9)
  {
  ore_unita=0;
  ore_decine=ore_decine+1;
  }
  if((ore_decine>=2)&&(ore_unita==4))
  {
  secondi_unita=0;
  secondi_decine=0;
  minuti_unita=0;
  minuti_decine=0;
  ore_unita=0;
  ore_decine=0;
  }
 Serial.print("                                                          ");
  Serial.print(ore_decine);
  Serial.print(ore_unita);
  Serial.print(":");
  Serial.print(minuti_decine);
  Serial.print(minuti_unita);
  Serial.print(":");
  Serial.print(secondi_decine);
  Serial.println(secondi_unita);
  }

 

FilipINO il robot pulitore

FilipINO è un robot nato per pulire il pavimento di casa in modo semplice, rapido ed economico.

Questo piccolo robot è composto da:

– Un driver per motori L298N che ci permette di controllare ben 2         motori.

2011052559723377_2

– 3 sensori ad ultrasuoni HC-SR04 per misurare le distanze di DESTRA/AVANTI/SINISTRA.

hc-sr04_ultrasonic_sensor

 

– 2 Pololu motor  da 6V  con rapporto 30:1.

POLOLU

Ecco come vanno fatti i collegamenti(nel programma i pin potrebbero essere diversi in tal caso cambiateli con un click 😉 ),per gli ultrasuoni dovete ovviamente usare 6 pin 2 per ogni ultrasuono.

hcsr04Arduino_UNO_L298N

 

La logica con cui opera filipINO è molto semplice, perchè non fa altro che analizzare le 3 distanze misurate dagli ultrasuoni,  decidendo dopo delle comparazioni, di andare nella direzione dove ha più spazio.

Scarica il programma cliccando sulla nuvola

download-icon

Alcuni componenti che potrebbero servirvi direttamente da Amazon.

      

 

ArduFonino 1.0 Start 1°

“IPHONE ZERO è il primo modello di iPhone, che Steve Jobs realizzò a 8 anni, nel garage di casa, collegando due lattine di coca-cola con un filo della biancheria e gridando “pronto!” in una delle due lattine mentre sua madre era in ascolto all’altra lattina.Ognuno può realizzarlo con le sue mani, a costo quasi nullo, personalizzando il regalo con una spiritosa cover di carta di giornale.”

ArduFonino è un cellulare opensource creato con arduino, capace di effettuare e ricevere chiamate e di inviare e ricevere messaggi, inoltre con la realizzazione di questo progetto ho voluto gettare le basi per la costruzione di un sistema telefonico elementare. L’idea mi è venuta per semplice curiosità, perché volevo fare qualcosa che nessuno avesse mai fatto, dimostrando a tutti che volere è potere.

 

Clicca qui per vedere la Versione 2.0

 

ArduFonino è composto da 3 parti: 


-Shield di interfacciamento, è la parte con la quale controlliamo il telefono, è costituita da una tastiera di 11 pulsanti, da un display LCD retroilluminato, da un microfono, da un altoparlante, da un trimmer e da 13 resistenze. La disposizione dei componenti è quasi uguale a quella dei vecchi cellulari con tastiera, per via della sua  enorme comodità, inoltre questa interfaccia può essere collegata sia ad un arduino UNO e ad un arduino MEGA.

keyboard-shield comp

-Shield GSM, un circuito che ci permette appunto di ricevere ed inviare chiamate e messaggi, per pilotarlo utilizzeremo dei comandi AT che arduino invierà tramite una comunicazione seriale . Questa shield a integrata l’uscita e l’ingresso audio (tramite un connettore jack), l’antenna ed un modulino GSM.

Compra la tua prima Shield GSM

Arduphone comp

 

-Arduino UNO, un microcontrollore che funzina a 16 Mhz, con 13 pin digitali e 6 analogici è il componente più importante del progetto, perché permette, la realizzazione vera e propria del cellulare, dato che fa da tramite tra le due shield.

Compra il tuo primo Arduino Uno

arduino_uno_large comp

freccia a destra