Inhoudsopgave:

PC RAM-gebruik naar Arduino via seriële poort: 7 stappen
PC RAM-gebruik naar Arduino via seriële poort: 7 stappen

Video: PC RAM-gebruik naar Arduino via seriële poort: 7 stappen

Video: PC RAM-gebruik naar Arduino via seriële poort: 7 stappen
Video: Deel 7 - Gebruikers INPUT via seriele monitor - Praktische Opdracht 2024, December
Anonim
PC RAM-gebruik naar Arduino via seriële poort
PC RAM-gebruik naar Arduino via seriële poort

Een vriend van mij heeft me geïnspireerd met zijn kleine Arduino-project. Dit kleine project omvat de Arduino UNO R3, die gegevens leest door een programma gemaakt in Arduino IDE, verzonden naar een seriële poort (USB-poort) door een C#-programma gemaakt in Visual Studio. Aangezien dit mijn allereerste build was inclusief een arduino, ben ik best blij met het resultaat, en ik heb een paar dingen geleerd over het aansluiten van draden en het programmeren van de arduino. Aangezien ik geen expert ben in het programmeren of omgaan met microcontrollers, kunt u vrij eenvoudige instructies verwachten, maar ik zal mijn best doen om het project voor u uit te leggen. Ik hoop dat je zult genieten van dit instructable. Dit project kan nog veel meer ontwikkeld worden, in de toekomst denk ik dat ik een dashboard ga maken waar je RAM-gebruik, CPU-gebruik en GPU-temp kunt monitoren en… Nou, je snapt het idee, "er zijn tegenwoordig zoveel mogelijkheden":)

Stap 1: De spullen die je nodig hebt

De spullen die je nodig hebt
De spullen die je nodig hebt

1x Arduino UNO R3

1x USB A Male naar Type B Plug kabel.

12x 220 OHM weerstanden

12x draden (ik gebruik luidsprekerdraden, werkt perfect) en 12x man-naar-vrouw jumperdraden OF 12x man-naar-male jumperdraden (de keuze is aan jou)

12x rechte naalden (die metalen pinnen die vroeger in hetzelfde pakket zaten als de Arduino zelf) (zie afbeelding)

1x 7 Segment 4 Gemeenschappelijke Kathode 0,36 RODE LED Digitale Display

1x soldeerbout met soldeer

1x draadstripper

1x koperen buis (minimaal 11 mm binnen-Ø(diameter) bij gebruik van 2 koperen buizen zoals ik)

Krimpkous (2,5 mm Ø(diameter))

1x dunne houten plank (Je kunt maken wat je wilt, de mijne ziet er een beetje onhandig uit, denk ik:) Maak iets waar je naar zou willen kijken. Een 3D-printer zou hier van pas komen)

Stap 2: Bedrading

Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading

Een breadboard komt hier ook goed van pas, als je de bedrading wilt testen voordat je de weerstanden en draden aan elkaar gaat solderen.

MAAR als je je spullen kent, zoals ik *ehm*, kun je alles tegelijk gaan solderen. !!!MAAR NIET NAAR DE ARDUINO!!!

Dit is vrij rechttoe rechtaan, de foto's zeggen genoeg, denk ik:)

Hier komt de soldeerbout van pas, aangezien we de draden aan de pinnen van het scherm moeten solderen en de weerstanden aan de 4 COM-pinnen op het scherm (COM1, COM2, COM3, COM4) zoals weergegeven in de eerste afbeelding. (De weerstanden hoeven niet in dezelfde richting te staan, maar ik hou van consistentie dus…)

Als je krimpfolie gebruikt voor de draden, wat ik wel aanraad (om het risico op kortsluiting en statische elektriciteit/storingen te minimaliseren). Je kunt net als ik het niet zo hete gedeelte van de soldeerbout gebruiken (hoger op de soldeerbout) of een aansteker om het plastic te laten krimpen, jij beslist.

Ik raad aan om de draden te taggen, zodat je weet welke draad waar naartoe gaat, het zal zoveel gemakkelijker zijn als je begint met het monteren van het hele project (tenminste voor mij en mijn rare ontwerp …).

Ik raad ook aan om de "black-tiny-plastic-metal-pins" dingen aan het uiteinde van de draden te solderen (zie laatste twee afbeeldingen)

Als je de draden op de pinnen van je display hebt gesoldeerd, kun je beginnen met het aansluiten van de draden op je Arduino UNO (zie eerste afbeelding).

Stap 3: Arduino IDE-installatie en het vinden van de juiste poort

Arduino IDE installeren en de juiste poort vinden
Arduino IDE installeren en de juiste poort vinden
Arduino IDE installeren en de juiste poort vinden
Arduino IDE installeren en de juiste poort vinden
Arduino IDE installeren en de juiste poort vinden
Arduino IDE installeren en de juiste poort vinden

Eerst moet je de Arduino IDE installeren (gebruik deze link: https://www.arduino.cc/en/Main/Software), afhankelijk van welk besturingssysteem je hebt (ik gebruik Windows 10), je moet het downloaden voor de juiste, dus voor Windows 8.1^ kunt u naar de Microsoft Store gaan en daar de Arduino IDE-software downloaden (of de link hierboven volgen).

nu moet je de Arduino UNO aansluiten op een van de USB-poorten van je pc en uitzoeken op welke COM-poort je bent aangesloten met je Arduino, maar hoe? Welnu, je kunt naar apparaatbeheer op Windows gaan door met de rechtermuisknop op het Windows-logo op de taakbalk te klikken en op DEVICE MANAGER te klikken (zie afbeeldingen), er zou er een moeten zijn met de naam USB-serieel, dat is de juiste poort.

En klik vervolgens in het Arduino IDE-programma op tools en vervolgens op poort en stel het in op de juiste poort (voor mij is het COM4).

Stap 4: De code voor Arduino UNO

De code voor Arduino UNO
De code voor Arduino UNO
De code voor Arduino UNO
De code voor Arduino UNO
De code voor Arduino UNO
De code voor Arduino UNO

Nu kunnen we beginnen met het interessante deel, CODEREN!

Eerst moet u de twaalf (12) pinnen van het display aan verschillende variabelen toewijzen (zie 1e afbeelding).

(De COM-pinnen zijn waarvoor "positie" zal oplichten)

Dan moet je wat meer variabelen en een array maken die de tekens die de poort ontvangt, in zijn array plaatst (zie 2e afbeelding).

Nu moet je de pinnen of poorten op je Arduino instellen op OUTPUT (zie 3e afbeelding)

Ik kom zo nog even terug op de lus, maar eerst moet je ervoor zorgen dat de cijfers goed op het display worden weergegeven.

Nu gaan we functies maken voor de nummers 1-9 op het display (zie 4e, 5e en de 6e afbeelding)

Omdat ik niets op de eerste positie op het display ga weergeven, heb ik drie (3) functies gemaakt voor de rest van de posities (elk voor één positie). Je moet een functie maken voor elke cijferpositie waarvoor een specifiek nummer wordt weergegeven (zie 7e, 8e en 9e afbeelding).

Ik heb ook een reset-functie gemaakt om de gegevens op het display betrouwbaarder te maken (zie 10e afbeelding).

Nu voor de lus, die gaat lopen als het programma draait.

U kunt nu de code compileren en uploaden naar de Arduino door op de uploadknop te klikken (het programma zal compileren en uploaden naar de Arduino als het compileren is gelukt). (zie 11e afbeelding)

Stap 5: Code voor het verzenden van RAM-gebruik naar seriële poort (C#)

Code voor het verzenden van RAM-gebruik naar seriële poort (C#)
Code voor het verzenden van RAM-gebruik naar seriële poort (C#)
Code voor het verzenden van RAM-gebruik naar seriële poort (C#)
Code voor het verzenden van RAM-gebruik naar seriële poort (C#)
Code voor het verzenden van RAM-gebruik naar seriële poort (C#)
Code voor het verzenden van RAM-gebruik naar seriële poort (C#)

Nu ga ik je een manier laten zien om gegevens naar een seriële poort in C# te sturen.

Ik gebruik visual studio 2017 bij het coderen. De code is helemaal niet lang, maar het kostte wat tijd om een aantal onderdelen uit te zoeken, bijv. hoe het programma te laten draaien wanneer de computer opstart en geen lelijk consolevenster op het bureaublad of de taakbalk laat zien, nou ja, genoeg geraaskal, laten we ga direct naar de code!

Dus om te beginnen met dit code-project in visual studio, kunt u beginnen door te klikken op bestand en nieuw project (zie 1e afbeelding) en vervolgens VISUAL C# en vervolgens WINDOWS CLASSIC DESKTOP te selecteren en tenslotte op CONSOLE APP (. NET FRAMEWORK) te klikken en natuurlijk noem het wat je wilt en sla het op waar je maar wilt. (zie 2e afbeelding)

Nu kunt u beginnen met het coderen van het programma…

je hebt die nodig die richtlijnen gebruiken (zie 3e afbeelding), eigenlijk heb je ze niet allemaal nodig, maar het maakt niet uit of ze er zijn.

En de hoofdcode ziet er zo uit (zie 4e afbeelding) vergeet niet dezelfde POORT en BAUD-SNELHEID (9600) te gebruiken als die op de ARDUINO UNO-code!!! (zie 5e afbeelding). En vergeet ook niet om te controleren hoeveel RAM JIJ hebt, ik heb 8 GB (7.90 GB) RAM geïnstalleerd, dus dat is de reden dat ik 7.90 in de code heb (zie 4e afbeelding).

Als je je afvraagt waarom ik DllImports heb, is dat omdat ik het venster volledig voor de gebruiker wilde verbergen, in dit geval ME, omdat het programma automatisch start wanneer de computer opstart. Maar daar zal ik later meer over uitleggen.

Op dit punt kunt u het beste zowel het Arduino- als het C#-programma testen en controleren of er geen fouten zijn. Het is erg belangrijk dat je het Arduino-programma hebt draaien voordat je het C#-programma start, omdat het anders niet werkt.

Als het programma nu is geschreven, kun je naar de programmamap navigeren totdat je de bin-map vindt en deze openen, en dan dubbelklikken op de debug-map en daar is het, * pfff * je gouden applicatie / programma, nu goed -klik erop en klik vervolgens op snelkoppeling maken… Druk vervolgens op uw toetsenbord op de (windows)⊞ -toets + R-toets. Schrijf dan in het tekstvak: shell:startup en druk op (enter/return)↵-toets nu als je in die map bent. Ik wil dat je de gemaakte snelkoppeling van je applicatie naar de opstartmap sleept. En daar ga je … Nu gaat het programma starten wanneer je je computer opstart.

Nu zou alles moeten werken, zo niet, dan kun je maar beter naar het probleem gaan zoeken:).

Stap 6: De zaak bouwen

De zaak bouwen
De zaak bouwen
De zaak bouwen
De zaak bouwen
De zaak bouwen
De zaak bouwen

Nu kunnen we bij het meer fysieke deel komen van het daadwerkelijk bouwen van de constructie, houd er rekening mee dat je wat aanpassingen moet maken om de behuizing te laten passen. het is overal een beetje groter. Maar als je er net zo een wilt maken als de mijne, dan zal ik je enkele basismaatregelen geven en hoe je het in elkaar kunt zetten. Om de pijpen te snijden heb ik een pijpsnijder gebruikt, ze zijn perfect voor eh, pijpen snijden, meh, no shit…

Uiteraard is het goed om tijdens het hele bouwproces te testen of er niets los zit door hem op je computer aan te sluiten en het C#-programma te starten (vergeet niet de Arduino in dezelfde USB-poort te plaatsen als voorheen).

Dus eerst heb je een houten plank nodig van ongeveer 4 mm (0,157 in) dik. Zie 1e afbeelding voor details over de afmetingen van alle stukken.

Ik gebruik hete lijmpistool omdat het gemakkelijk en snel is, ik raad dat wel aan, maar het is aan jou wat je gaat gebruiken …

ps. Ik denk dat de afbeeldingen het proces een beetje beter zullen beschrijven, maar lees dit zeker door: ik gebruik een mes met snap mes om de stukken uit te snijden, het duurde even, maar als dat klaar is, kun je uitsnijden waar de display gaat worden (op het 60 x 45 mm stuk), je moet het display heel strak in het "display-gat" passen als je dat hebt gedaan kun je gaten boren in het onderste gedeelte van de "display-box" om de koperen leidingen er in te passen, is het ook belangrijk dat de leidingen goed in de gaten passen. Nu kunt u beginnen met het leiden van de draden van het display door de leidingen (als u twee (2) leidingen gebruikt, kunt u het aantal kabels splitsen zodat ze door de leidingen passen (zes (6) draden in elke leiding…)(zie 2e, 3e, 4e, 5e, 6e en 7e afbeelding)).

ps. Ik denk niet dat het nodig is, maar als je wilt kun je wat gaten in de bodem boren zodat de Arduino een beetje kan "ademen". (zie 10e afbeelding).

Nu moet je gaten boren voor de pijpen op "The base"-topplank (zie 8e afbeelding). Als je alle stukjes aan elkaar hebt gelijmd, MAAR vergeet niet om de hele tijd een kant los te laten, zodat je de Arduino eruit kunt halen als je hem ergens anders gaat gebruiken. Ik heb twee (2) kleine magneten en twee (2) kleine metalen stukjes gebruikt om ervoor te zorgen dat de zijwand op zijn plaats zit. je kunt beginnen met het aansluiten van de draden (ALS je net als ik hebt gedaan, namelijk gewone luidsprekerdraden gebruikt, kun je de draden aansluiten op vrouwelijke-naar-mannelijke jumperdraden en vervolgens op de Arduino) zorg ervoor dat je de juiste poorten op de Arduino aansluit. (zie laatste afbeelding)

Omdat de randen over het algemeen behoorlijk lelijk waren, besloot ik dun touw te gebruiken om de randen te bedekken, ik denk dat het er uiteindelijk best mooi uitziet. Maar onthoud dat het ontwerp voor mij deze keer niet het hoofdidee van het project was, dus zorg ervoor dat de jouwe nog mooier is dan de mijne *dat is niet zo moeilijk*.

Stap 7: HET IS LEVEND EN WERKT

ZORG ERVOOR DAT JE MIJ IETS VRAAGT ALS JE ONZEKER BENT OVER IETS MET BETREKKING TOT DIT PROJECT, EN IK ZAL MIJN BEST DOEN OM HET VOOR JOU UIT TE LEZEN!

(IK ZAL OOK SUGGESTIES NEMEN OM DE CODE NOG BETER TE MAKEN, AANGEZIEN IK GEEN EXPERT BEN OP ARDUINO UNOS).

Aanbevolen: