Inhoudsopgave:

Desktop-organizer met LCD: 4 stappen
Desktop-organizer met LCD: 4 stappen

Video: Desktop-organizer met LCD: 4 stappen

Video: Desktop-organizer met LCD: 4 stappen
Video: Dashboards in 3 stappen met Stratusphere UX 2024, November
Anonim
Image
Image

**Wordt bewerkt**

Voor het HKU arduino-project heb ik besloten om een desktop-organizer te maken met een LCD-scherm dat inspiratiecitaten weergeeft om je op te pikken wanneer je je potmeter draait!

Ik zal voornamelijk de arduino-technische dingen behandelen, zolang je zoiets als een houten kist hebt om je Arduino te verbergen en LCD in je persoonlijke oganisor elke gewenste vorm zou kunnen aannemen.

De dingen die je nodig hebt

  • *arduino uno
  • potmeter
  • *mannelijke protyping-draden
  • *LCD-module !Met SD-kaartlezer! (Ik heb arduino tft LCD)
  • *micro SD kaart
  • *hout (ik heb oude mini-lades gerecycled en wat houten reserveonderdelen gebruikt, zorg ervoor dat je op zijn minst een kleine doos kunt maken om je arduino in te verbergen!

Stap 1: De potmeter instellen op Arduino

De potmeter instellen op Arduino
De potmeter instellen op Arduino

sluit je potmeter aan zoals op de foto te zien is

om de potmeter aan het werk te krijgen start

Je moet beginnen met een aantal variabelen bovenaan je schets voor de installatie:

code:

const int analogInPin = A0; // Analoge ingangspen waarop de potentiometer is bevestigd

int sensorWaarde = 0; // waarde gelezen uit de pot int outputValue = 0; // waarde output naar de PWM (analoge uit)

In afbeelding 2 laat ik zien hoe de potmeter in de void loop is afgebeeld

code:

// lees de analoge in waarde:

sensorValue = analogRead (analogInPin); // wijs het toe aan het bereik van de analoge uitgang: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // verander de analoge uit-waarde:

stuffToPrint.toCharArray(afdruk, 9); // statische tekst myScreen.setTextSize(1);

Serial.print ("sensor = "); Serial.print(sensorValue); Serial.print("\t output = "); Serial.println(outputValue);

vertraging (50);

dit brengt de analoge gegevens van de potmeter in kaart met een bereik van 0 tot 255, we zullen dit bereik gebruiken om onze lcd-diavoorstelling te besturen

Als je hulp nodig hebt bij het instellen van de potmeter; Ik heb de code uit deze handige tutorial gebruikt, de pinnen zijn exact hetzelfde en zullen in de volgende stappen werken met de LCD-instellingen.

www.toptechboy.com/arduino/lesson-11-arduin…

Stap 2: Het LCD-scherm instellen

Het LCD-scherm instellen
Het LCD-scherm instellen

Stel de pinnen in zoals in het bovenstaande voorbeeld.

Als je het goed hebt gedaan, zal je scherm wit oplichten.

Als je extra hulp nodig hebt of een voorbeeldcode wilt gebruiken om je display te testen, kun je de officiële tutorial voor deze module en de codevoorbeelden hier bekijken

we zullen in de volgende stap gedeeltelijk de "afbeelding van SD-kaart tekenen" gebruiken.

Stap 3: De diavoorstelling instellen

De diavoorstelling instellen
De diavoorstelling instellen

Nu we de potmeter en het LCD-scherm hebben ingesteld, kunnen we een "diavoorstelling" opzetten met behulp van de in kaart gebrachte waarden van de potmeter

Met behulp van het bereik van 0 tot 255 kunnen we een bepaald bereik aangeven waarin we de Arduino kunnen activeren om wat inhoud op het LCD-scherm weer te geven.

Eerste voorbeeld zoals weergegeven in afbeelding:

if (outputValue < 51) { // bereik één if (rangeOne == true) { rangeTwo = true; mijnScherm.setRotation(90); mijn Scherm.achtergrond (0, 0, 0); mijnScherm.slag(255, 255, 255); myScreen.text("Hallo daar geweldig, ", 10, 50); myScreen.text("draai de pin > naar", 10, 60); myScreen.text("aanmoediging krijgen.", 10, 70); bereikEen = onwaar;

Als de potmeter naar een bereik lager dan 51 draait, verschijnt op het scherm met weergave (in portretmodus = rotatie 90) wat tekst.

Om een afbeelding weer te geven, moet u ervoor zorgen dat uw SD CS-pin correct is gedefinieerd, anders kan de arduino de SD niet initialiseren (controleer dus uw kabels !!)

Als u de pinnen van uw LCD wilt controleren, kunt u de officiële gids raadplegen onder "het scherm aansluiten"

Ik heb mijn SD CS-pin nu als 4 gedefinieerd omdat ik bijvoorbeeld mijn draden door elkaar heb gehaald! - Ik ben blij om die kleine oopsie te delen, omdat het u veel tijd zal besparen bij het zoeken op internet naar de foutmelding "Initialiseren mislukt". Waarop op sommige forums wordt gezegd dat de oplossing is om een bepaald model SD-kaart te hebben. Controleer dus eerst je bedrading voordat je nieuwe SD-kaarten koopt!!

Stap 4: Voorbeeld van volledige code

#erbij betrekken

#include // Hardwarespecifieke bibliotheek #include

#define SD_CS 4 #define CS 10 #define DC 9 #define RESET 8

const int analogInPin = A0; // Analoge ingangspen waarop de potentiometer is bevestigd

int sensorWaarde = 0; // waarde gelezen uit de pot int outputValue = 0; // waarde output naar de PWM (analoge out) bool rangeOne = true; bool rangeTwo = waar; bool bereikDrie = waar; bool rangeFour = waar; bool rangeFive = waar;

TFT mijn Scherm = TFT (CS, DC, RESET);

PImage-afbeelding; const char afdruk[9];

void setup(){ Serial.begin(9600); mijnScherm.begin(); // probeer toegang te krijgen tot de SD-kaart Serial.print ("Initializing SD-kaart …"); if (!SD.begin(SD_CS)) { Serial.println("mislukt!"); opbrengst; } Serial.println("OK!");

// initialiseer en wis het GLCD-scherm myScreen.begin(); mijnScherm.achtergrond(255, 255, 255);

} void loop () {// lees de analoge in waarde: sensorValue = analogRead (analogInPin); // wijs het toe aan het bereik van de analoge uitgang: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // verander de analoge uit-waarde:

stuffToPrint.toCharArray(afdruk, 9); // statische tekst myScreen.setTextSize(1);

Serial.print ("sensor = "); Serial.print(sensorValue); Serial.print("\t output = "); Serial.println(outputValue);

vertraging (50);

if (outputValue to", 10, 60); myScreen.text("aanmoediging krijgen.", 10, 70); rangeOne = false; } } if(outputValue > 52 && outputValue 102 && outputValue 154 && outputValue < 205){ / /range four if (rangeFour == true){ rangeThree = true; rangeFive = true; myScreen.setRotation(90); myScreen.background(255, 255, 255); // clear the screen image = myScreen.loadImage("quote2.bmp"); //schrijf de afbeelding op het scherm myScreen.image(image, 0, 0); myScreen.stroke(255, 255, 255); myScreen.text("Ik ben zo trots", 10, 50); myScreen.text("van jou!", 10, 60); rangeFour = false; } }

if(outputValue > 206 && outputValue

Aanbevolen: