Tag: arduino

3 Replies

Aggiungere librerie all’IDE di Arduino

In questo articolo vedremo una cosa semplice, ma non scontata per tutti, ovvero aggiungere librerie all’IDE di Arduino.
Supponiamo di voler caricare lo  sketch sul  sensore di umidità e temperatura DHT22 che potete trovare qui. Se non abbiamo la libreria di questo sensore, compilando lo sketch avremo questo errore, che ci dice appunto che manca un file: arduino dht22 compilation error Andiamo quindi su internet a cercare la libreria che ci interessa, nel nostro caso si trova qui. La struttura di una libreria è una cartella che contiene almeno un file .cpp e un file .h per ogni libreria. In genere contiene anche una cartella “examples”, che contiene degli esempi. DHT22 library folder Il  nome della cartella può contenere solo lettere, numeri e underscores, quindi nel nostro caso, dovremo rinominare da DHT-sensor-library-master.zip a DHT_sensor_library_master.zip . Per aggiungere la libreria, non dobbiamo far altro che che aggiungerla nella cartella libraries, che si trova nella stessa cartella dove abbiamo salvato Arduino. Riavviamo Arduino e lui la riconoscerà, e ne aggiungerà gli esempi alla lista degli esempi. DHT22 library folder


Leave a reply

Arduino for Noobs – Tutorial #2

Eccoci con il secondo videotutorial sulla programmazione Arduino per nabbi!

In questo secondo tutorial Arduino, vedremo l’utilizzo di alcune funzione della comunicazione seriale in Arduino.

 


28 Replies

Arduino 3G Gps shield library

Leggi in ITALIANO.

Arduino 3G Gps shield

Arduino 3G Gps shield

On this page you can find the descriptions of the Arduino 3G Gps shield library. The library is still in a beta version, so please report any malfunction or suggestions..


Leave a reply

Size led resistor Arduino

LED

When we have an Arduino project  in which there is an LED that is powered through a pin, one would think that it is enough to connect it to the pin and GND. But is it correct?

To take away the doubt we can try to plug it in, and we would see that the LED lights without any problems.

This type of connection is not recommended except for a short time, because the LED has a very low resistance, so an high current will circulate, and may damage the LED and the pin, which can deliver up to 40mA.
We must then insert a resistor in series with the LED, and size it using the first principle of Kirchhoff.

R=V/I

where V is not just the voltage of the Arduino’s pin (5V), but it subtracted the voltage ai capi del led,  which depends on the color of the LED.

  •  red: 1,8 V
  •  yellow: 1,9 V
  •  green: 2,0 V
  •  orange: 2,0 V
  •  blue: 3,0 V
  •  white: 3,0 V

I is the maximum current that can withstand the LED without burning, and ranges from 15-25 mA.

for example if we use a red LED, the resitance will be:

R=(5-1.8)/0,02=160Ω


2 Replies

Sensore a ultrasuoni HC-SR04 + Arduino

hc-sr04

In questo articolo vedremo come misurare distanze con il sensore a ultrasuoni HCSR04.

INGREDIENTI:
-1x Arduino UNO
-1x Bredboard
-1x Sensore a ultrasuoni HCSR04
-Cavetti vari

Gli ultrasuoni sono delle onde sonore non udibili all’orecchio umano. Per misurare le distanze si usa la capacità delle onde di riflettersi sugli oggetti;  Viene mandata un’onda e si misura il tempo che impiega per tornare indietro.
Sapendo poi la velocità del suono nell’aria, si può calcolare la distanza con la semplice equazione S=VxT V è la velocità del suono, che per comodità, si può assumere il suo valore a 20°, ovvero 331.4m/s; Se si hanno elevate variazione di temperatura, per avere risultati accurati, è opportuno calcolare la velocità con la formula V = 331.4 + 0.62*t.
Per avere un risultato apprezzabile, ci conviene convertire la velocità in cm/ms (centimetri al microsecondo) in modo da ottenere il risultato in centimetri. Il nuovo valore di V sarà quindi pari a  3.4*10^-2 cm/microsec. Per avere informazioni dal sensore, bisogna mettere il pin trigger a stato logico alto per almeno 10 microsecondi. Il sensore emetterà le onde e aspetterà il loro ritorno, poi manderà un un impulso di stato logico alto al pin echo, della stessa duranta del tempo impiegato dall’onda  per compiere il suo percorso.
Il tempo T restituitoci dal sensore, è quello impiegato dall’onda per andare e tornare in microsecondi, quindi dobbiamo dividerlo per due per avere il tempo trascorso prima di essere riflesso. lo schema da realizzare è il seguente:
HC-SR04
lo sketch da caricare su arduino:

//Creato da Mohamed Fadiga momodesine@hotmail.it
int trigger=7;
int echo=8;

void setup()
{
  pinMode(trigger,OUTPUT);
  pinMode(echo,INPUT);
  Serial.begin(9600);
}

void loop()
{
  digitalWrite(trigger,LOW);
  digitalWrite(trigger,HIGH);
  delayMicroseconds(10);
  digitalWrite(trigger,LOW);
  long duration=pulseIn(echo,HIGH);
  long distance=0.017*duration;
  Serial.print("distanza:  ");
  //dopo 38ms è fuori dalla portata del sensore
  if(duration < 40000)Serial.println("fuori portata");
  else
  {
    Serial.print(distance);
    Serial.println("cm");
  }
  delay(1500);
}

31 Replies

Insert parameters e password whith Arduino + LCD + Keypad + Servo

In questo articolo vedremo come sfruttare un keypad 4×4 e un display LCD per permettere a l’utente di inserire parametri come dati o password.
Utilizzeremo questo metodo per attivare un servo dopo l’inserimento di una password dalla tastiera

INGREDIENTI:
-1x Arduino UNO
-1x Bredboard
-1x Display LCD
-1x Potenziometro da 10 kΩ (opzionale)
-1x Keypad 4×4
-1x Servo
-Cavetti vari

lo schema da realizzare:

servo_lcd_password

lo scketch per arduino:

//Creato da Mohamed Fadiga momodesine@hotmail.it

#include  //include la libreria per la gestione del display LCD
#include  //include la libreria per la gestione del keypad
#include  //include la libreria per la gestione del servo

LiquidCrystal lcd(10,11,A0,A1,A2,A3); //Imposta i pin di Arduino a quali sono collegati in pin del display (Rs,E,DB4,DB5,DB6,DB7)

byte colPins[4] = {5,4,3,2};
byte rowPins[4] = {9,8,7,6};

char Keys[4][4]= //creo la matrice dei tasti della tastiera.
{
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

Keypad keyp = Keypad(makeKeymap(Keys), rowPins, colPins,4,4);
Servo myservo;
char key='\0';
int lum_pin=12;
long inst_time;
char risp[16];
byte close_val=0;
byte open_val=180;

void setup()
{
  pinMode(lum_pin,OUTPUT);
  analogWrite(lum_pin,0);
  lcd.begin(16, 2);
  Serial.begin(9600);
  myservo.attach(A4);
  myservo.write(close_val);
}

void loop()
{
  lcd.clear();
  lcd.print("Premi '*'");
  key=keyp.getKey();
  while(key!='*')key=keyp.getKey();
  analogWrite(lum_pin,255);
  int ans=get_param("Ins. Password","0123456789",risp,true);
  if(ans==1)
  {
    lcd.print("Apertura...");
    myservo.write(open_val);
    delay(5000);
    lcd.clear();
    lcd.print("Chiusura...");
    myservo.write(close_val);
  }
  else if (ans==2)
  {
    lcd.print("Pass errata!");
    delay(2000);
  }
  analogWrite(lum_pin,0);
}

boolean get_param(char* question, char* answer, char* param,boolean isPassword )
{
  byte j=0;
  lcd.clear();
  lcd.print(question);
  lcd.setCursor(j,1);
  lcd.blink();
  inst_time=millis();
  do
  {
    lcd.setCursor(j,1);
    key=keyp.getKey();
jump_key:
    if(key)inst_time=millis();
    if((key=='*')||(key=='#'))break;
    else if (key=='C'&&j>0)
    {
      param[j]='\0';
      j--;
      lcd.setCursor(j,1);
      lcd.write(" ");
    }
    else if(key=='B'||key=='D'||key=='A');
    else if (key)
    {
      param[j]=key;
      j++;
      lcd.print(key);
      if(isPassword)
      {
        long pass_wait=millis();
        do key=keyp.getKey();
        while(((millis()-pass_wait)<1000)&&(!key));
        lcd.setCursor(j-1,1);
        lcd.write('*');
        if(key)goto jump_key;
      }
    }
  }
  while((millis()-inst_time)<10000&&j<17);
  param[j]='\0';
  lcd.clear();
  if(key=='*')
  {
    Serial.println(param);
    if(!strcmp(param,answer))return 1;
    else return 2;
  }
  else return 0;
}

30 Replies

Temperature and humidity sensor DHT22 + Arduino + LCD display

In questo precendente articolo abbiamo visto come utilizzare il sensore DHT22 con Arduino e mandare i valori di umidità e temperatura sul Serial monitor. Ora vedremo invece come crivere i dati ricevuti dal sensore su un display LCD.INGREDIENTI: – 1x Arduino UNO – 1x Sensore DHT22 -1x Resistenza da 10 kΩ -1x Bredboard -1x Display LCD -1x Potenziometro da 10 kΩ -Cavetti vari


65 Replies

Temperature and humidity sensor DHT22 + Arduino

humidity-temperature-sensor-dht22
In questo articolo vedremo come rilevare misure di temperatura e umidità con il sensore DHT22 e Arduino.

INGREDIENTI:
– 1x Arduino UNO
– 1x Sensore DHT22
– 1x Resistenza da 10 kΩ
– 1x Bredboard
– Cavetti vari (more…)


2 Replies

Measuring temperature with thermistor + Arduino

Leggi in ITALIANO

In this article we will see how to measure the temperature thanks to Arduino and a thermistor.

INGREDIENTS:

1x Arduino UNO

1x 4.7 kΩ resistor

1x Thermistor (in this article the 159-282-86001) (more…)