Serwisy partnerskie:
Close icon
Serwisy partnerskie

Wartość ADC na LCD przy użyciu Arduino

Article Image
Kompletny poradnik, krok po kroku pokazujący jak wyświetlić wartość ADC na wyświetlaczu ciekłokrystalicznym używając Arduino w Proteus ISIS.
1. Praktyczny Kurs Arduino - przewodnik po artykułach składających się na kurs 2. Czym jest Arduino? 3. Porównanie Arduino z Raspberry Pi 4. Instalacja sterownika Arduino w systemie Windows 5. Generowanie pliku hex w Arduino 6. Jak wgrać bootloader w Atmega328? 7. Rozpoczęcie pracy z oprogramowaniem Arduino 8. Rozpoczęcie programowania w Arduino 9. Programowe resetowanie Arduino 10. Wprowadzenie do Arduino UNO 11. Wprowadzenie do Arduino NANO 12. Wprowadzenie do Arduino Pro Mini 13. Wprowadzenie do Arduino Mega 2560 14. Wprowadzenie do Arduino Due 15. Wprowadzenie do Arduino Lilypad 16. Wprowadzenie do ATmega328 17. Biblioteka Arduino dla Proteusa 18. Projekt płytki drukowanej Arduino UNO dla Proteus ARES 19. Biblioteka Arduino Lilypad dla Proteusa 20. Odczyt z portu szeregowego Arduino 21. Projektowanie układów LCD z Arduino 22. Łączenie klawiatury z Arduino 23. Wartość ADC na LCD przy użyciu Arduino 24. Symulacja czujnika ultradźwiękowego w Proteusie 25. Połączenie czujnika ultradźwiękowego z Arduino 26. Wiele czujników ultradźwiękowych z Arduino 27. Czujnik temperatury 18B20 z Arduino 28. Jak używać 18B20 w Proteus ISIS? 29. Łączenie LM35 z Arduino w Proteusie 30. Współpraca siedmiosegmentowego wyświetlacza z Arduino w Proteusie 31. Łączenie czujnika PIR z Arduino 32. Współpraca czujnika płomienia z Arduino 33. Interfejs NRF24L01 z Arduino 34. NRF24L01+ i Arduino - Response Timed Out 35. Połączenie RFID RC522 z Arduino 36. Komunikacja Bluetooth z Arduino przy użyciu HC05 37. Sterowanie serwomotorem za pomocą Arduino w Proteusie 38. Projekt sterowania sygnalizacją świetlną przy użyciu Arduino 39. Przewijanie tekstu na matrycy LED 8×8 z użyciem Arduino 40. Inteligentny system oszczędzania energii 41. Komunikacja USB pomiędzy Androidem i Arduino 42. Automatyka domowa z użyciem XBee i Arduino 43. Domowy system bezpieczeństwa oparty na GSM 44. Wysyłanie SMS-ów za pomocą Arduino UNO i SIM900 45. Odbieranie SMS-ów za pomocą komend AT przy użyciu Arduino 46. Projekt rozpoznawania głosu przy użyciu EasyVR Shield 47. Rozpoczęcie pracy z programem EasyVR Commander 48. Połączenie EasyVR z Arduino UNO 49. Błąd szkolenia - niepowodzenie rozpoznawania w EasyVR 50. Połączenie XBee z komputerem 51. Wprowadzenie do modułu XBee 52. Interfejs XBee z Arduino 53. Rozpoczęcie pracy z kamerą Pixy 54. Jak zainstalować oprogramowanie kamery Pixy - PixyMon 55. Aktualizacja firmware kamery Pixy do najnowszej wersji 56. Jak wytrenować kamerę Pixy za pomocą komputera 57. Sterowanie kierunkiem obrotu silnika prądu stałego za pomocą Arduino 58. Sterowanie prędkością obrotów silnika prądu stałego za pomocą Arduino 59. Sterowanie kierunkiem obrotu silnika krokowego za pomocą Arduino 60. Sterowanie prędkością obrotów silnika krokowego za pomocą Arduino 61. Pobieranie danych z serwera internetowego za pomocą Arduino Wi-Fi 62. Wprowadzenie do Arduino YUN 63. Dostęp do serwera Linux Arduino YUN za pomocą Putty
Rozwiń cały spis treści Zwiń spis treści

Witajcie przyjaciele, mam nadzieję, że wszystko u was w porządku i macie się dobrze. 

W dzisiejszym projekcie zobaczymy, jak wyświetlić wartość ADC na wyświetlaczu LCD przy użyciu Arduino w Proteus ISIS. Jest to dość prosty projekt, w którym będziemy mierzyć napięcie na pinach przetwornika ADC, a następnie wyświetlać je na LCD. Mikrokontroler, którego używam w tym projekcie to Arduino. Symulacja została zaprojektowana w programie Proteus ISIS. JEŚLI pracujesz na mikrokontrolerze PIC, to powinieneś rzucić okiem na to jak wyświetlać wartość ADC na LCD używając mikrokontrolera PIC w Proteus ISIS.

Arduino posiada 10 bitowe piny ADC, więc za każdym razem, gdy podamy napięcie na te piny, poda nam wartość z zakresu od 0 do 1023 w zależności od podanego napięcia. Można łatwo uzyskać tę wartość za pomocą prostej funkcji w Arduino – analogRead(); – ale prawdziwym problemem jest przekonwertowanie tej wartości analogowej na rzeczywiste napięcie obecne na pinie. Załóżmy, że używasz pinu A0 Arduino i dostarczasz 3,3 V do tego pinu. Teraz, kiedy używasz funkcji analoagRead(), to da ci jakąś wartość, powiedzmy 543, ale chcesz wiedzieć jakie jest rzeczywiste napięcie na tym pinie, które wynosi 3,3 V, więc teraz konwersja tego 543 do 3,3 jest trochę podchwytliwą kwestią. Nie jest to trudne, ale wymaga trochę obliczeń, które dziś szczegółowo omówię. Zanim przejdziesz dalej, upewnij się, że masz już zainstalowaną bibliotekę Arduino dla Proteusa. Jeśli nie, to najpierw to zrób, ponieważ bez tej biblioteki nie będziesz w stanie używać Arduino w Proteusie. Tak więc, zacznijmy od tego jak wyświetlić wartość ADC na LCD używając Arduino.

Wyświetlanie wartości ADC na LCD przy użyciu Arduino w Proteus ISIS

Podzieliłem ten poradnik na to jak wyświetlić wartość ADC na LCD przy użyciu Arduino na kilka kroków. Wykonaj te kroki uważnie i jeśli natrafisz do jakieś problemy, zadaj pytania w komentarzach i postaram się jak najlepiej, aby je rozwiązać. Wszystkie materiały do pobrania są podane na końcu kroku 1, ale sugeruję, że można zaprojektować własne tak, że popełniasz własne błędy i uczyć się na nich. Ponadto, powinieneś również spojrzeć na projekty Arduino dla początkujących. W każdym razie, zaczynajmy.

Krok 1: Projektowanie obwodów w Proteusie

Po pierwsze, zaprojektowałem układ w Proteusie do wyświetlania wartości ADC na LCD przy użyciu Arduino.

W tym obwodzie użyłem dwóch transformatorów, które nazwałem transformatorem potencjału i transformatorem prądu. Do tych transformatorów doprowadzam napięcie 220 V, które następnie jest zamieniane na 5 V.

Wybrałem transformatory o takiej przekładni uzwojeń aby dawały maksymalnie 5 V na wyjściu.

Teraz, reszta układu jest prosta, po prostu podłączyłem LCD z Arduino, abyśmy mogli wyświetlać wartości ADC na LCD.

Uwaga: Przed podłączeniem dowolnego pinu do ADC należy upewnić się, że napięcie wyjściowe powinno być mniejsze niż 5 V. W przeciwnym razie istnieje prawdopodobieństwo, że pin się przepali. Jeśli nie wiesz za dużo o LCD, to przeczytaj projektowanie obwodu LCD z Arduino w Proteusie. Powinieneś także ściągnąć tę nową bibliotekę LCD dla Proteusa.

Oto schemat układu do wyświetlania wartości ADC na LCD przy użyciu Arduino w Proteus ISIS:

Możesz pobrać symulację Proteusa i plik hex dla Arduino do wyświetlania wartości ADC na LCD przy użyciu Arduino klikając link na końcu artykułu.

Jest to dość proste i niewymagające wyjaśnień. Po zaprojektowaniu schematu układu, przejdźmy do drugiego kroku, którym jest zaprojektowanie kodu do wyświetlania wartości ADC na LCD przy użyciu Arduino.

Krok 2 Projektowanie kodu Arduino

Teraz skopiuj poniższy kod i wklej go do programu Arduino. Skompiluj swój kod i uzyskaj plik heksadecymalny Arduino.

Jeśli nie wiesz jak uzyskać plik hex z Arduino to przeczytaj bibliotekę Arduino dla Proteusa. Wyjaśniłem to tam szczegółowo.

#include <LiquidCrystal.h>
#define NUM_SAMPLES 10

int sum = 0;
unsigned char sample_count = 0;
float voltage = 0.0;

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int PT = A0;
const int CT = A1;
float Cur;
float Vol;
float Power;

void setup() {
// ustawianie liczby kolumn i wierszy LCD:
lcd.begin(20, 4);
// Wyświetl komunikat na LCD.
lcd.setCursor(6,1);
lcd.print("Welcome To");
lcd.setCursor(5,2);
lcd.print("Energy Meter");
//delay(5000);
lcd.clear();

Constants();
}

void loop() {
lcd.setCursor(0, 2);
ShowVoltage(9, 0, PT);
Vol = voltage;
ShowVoltage(9, 1, CT);
Cur = voltage;
Power = Vol * Cur;
lcd.setCursor(7,2);
lcd.print(Power);
}

void Constants()
{
lcd.setCursor(0,0);
lcd.print("Voltage: ");
lcd.setCursor(0,1);
lcd.print("Current: ");
lcd.setCursor(0,2);
lcd.print("Power: ");
lcd.setCursor(14,0);
lcd.print("V");
lcd.setCursor(14,1);
lcd.print("A");
lcd.setCursor(12,2);
lcd.print("W");
}

void ShowVoltage (int x,int y, unsigned int value)
{
while (sample_count < NUM_SAMPLES)
{
sum += analogRead(value);
sample_count++;
delay(10);
}

voltage = ((float)sum / (float)NUM_SAMPLES * 5.015) / 1024.0;
lcd.setCursor(x, y);
lcd.print(voltage);
sample_count = 0;
sum = 0;
}

Kod jest dość prosty i niewymagający wyjaśnień, jedyną trudnością jest funkcja ShowVoltage. W tej funkcji, najpierw wziąłem średnią z 10 wartości ADC, a następnie zastosowałem na nich prostą formułę, a wtedy zacznie podawać wartości napięcia, które po prostu wyświetliłem na LCD.

Teraz wszystko jest gotowe, więc pobierz swój plik Hex z oprogramowania Arduino i sprawdźmy wyniki. Czy wyświetliły wartość ADC na LCD używając Arduino czy nie?

Krok 3: Rezultat

Zaprojektowaliśmy układ elektroniczny w Proteusie, a także zaprojektowaliśmy nasz kod i wgraliśmy plik hex do Arduino.

Teraz naciśnij przycisk start i zobaczysz coś takiego:

Teraz jeśli porównamy napięcia w woltomierzu i na LCD, zobaczymy, że są dokładnie takie same. Możesz sprawdzić wartość zmiennego rezystora, a wartości na wyświetlaczu LCD również będą się zmieniać wraz ze zmianą napięcia na woltomierzu.

To wszystko na dziś, mam nadzieję, że przekazałem dziś trochę wiedzy i teraz możesz łatwo wyświetlać wartość ADC na LCD używając Arduino.

W następnym poście poznamy więcej funkcji Arduino.

Do tego czasu dbajcie o siebie i bawcie się dobrze!

Do pobrania
Download icon Pobierz symulację Proteusa i plik hex Arduino

Artykuł ADC value on LCD using Arduino opracowano w wersji polskiej na podstawie współpracy z portalem www.theengineeringprojects.com.

1. Praktyczny Kurs Arduino - przewodnik po artykułach składających się na kurs 2. Czym jest Arduino? 3. Porównanie Arduino z Raspberry Pi 4. Instalacja sterownika Arduino w systemie Windows 5. Generowanie pliku hex w Arduino 6. Jak wgrać bootloader w Atmega328? 7. Rozpoczęcie pracy z oprogramowaniem Arduino 8. Rozpoczęcie programowania w Arduino 9. Programowe resetowanie Arduino 10. Wprowadzenie do Arduino UNO 11. Wprowadzenie do Arduino NANO 12. Wprowadzenie do Arduino Pro Mini 13. Wprowadzenie do Arduino Mega 2560 14. Wprowadzenie do Arduino Due 15. Wprowadzenie do Arduino Lilypad 16. Wprowadzenie do ATmega328 17. Biblioteka Arduino dla Proteusa 18. Projekt płytki drukowanej Arduino UNO dla Proteus ARES 19. Biblioteka Arduino Lilypad dla Proteusa 20. Odczyt z portu szeregowego Arduino 21. Projektowanie układów LCD z Arduino 22. Łączenie klawiatury z Arduino 23. Wartość ADC na LCD przy użyciu Arduino 24. Symulacja czujnika ultradźwiękowego w Proteusie 25. Połączenie czujnika ultradźwiękowego z Arduino 26. Wiele czujników ultradźwiękowych z Arduino 27. Czujnik temperatury 18B20 z Arduino 28. Jak używać 18B20 w Proteus ISIS? 29. Łączenie LM35 z Arduino w Proteusie 30. Współpraca siedmiosegmentowego wyświetlacza z Arduino w Proteusie 31. Łączenie czujnika PIR z Arduino 32. Współpraca czujnika płomienia z Arduino 33. Interfejs NRF24L01 z Arduino 34. NRF24L01+ i Arduino - Response Timed Out 35. Połączenie RFID RC522 z Arduino 36. Komunikacja Bluetooth z Arduino przy użyciu HC05 37. Sterowanie serwomotorem za pomocą Arduino w Proteusie 38. Projekt sterowania sygnalizacją świetlną przy użyciu Arduino 39. Przewijanie tekstu na matrycy LED 8×8 z użyciem Arduino 40. Inteligentny system oszczędzania energii 41. Komunikacja USB pomiędzy Androidem i Arduino 42. Automatyka domowa z użyciem XBee i Arduino 43. Domowy system bezpieczeństwa oparty na GSM 44. Wysyłanie SMS-ów za pomocą Arduino UNO i SIM900 45. Odbieranie SMS-ów za pomocą komend AT przy użyciu Arduino 46. Projekt rozpoznawania głosu przy użyciu EasyVR Shield 47. Rozpoczęcie pracy z programem EasyVR Commander 48. Połączenie EasyVR z Arduino UNO 49. Błąd szkolenia - niepowodzenie rozpoznawania w EasyVR 50. Połączenie XBee z komputerem 51. Wprowadzenie do modułu XBee 52. Interfejs XBee z Arduino 53. Rozpoczęcie pracy z kamerą Pixy 54. Jak zainstalować oprogramowanie kamery Pixy - PixyMon 55. Aktualizacja firmware kamery Pixy do najnowszej wersji 56. Jak wytrenować kamerę Pixy za pomocą komputera 57. Sterowanie kierunkiem obrotu silnika prądu stałego za pomocą Arduino 58. Sterowanie prędkością obrotów silnika prądu stałego za pomocą Arduino 59. Sterowanie kierunkiem obrotu silnika krokowego za pomocą Arduino 60. Sterowanie prędkością obrotów silnika krokowego za pomocą Arduino 61. Pobieranie danych z serwera internetowego za pomocą Arduino Wi-Fi 62. Wprowadzenie do Arduino YUN 63. Dostęp do serwera Linux Arduino YUN za pomocą Putty
Rozwiń cały spis treści Zwiń spis treści
Firma:
Tematyka materiału: Kurs Arduino, Pierwsze kroki, ADC, Symulator Arduino Proteus
AUTOR
Źródło
www.theengineeringprojects.com
Udostępnij
Zobacz wszystkie quizy
Quiz weekendowy
Edukacja
1/10 Jak działa rezystor LDR?
Oceń najnowsze wydanie EdW
Wypełnij ankietę i odbierz prezent
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"