LCD Thermo-Meter-Project met behulp van TI MSP-EXP430FR5739 FraunchPad (1 / 1 stap)

Stap 1: De CODE


/*

02 maart 2013
Gebaseerd op een Arduino project door DJ Mentzik.
Verbeterd en aangepast door WWC.
Verder versterkt door Vic Velcro.
Van Arduino omgezet in MSPEXP430FR5739 (FraunchPad) door Vic Velcro.
http://www.vicstricks.com/forum/viewforum.php?f=16

Gebruiken en wijzig waar nodig.

Huidige temperatuur van 8 monster gemiddelde in C en F, weergegeven Max in C en Min in C.

Om de draad van uw HP44780 gebaseerde LCD-scherm om uw FraunchPad, sluit de volgende pinnen:
LCD Pin 4 digitale pin 3 of P2_5
LCD Pin 6 digitale pin 4 of P2_6
LCD Pin 11 tot en met digital pin 20 of P1_3
LCD Pin 12 tot digitale pin 15 of P1_2
LCD Pin 13 tot digitale pin 14 of P1_1
LCD Pin 14 tot digitale pin 13 of P1_0
Bovendien, draad een 10K pot aan + 5V en GND, met het wisser (output) tot en met LCD-scherm van VO pin (pin3) aan te passen contrast van tekens.
Om te rijden de achtergrondverlichting, draad een 270 ohm weerstand van FraunchPad VCC tot LCD pin 15.

De temperatuursensor is een LM335Z. Het been (adj) wordt niet gebruikt voor dit project. Zoek een gegevensblad als u niet bekend bent met het apparaat.
Terwijl pinnen in breadboard zijn en platte kant is van u af, het linkerbeen is geaard en het rechterbeen is ongebruikte.
De centrale poot is verbonden met pin A0 die ook P1_5 is gemarkeerd. Bovendien verbindt het centrum pin met een weerstand van 2,2 k ohm en vervolgens
het tegenovergestelde beentje van de weerstand gaat naar VCC van de FraunchPad.

*/

#if defined(__MSP430FR5739__) / / FraunchPad! ALLEEN!
#include "Energia.h"
#else                                                           // no good
niet-ondersteund Platform #error. Alleen FraunchPad.
#endif

#include < LiquidCrystal.h > / / omvatten de LCD-stuurprogrammabibliotheek

int tempPin = A0;                                               De analoge ingang 0 (A0) worden van FraunchPad bestuur te verklaren.
int i;                                                          variabele af te bakenen monster iteratie volgorde

zweven VCC = 3,63;                                                 verklaren van de spanning van de Raad van bestuur
float tempRAW;                                                  variabelen declareren
float tempK;                                                    variabele voor het houden van Kelvin temp (zwevend voor decimale precisie
zweven tempC = 0;                                                variabele voor het houden van Celsius temp (zwevend voor decimale precisie)
zweven tempF = 0;                                                variabele voor Fahrenheit temp te houden
float monsters [8];                                               Matrix te houden van 8 monsters voor gemiddelde temp berekening
float maxi = 0, mini = 100;                                      Max/Min temperatuur variabelen met de beginwaarden. LM335 in eenvoudige opstelling meet slechts Temp boven 0.

LiquidCrystal lcd (P2_5, P2_6, P1_3, P1_2, P1_1, P1_0);          initialiseren van de bibliotheek met de nummers van de pennen van de interface

VOID Setup
{
Serial.begin(9600);                                             Seriële poort wordt geopend, wordt gegevenssnelheid ingesteld op 9600 bps
LCD.begin (16, 2);                                               De LCD's aantal kolommen en rijen instellen:

Serial.println("");                                             Lege regel voor de regelafstand in de seriële monitor
Serial.println ("Thermo-Meter project door Vic Velcro.");           Print tekst op seriële monitor
Serial.Print ("gratis gebruik zo nodig te wijzigen.");
Serial.println("");                                             Lege regel voor de regelafstand in de seriële monitor

LCD.Clear();
lcd.setCursor (2, 0);                                            Instellen van de positie van de cursor van de LCD (kolom, rij)
LCD.Print ("Vic's trucs");                                      Print tekst op LCD-
lcd.setCursor (2, 1);                                            Instellen van de positie van de cursor van de LCD (kolom, rij)
LCD.Print("Thermo-meter");                                      Print tekst op LCD-
delay(10000);                                                   Vertraging om tekst te lezen

LCD.Clear();
lcd.setCursor (1, 0);                                            Instellen van de positie van de cursor van de LCD (kolom, rij)
LCD.Print ("* On The Web *");                                    Print tekst op LCD-
lcd.setCursor (1, 1);                                            Instellen van de positie van de cursor van de LCD (kolom, rij)
LCD.Print("vicstricks.com");                                    Print tekst op LCD-
delay(10000);                                                   Vertraging om tekst te lezen

LCD.Clear(); duidelijk LCD-scherm / / Schakel het weergeven
lcd.setCursor (1, 0);                                            Instellen van de positie van de cursor van de LCD (kolom, rij)
LCD.Print ("gemiddelde Temp");                                    Print tekst op LCD-
lcd.setCursor (1, 1);                                            Instellen van de positie van de cursor van de LCD (kolom, rij)
LCD.Print ("weergegeven");                                     Print tekst op LCD-
delay(5000);                                                    Vertraging om tekst te lezen
LCD.Clear();                                                    Clear LCD

}

void loop
{
Serial.println("");                                             Lege regel voor de regelafstand in de seriële monitor
Serial.Print ("LM335Z ruwe gegevens:");                              Print tekst op seriële monitor
Serial.println(analogRead(tempPin));                            De bemonsterde waarde vóór omzetting naar echte temperatuur lezing weergegeven op seriële monitor
Serial.println("");                                             Lege regel voor de regelafstand in de seriële monitor

Begin van berekeningen FOR-lus.
voor (ik = 0; ik < = 7; i ++) {/ / krijgt 8 monsters van temperatuur
monsters [i] = analogRead(tempPin);                               de wiskunde van de conversie van LM335 monster leesbaar temperatuur Kelvin en winkels resultaat aan monsters array.

5V is normale levering volt van de LM335. Appropriatelly dat de correcte meting wijzigen Mijn geval is 3.63 volt.
Als gevoed vanuit USB gebruikt u waarde 3.6V.
De spanning is van cruciaal belang voor nauwkeurige metingen
Serial.println(samples[i]);                                     Afdrukken van monsters [i] op seriële monitor

LCD Opmerking: lijn 1 is de tweede rij, aangezien tellen met begint
LCD.Clear(); duidelijk LCD-scherm / / Schakel het weergeven
lcd.setCursor (0, 0);                                            Instellen van de positie van de cursor van de LCD (kolom 0, rij 0)
LCD.Print ("huidige lezing:");                                 Print tekst op LCD-
lcd.setCursor (0, 1);                                            Instellen van de positie van de cursor van de LCD (kolom 1, rij 1)
LCD.Print ("RAW monsters");                                         Print tekst op LCD-
lcd.setCursor (12, 1);                                           Instellen van de positie van de cursor van de LCD (kolom 12, rij 1)
LCD.Print(samples[i]);                                          Print huidige RAW monster iteratie op LCD-
tempRAW = tempRAW + monsters [i];                                 voor ruwe monsters gemiddelde berekenen
delay(800);                                                     een beetje wachten

}                                                               // END of FOR loop

Serial.println("");                                             Lege regel voor de regelafstand in de seriële monitor
Serial.println("");                                             Lege regel voor de regelafstand in de seriële monitor
tempK = (((tempRAW/8.0)/1023)*VCC)*100);                       Conversieformule gecombineerde monsters gemiddeld Kelvin

tempC = (tempK-273.15);                                         Converteren van Kelvin naar Celsius
tempF = (((tempK-273.15) * 1.8) + 32);                          Converteren van Kelvin naar Fahrenheit

if(tempC > Maxi) {maxi = tempC;}                                Update max temperatuur waargenomen
if(tempC < mini) {mini = tempC;}                                Update min temperatuur waargenomen

Serial.println ("nieuwe meting:");
Serial.Print ("gemiddelde temperatuur in Celsius is");           Print tekst op seriële monitor
Serial.println (tempC), //send de gegevens naar de computer / / de gegevens naar de computer verzenden
Serial.Print ("gemiddelde temperatuur in Fahrenheit");        Print tekst op seriële monitor
Serial.println (tempF), //send de gegevens naar de computer / / de gegevens naar de computer verzenden
Serial.Print ("MAX Temperature in Celsius is");               Print tekst op seriële monitor
Serial.println (maxi); //send de gegevens naar de computer / / de gegevens naar de computer verzenden
Serial.Print ("MIN temperatuur in Celsius is");               Print tekst op seriële monitor
Serial.println (mini); //send de gegevens naar de computer / / de gegevens naar de computer verzenden

LCD.Clear();                                                    Schakel het weergeven
lcd.setCursor (0, 0);                                            Instellen van de positie van de cursor van de LCD (kolom 0, rij 0)
LCD.Print ("Celsius");                                       Print tekst op LCD-
lcd.setCursor (12, 0);                                           Instellen van de positie van de cursor van de LCD (kolom 12, regel 0)
LCD.Print(tempC);
lcd.setCursor (0, 1);                                            Instellen van de positie van de cursor van de LCD (kolom 0, lijn 1)
LCD.Print ("Fahrenheit");                                       Print tekst op LCD-
lcd.setCursor (12, 1);                                           Instellen van de positie van de cursor van de LCD (kolom 12, lijn 1)
LCD.Print(tempF);                                               Stuur de gegevens naar het LCD-scherm
delay(5000);                                                    Wacht na temp display LCD scherm befor de lus opnieuw beginnen.

tempRAW = 0;                                                    TempRAW ingesteld op 0 voordat de lus herhaald.
}

Gerelateerde Artikelen

Directe lezing van LCD-scherm met behulp van algemene doel IO

Directe lezing van LCD-scherm met behulp van algemene doel IO

Moeilijkheid: e a s y .. Schema, solderen, C programmerenVeel apparaten hebben schermen van LCD (Liquid Crystal Display) - uw magnetron, digitale klok en Weegschaal zijn een paar bekende voorbeelden. Meer dan eens, heb ik wil kunnen gebruiken op een
LCD afstandsmeting met behulp van Arduino

LCD afstandsmeting met behulp van Arduino

En na het doorvoeren van een paar robotic tutorials, heb ik besloten om te gaan in meer detail over sensoren. Om te beginnen van met ik kies een ultrasone sensor en een Arduino als de micro-controller.Dit Instructable is puur voor uitkeringsontvanger
Weergave van temperatuur op LCD-scherm met behulp van STS-21(I2C)

Weergave van temperatuur op LCD-scherm met behulp van STS-21(I2C)

HalloGoede groeten..!! Ik (Somanshu Choudhary) op de rekening van Dcube tech ventures gaan voor het meten van de temperatuur met behulp van de Arduino nano en deze weer te geven op 16 X 2 LCD het is een van de toepassingen van de I2C protocol om anal
Bestuur van de LCD-scherm met behulp van een Linkit en Bluetooth

Bestuur van de LCD-scherm met behulp van een Linkit en Bluetooth

HalloIn dit instructable leert u over interfacing LCD met Linkit één en het beheer van het zelfde met BluetoothStap 1: Onderdelen die vereist zijn LinKit één BoardArduino UNO16 * 2 LCD met LCD schildBluetooth-antenne (gevonden samen met Linkit één)Sm
Arduino draagbare Weather Monitor, hoogtemeter, temperatuur, vochtigheid, met behulp van DHT11 en BMP85 met LCD-scherm met behulp van slechts 3 pins

Arduino draagbare Weather Monitor, hoogtemeter, temperatuur, vochtigheid, met behulp van DHT11 en BMP85 met LCD-scherm met behulp van slechts 3 pins

ik heb dit project, omdat ik vaak bergen zoals in de afbeelding beklimmen en ik moet weten de hoogte, de temperatuur en ook wijzigingen in de weersomstandigheden, soms in slechts enkele minuten het weer krijgen zeer slecht, met een zeer dichte mist,
Zin kamertemperatuur en Display in LCD met behulp van Simulink en Arduino UNO

Zin kamertemperatuur en Display in LCD met behulp van Simulink en Arduino UNO

Sensing en weergeven met behulp van Arduino kamertemperatuur is heel gebruikelijk en vindt u tal van tutorial instructablesand andere vergelijkbare sites. Maar ik heb niet gevonden een tutorial overal hoe dit te doen met behulp van Matlab/Simulink. M
ANPR-Project met behulp van de Intel Edison

ANPR-Project met behulp van de Intel Edison

Dit is een automatische nummer plaat Recogniton Project met behulp van openCV en de Intel Edison-bestuur.Een overzicht:Een opname, pre-proces het in opencv vervolgens passeren het tesseract OCR om de tekens in de afbeelding. Geef de tekens op het gro
Hoe te rijden een karakter LCD wordt weergegeven met behulp van DIP-schakelaars

Hoe te rijden een karakter LCD wordt weergegeven met behulp van DIP-schakelaars

Deze tutorial leert u de basisprincipes van interfacing met een HD44780 compatibel display met behulp van een DIP-schakelaars en een paar andere onderdelen.Dit soort circuit is een geweldige manier om te leren hoe HD44780 werk weergeeft.Stap 1: Wat m
Afbeeldingen op Nokia 5110 Lcd met behulp van Arduino

Afbeeldingen op Nokia 5110 Lcd met behulp van Arduino

In deze korte instructable I 'm gonna displ sommige afbeeldingen op Nokia 5110 LCD-scherm met behulp van de ARDUINO UNO R3 zulks zelfs zit nuttig voor beginners is hier is een test video.Stap 1: Benodigde materialen Nokia 5510 LCDArduino boardJumper
Hartslagmonitor met behulp van een fotoweerstand

Hartslagmonitor met behulp van een fotoweerstand

Dit project wordt een NI-myRIO, een fotoweerstand en natuurlijke verlichting gebruikt om te bepalen uw hartslag. Wanneer een knop wordt ingedrukt op het myRIO, wordt de spanning van de fotoweerstand gelezen gedurende 10 seconden. De beats per minuut
Klok met thermometer met behulp van Arduino, i2c 16 x 2 lcd, DS1307 RTC en DHT11 sensor.

Klok met thermometer met behulp van Arduino, i2c 16 x 2 lcd, DS1307 RTC en DHT11 sensor.

Hello! Het is al een tijdje ik heb niet geplaatst om het even wat op Instructables, maar nu maakte ik een eenvoudig project dat ik op internet in verschillende vormen gezien heb. Ik erin geslaagd om een code met behulp van andere codes die ik op inte
Hoe maak je een grote 3D-Printer met behulp van een kleinere 3D-Printer - "Project Locus"

Hoe maak je een grote 3D-Printer met behulp van een kleinere 3D-Printer - "Project Locus"

Uit die eigen 3D printers, aan degenen die gewoon gewoon nieuwsgierig over hun mogelijkheden zijn, een onderwerp dat vrij vaak komt is het idee van 'Een andere 3D-Printer afdrukken'. Nu dit niet 100% mogelijk zijn kan bij het overwegen van onderdelen
Auto datta logger met behulp van OBD-II-protocol (atmega 2560 + SD kaart + lcd 16 x 2)

Auto datta logger met behulp van OBD-II-protocol (atmega 2560 + SD kaart + lcd 16 x 2)

OK eerst van dit alles was een afstudeerproject voor mijn cursus van de microprocessor in mijn universiteit, en het beoogde te verduidelijken en te begeleiden naar iemand heeft een gelijkaardig project of wil gewoon te doen en te leren, want toen ik
Nokia 3310 LCD verbinden met USB met behulp van AVR

Nokia 3310 LCD verbinden met USB met behulp van AVR

Wat doe je met een oude telefoon, een microcontroller en veel tijd?U haak van de oude telefoon LCD-scherm bij de computer USB natuurlijk!In dit project gaan we communiceren met een Nokia 3310 LCD display via USB! Hoe gaan we dat doen? We gaan de LCD