- Components necessaris:
- Esquema de connexions:
- Arduino Uno:
- LCD de 16 x 2:
- Concepte de codi de color de resistència:
- Càlcul de resistència mitjançant el mesurador Arduino Ohm:
- Explicació del codi:
Ens resulta difícil llegir els codis de color de les resistències per trobar-ne la resistència. Per tal de superar la dificultat de trobar el valor de resistència, construirem un simple Ohm Meter mitjançant Arduino. El principi bàsic d’aquest projecte és una xarxa divisòria de tensió. El valor de la resistència desconeguda es mostra a la pantalla LCD de 16 * 2. Aquest projecte també serveix com a interfície de pantalla LCD de 16 * 2 amb Arduino.
Components necessaris:
- Arduino Uno
- Pantalla LCD de 16 * 2
- Potenciòmetre (1 quilo Ohm)
- Resistències
- Taula de pa
- Filferros de pont
Esquema de connexions:

Arduino Uno:
Arduino Uno és una placa de microcontrolador de codi obert basada en el microcontrolador ATmega328p. Té 14 pins digitals (dels quals 6 pins es poden utilitzar com a sortides PWM), 6 entrades analògiques, reguladors de tensió a la placa, etc. Arduino Uno té 32 KB de memòria flash, 2 KB de SRAM i 1 KB de EEPROM. Funciona a la freqüència de rellotge de 16 MHz. Arduino Uno admet la comunicació Serial, I2C, SPI per comunicar-se amb altres dispositius. La taula següent mostra les especificacions tècniques d’Arduino Uno.
| Microcontrolador | ATmega328p |
| Tensió de funcionament | 5V |
| Voltatge d'entrada | 7-12V (recomanat) |
| Pines d'E / S digitals | 14 |
| Pins analògics | 6 |
| Memòria flash | 32 KB |
| SRAM | 2 KB |
| EEPROM | 1 KB |
|
Velocitat del rellotge |
16 MHz |
LCD de 16 x 2:
16 * 2 LCD és una pantalla àmpliament utilitzada per a aplicacions incrustades. Aquí teniu una breu explicació sobre els pins i el funcionament de la pantalla LCD de 16 * 2. Hi ha dos registres molt importants dins de la pantalla LCD. Són registre de dades i registre d’ordres. El registre d’ordres s’utilitza per enviar ordres com ara la visualització neta, el cursor a casa, etc., el registre de dades s’utilitza per enviar dades que es mostraran a la pantalla LCD de 16 * 2. A la taula següent es mostra la descripció del pin de 16 * 2 lcd.
|
Pin |
Símbol |
E / S |
Descripció |
|
1 |
Vss |
- |
Terra |
|
2 |
Vdd |
- |
Alimentació + 5V |
|
3 |
Vee |
- |
Font d'alimentació per controlar el contrast |
|
4 |
RS |
Jo |
RS = 0 per al registre d'ordres, RS = 1 per al registre de dades |
|
5 |
RW |
Jo |
R / W = 0 per a escriptura, R / W = 1 per a lectura |
|
6 |
E |
E / S |
Activa |
|
7 |
D0 |
E / S |
Bus de dades de 8 bits (LSB) |
|
8 |
D1 |
E / S |
Bus de dades de 8 bits |
|
9 |
D2 |
E / S |
Bus de dades de 8 bits |
|
10 |
D3 |
E / S |
Bus de dades de 8 bits |
|
11 |
D4 |
E / S |
Bus de dades de 8 bits |
|
12 |
D5 |
E / S |
Bus de dades de 8 bits |
|
13 |
D6 |
E / S |
Bus de dades de 8 bits |
|
14 |
D7 |
E / S |
Bus de dades de 8 bits (MSB) |
|
15 |
A |
- |
+ 5V per a la llum de fons |
|
16 |
K |
- |
Terra |
Concepte de codi de color de resistència:
Per identificar el valor de la resistència podem utilitzar la fórmula següent.
R = {(AB * 10 c) Ω ± T%}
On
A = Valor del color a la primera banda.
B = Valor del color a la segona banda.
C = Valor del color a la tercera banda.
T = Valor del color a la quarta banda.
La taula següent mostra el codi de color de les resistències.
|
Color |
Valor numèric del color |
Factor de multiplicació (10 c) |
Valor de tolerància (T) |
|
Negre |
0 |
10 0 |
- |
|
Marró |
1 |
10 1 |
± 1% |
|
Vermell |
2 |
10 2 |
± 2% |
|
taronja |
3 |
10 3 |
- |
|
Groc |
4 |
10 4 |
- |
|
Verd |
5 |
10 5 |
- |
|
Blau |
6 |
10 6 |
- |
|
violeta |
7 |
10 7 |
- |
|
Gris |
8 |
10 8 |
- |
|
Blanc |
9 |
10 9 |
- |
|
Daurat |
- |
10 -1 |
± 5% |
|
Plata |
- |
10 -2 |
± 10% |
|
Cap banda |
- |
- |
± 20% |
Per exemple, si els codis de color són Marró - Verd - Vermell - Plata, el valor de la resistència es calcula com, Marró = 1 Verd = 5 Vermell = 2 Plata = ± 10%
De les tres primeres bandes, R = AB * 10 c
R = 15 * 10 +2 R = 1500 Ω
La quarta banda indica una tolerància del ± 10%
10% de 1500 = 150 Per a + 10 per cent, el valor és 1500 + 150 = 1650Ω Per a - 10 per cent, el valor és 1500 -150 = 1350Ω
Per tant, el valor de resistència real pot estar entre 1350Ω i 1650Ω.
Per fer-ho més convenient, aquí teniu la calculadora de codis de colors de resistència, on només heu d’introduir el color dels anells de la resistència i obtindreu el valor de resistència.
Càlcul de resistència mitjançant el mesurador Arduino Ohm:
El funcionament d’aquest mesurador de resistència és molt senzill i es pot explicar mitjançant una xarxa divisòria de tensió simple que es mostra a continuació.
Des de la xarxa divisòria de tensió de les resistències R1 i R2, Vout = Vin * R2 / (R1 + R2)
A partir de l’equació anterior, podem deduir el valor de R2 com
R2 = Vout * R1 / (Vin - Vout)
On R1 = resistència coneguda
R2 = Resistència desconeguda
Vin = tensió produïda al pin de 5V d'Arduino
Vout = tensió a R2 respecte a terra.
Nota: el valor de la resistència coneguda (R1) escollit és de 3,3 KΩ, però els usuaris haurien de substituir-lo pel valor de resistència de la resistència que hagin escollit.

Per tant, si obtenim el valor de la tensió a través de la resistència desconeguda (Vout), podem calcular fàcilment la resistència desconeguda R2. Aquí hem llegit el valor de tensió Vout mitjançant el pin analògic A0 (vegeu el diagrama del circuit) i hem convertit aquests valors digitals (0 -1023) en tensió, tal com s’explica al codi següent.
Si el valor de la resistència coneguda és molt major o menor que la resistència desconeguda, l'error serà més gran. Per tant, es recomana mantenir el valor de resistència conegut més proper a la resistència desconeguda.
Explicació del codi:
El programa complet d'Arduino i el vídeo de demostració d'aquest projecte es donen al final d'aquest projecte. El codi es divideix en petits trossos significatius i s’explica a continuació.
En aquesta part del codi, definirem els pins on es connecta la pantalla LCD de 16 * 2 a Arduino. El pin RS de 16 * 2 lcd està connectat al pin digital 2 d'Arduino. Activar el pin de 16 * 2 lcd està connectat al pin digital 3 d'Arduino. Els pins de dades (D4-D7) de 16 * 2 lcd estan connectats als pins digitals 4,5,6,7 d’Arduino.
LiquidCrystal lcd (2,3,4,5,6,7); // rs, e, d4, d5, d6, d7
En aquesta part del codi, estem definint algunes variables que s’utilitzen al programa. Vin és el voltatge proporcionat per un pin d'arduino de 5V. Vout és la tensió de la resistència R2 respecte a terra.
R1 és el valor de la resistència coneguda. R2 és el valor de la resistència desconeguda.
int Vin = 5; // tensió a 5V pin d'arduino float Vout = 0; // tensió a A0 pin del flotador arduino R1 = 3300; // valor del flotador de resistència conegut R2 = 0; // valor de resistència desconeguda
En aquesta part del codi, inicialitzarem la pantalla lcd de 16 * 2. Les ordres es donen a la pantalla lcd de 16 * 2 per a diferents paràmetres, com ara la pantalla neta, la visualització al cursor parpellejant, etc.
lcd.begin (16,2);
En aquesta part del codi, el voltatge analògic a la resistència R2 (pin A0) es converteix en valor digital (0 a 1023) i s’emmagatzema en una variable.
a2d_data = analogRead (A0);
En aquesta part del codi, el valor digital (de 0 a 1023) es converteix en tensió per a més càlculs.
buffer = a2d_data * Vin; Vout = (memòria intermèdia) /1024.0;
L' Arduino Uno ADC té una resolució de 10 bits (per tant, els valors enters de 0 - 2 ^ 10 = 1024 valors). Això significa que maparà les tensions d'entrada entre 0 i 5 volts en valors enters entre 0 i 1023. Per tant, si multipliquem anlogValue d' entrada a (5/1024), obtindrem el valor digital del voltatge d'entrada. Obteniu informació sobre com utilitzar l'entrada ADC a Arduino.
En aquesta part del codi, el valor real de la resistència desconeguda es calcula mitjançant el procediment tal com s'ha explicat anteriorment.
buffer = Vout / (Vin-Vout); R2 = R1 * memòria intermèdia;
En aquesta part del codi, el valor de la resistència desconeguda s’imprimeix a la pantalla de 16 * 2 lcd.
lcd.setCursor (4,0); lcd.print ("ohm metre"); lcd.setCursor (0,1); lcd.print ("R (ohm) ="); lcd.print (R2);
És a dir, podem calcular fàcilment la resistència d’una resistència desconeguda mitjançant Arduino. Comproveu també:
- Mesurador de freqüència Arduino
- Mesurador de capacitat Arduino
