Inhoudsopgave:

Arduino Werken met meerdere bestanden (LEZEN/SCHRIJVEN): 4 stappen
Arduino Werken met meerdere bestanden (LEZEN/SCHRIJVEN): 4 stappen

Video: Arduino Werken met meerdere bestanden (LEZEN/SCHRIJVEN): 4 stappen

Video: Arduino Werken met meerdere bestanden (LEZEN/SCHRIJVEN): 4 stappen
Video: 🇳🇱 LOGICA MET NOT, AND & OR - Arduino theorie #4 2024, November
Anonim
Arduino Werken met meerdere bestanden (LEZEN/SCHRIJVEN)
Arduino Werken met meerdere bestanden (LEZEN/SCHRIJVEN)

Hallo jongens

Vandaag presenteer ik je een Arduino-project dat werkt met een RTC-schild dat gegevens kan opslaan. De hoofdtaak van dit project is het werken met meerdere bestanden die op de sc-kaart zijn opgeslagen. Dit project bevat code die werkt met drie bestanden die rechtstreeks op een SD-kaart met arduino en RTC-schild worden opgeslagen. Omdat dit project werkt met DataLogger-shield, worden die gegevens ook precies op hetzelfde moment opgeslagen als op uw pc.

Dit project is een verbeterde versie van mijn laatste project. Dat project is te vinden op de instructables-site onder de naam Arduino Data Logger Shield Small Project. Als je problemen hebt met het begrijpen van dit project, raad ik je aan om eerst een eenvoudigere te bekijken.

Het belangrijkste verschil tussen die twee projecten is dat dit project 3 tekstbestanden gebruikt, ook deze keer lezen we gegevens van twee ervan. Omdat we gegevens kunnen lezen, kunnen we de gemiddelde waarde van vochtigheid en temperatuur krijgen, die op de SD-kaart zijn opgeslagen. Dit wordt ook weergegeven op het LCD-scherm dat is aangesloten op Arduino.

Nogmaals, als Arduino nieuw voor je is en dit je eerste project is dat DataLogger gebruikt, raad ik aan om deze link te gaan bekijken https://www.instructables.com/id/Arduino-Data-Logg… en wanneer je alles hebt gekregen daarover, kom hier en heb wat meer plezier. Laten we beginnen.

Stap 1: Onderdelen

Onderdelen
Onderdelen
Onderdelen
Onderdelen
Onderdelen
Onderdelen

Zoals elke keer dat ik dit soort projecten schrijf, zal ik beginnen met alle onderdelen die ik bij dit project heb gebruikt. Ik zal ook enkele van de sensoren voorstellen die kunnen worden gebruikt en dit project een beetje anders kunnen maken.

Onderdelen:

  • Arduino uno rev3
  • Arduino Datalogger schild
  • SD-geheugenkaart
  • LCD 1602 groen display met I2C (u kunt elk ander display gebruiken)
  • DHT22 (DHT11 werkt ook prima, maar de precisie ervan is niet hetzelfde als de dht22)
  • Weinig startkabels
  • Breadboard
  • Batterij 9v

U kunt sommige onderdelen wijzigen. De goede kant van dit project is dat het kan worden gebruikt om gegevens van elke andere sensor op te slaan. Ik zou proberen te werken met een rooksensor of infraroodsensor. Het werkt met elke andere sensor. Je kunt ook je Arduino veranderen, maar houd er rekening mee dat Arduino het beste is voor een datalogger.

Stap 2: Alle onderdelen met elkaar verbinden

Alle onderdelen met elkaar verbinden
Alle onderdelen met elkaar verbinden

Deze is eenvoudig aan te sluiten. Zelfs het schema is hetzelfde als het eenvoudigere project. Maar ik zou zeggen dat je moet oppassen welke pin je gaat gebruiken. Controleer elke keer het gegevensblad van de datalogger om te zien welke pinnen het beste zijn om te gebruiken, want zoals ik me herinner, zijn sommige pinnen al gedefinieerd en toen ik probeerde mijn sensor op een van de gedefinieerde pinnen te gebruiken, werkte het niet.

Bovenaan deze stap ziet u een schema gemaakt met fritzing. Het makkelijke is dat je je datalogger bovenop je arduino moet aansluiten. Sluit uw SD-kaart aan op de datalogger en het laatste dat u hoeft te doen, is de dht-sensor en lcd aansluiten. We gebruiken 5V van arduino voor + deel op het breadboard, GND voor - deel, en door die lijn te volgen verbind je ook + lijn van sensor en lcd met + lijn van het breadboard. Hetzelfde geldt voor - onderdelen, ze gaan gewoon naar de regel die volgt -. Dht-sensor is deze keer aangesloten op pin 7. LCD is aangesloten op A4 en A5. Makkelijk, toch?

LCD:

  • VCC naar 5V (+ deel op breadboard)
  • GND naar gnd (-deel op breadboard)
  • SDA naar analoge pin A4
  • SCL naar analoge pin A5

DHT22:

Ik heb dht gebruikt met een bord waarin drie pinnen kunnen worden gebruikt:

  • + tot 5V
  • - naar GND
  • uit naar digitale pin 7

Stap 3: Coderen

Deze tijdcode is complexer. Een groot deel ervan is becommentarieerd, zodat u het gemakkelijk kunt begrijpen.

Ik zal deze code in enkele korte delen uitleggen.

1. Houd er eerst rekening mee dat er voor deze code weinig bibliotheken op uw pc zijn geïnstalleerd. Dat zijn: Time (TimeLib), Wire, LiquidCrystal, DHT, OneWire, SPI, SD, RTClib. U kunt waarschijnlijk een aantal andere bibliotheken gebruiken, maar deze bibliotheken werkten voor mij.2. Daarna definiëren we alles wat nodig is voor dit project. DHT-sensor is eenvoudig te definiëren, u hoeft alleen de pin te noemen waarop de sensor is aangesloten en het type sensor. Daarna moet u enkele pinnen definiëren die zullen worden gebruikt voor de SD-kaart en RTC-pin. En daarna kunt u variabelen zien die voor dit project zijn gebruikt.

3. Project gebruikt weinig methoden en ze zijn allemaal voor het werken met de DHT-sensor. Als u aan een project werkt met dit type sensor, kunt u deze gebruiken. Die methoden zijn getTemperature(), getMidTemperature(), getHumidity(), getMidHumidity(), readSensorData(), printLcdTemperature(), printHumidity(), printLcdMidTemperature(), printMidHumidity().

4. In de setup zijn er weinig dingen die nodig zijn om gedaan te krijgen. Allereerst moet u tijd definiëren. Omdat we hier RTC gebruiken, willen we de juiste tijd hebben wanneer onze Arduino gegevens van de sensor opslaat. Dat deel zal in code worden becommentarieerd. Als u //RTC.adjust(DateTime(_DATE_, _TIME_)) verwijdert; regel kunt u de tijd op uw project instellen. Nadat je de juiste tijd hebt ingesteld, kun je dat deel opnieuw becommentariëren en kun je je arduino zonder computer gebruiken. Dit is cool omdat je je temperatuursensor in een andere kamer kunt gebruiken en de temperatuur kunt bijhouden zonder dat je je computer nodig hebt. Het tweede deel dat moet worden gedaan, is het gebruik van uw SD-kaart waarop gegevens worden opgeslagen. Shield zal proberen te zien of er een kaart is en deze initialiseren. Als dit niet het geval is, wordt de foutmelding weergegeven in het seriële scherm op Arduino IDE.

In de setup is de eerste stap waar we werken met het schrijven van bestanden op de geheugenkaart. Het eerste dat op de kaart wordt geschreven, is in het bestand datalog.txt. Deze keer schrijven we alleen de tijd van het loggen van ons apparaat, en we maken ook een kleine rij namen (variabelen die worden gebruikt om te besparen, en ook tijd)

Het laatste deel van de installatie is het initialiseren van het LCD-scherm en de dht-sensor.

5. Het lusgedeelte is het belangrijkste onderdeel van het project. Het werken met de sensor is deze keer heel eenvoudig omdat er maar één methode wordt gebruikt en dat is het uitlezen van de waarden die de sensor krijgt. LCD-gedeelte is ook erg eenvoudig. Het volgende deel is er een die we hier moeten uitleggen. Dit project doet elke minuut iets. Het ene moment slaat het gegevens op in datalog.txt. Deze gegevens kunnen worden gelezen door iemand die niet eens weet hoe arduino's moeten worden geprogrammeerd. Aan de andere kant. Het ene moment slaat het de temperatuur op datalogB.txt op en het andere moment slaat het de vochtigheid op datalogC.txt op. We hebben datalogB.txt en dataLogC.txt nodig zodat we van onze geheugenkaart kunnen lezen. Dus als we onze code blijven lezen, kunt u ook zien dat deze code middenwaarden van de temperatuur en vochtigheid leest en ze in één rij opslaat. Ik wilde een apparaat maken dat alleen de laatste tien cijfers bevat. Dus dit project doorloopt altijd de waarden van de kaart en slaat de laatste tien cijfers op. Deze cijfers die in rijen zijn opgeslagen, worden gebruikt zodat we de gemiddelde waarde van de temperatuur en de gemiddelde waarde van de vochtigheid kunnen krijgen. Die na enige tijd ook op ons LCD-scherm worden weergegeven

Stap 4: Daarna Arduino en SD-kaart gebruiken

Daarna Arduino en SD-kaart gebruiken
Daarna Arduino en SD-kaart gebruiken
Daarna Arduino en SD-kaart gebruiken
Daarna Arduino en SD-kaart gebruiken
Daarna Arduino en SD-kaart gebruiken
Daarna Arduino en SD-kaart gebruiken
Daarna Arduino en SD-kaart gebruiken
Daarna Arduino en SD-kaart gebruiken

Hier kunt u zien wat er op het LCD-scherm wordt weergegeven en hoe het project werkt. Ook plaats ik hier foto's van de datalogs die ik heb opgeslagen. Datalog.txt is degene die kan worden gebruikt om te zien hoe het apparaat elke waarde opslaat. DatalogB en datalogC zijn er, zodat u kunt zien hoe ze eruit zien. Ze zijn zo geschreven, zodat u de ontledingsmethode kunt gebruiken en gegevens zonder problemen kunt lezen.

Het hele punt van dit project is de manipulatie van de bestanden die op de SD-kaart staan. Soms hebben we apparaten nodig die geheugen kunnen opslaan en het lezen van de temperatuur is ook zo'n keer. Het goede is dat het schild dat op dit apparaat wordt gebruikt ook een RTC-module heeft, wat het beste is voor de tijd. Wanneer we realtime kunnen lezen en gegevens kunnen opslaan met ons apparaat, betekent dit dat het draagbaar kan zijn.

Bedankt jongens voor het lezen van dit project. Ik hoop dat het je zal helpen. Bedankt.

Met alle groeten Sebastian

Aanbevolen: