Inhoudsopgave:

ELEGOO Kit Lab of hoe ik mijn leven als ontwikkelaar gemakkelijker kan maken: 5 stappen (met afbeeldingen)
ELEGOO Kit Lab of hoe ik mijn leven als ontwikkelaar gemakkelijker kan maken: 5 stappen (met afbeeldingen)

Video: ELEGOO Kit Lab of hoe ik mijn leven als ontwikkelaar gemakkelijker kan maken: 5 stappen (met afbeeldingen)

Video: ELEGOO Kit Lab of hoe ik mijn leven als ontwikkelaar gemakkelijker kan maken: 5 stappen (met afbeeldingen)
Video: Eigen ROBOT BOUWEN met VRIENDIN! (Elegoo Smart Robot Car Kit V3) 2024, November
Anonim
ELEGOO Kit Lab of hoe ik mijn leven als ontwikkelaar gemakkelijker kan maken
ELEGOO Kit Lab of hoe ik mijn leven als ontwikkelaar gemakkelijker kan maken

Doelen van het project

Velen van ons hebben problemen met de mock-up rond de UNO-controllers. Vaak wordt de bedrading van componenten bij veel componenten moeilijk. Aan de andere kant kan programmeren onder Arduino complex zijn en veel regels code vereisen. Het hier beschreven project zou de mock-up veel gemakkelijker moeten maken. Dit project is gebaseerd op en gebruikt bijna 80% van de componenten van de "ELEGOO Super Starter Kit UNO R3".

De doelstellingen van dit project zijn:

- De creatie van een technische bus die het gelijktijdige gebruik van maximaal vier breadboards mogelijk maakt.

- Het opstellen van een referentieprogramma dat als basis dient voor tal van vergaderingen.

- Het creëren van functies die de leesbaarheid van de programmering vergemakkelijken.

- De montage van het LCD-scherm in I2C.

Alle projectbestanden zijn hier te downloaden.

Stap 1: De prototypebus

De prototypebus
De prototypebus

De onderdelen:

  • Meeraderige lintkabel van 40 geleiders (35cm).
  • Connectoren voor 40-pins platte kabel (5).
  • 40-pins mannelijk-mannelijke PCB-connector.
  • Optionele broodplanken van halve grootte (2).

Uit de ELEGOO-kit:

  • Het controlebord.
  • Het uitbreidingsbord.
  • Broodplanken (2).

De montage is eenvoudig uit te voeren:

Monteer de vijf connectoren op de platte kabel. Vier connectoren worden bevestigd met het connectorgedeelte naar boven gericht en één connector met het connectorgedeelte naar beneden gericht. Deze connector wordt later op de uitbreidingskaart gestoken.

Monteer de twee PCB-connectoren parallel op de uitbreidingskaart om de connector van de lintkabel op te nemen.

Soldeer de pinnen aan de onderkant van het bord aan de input/output-pinnen van de UNO-uitbreidingsconnectoren.

Sluit de uitbreidingskaart aan op de UNO-controller en sluit vervolgens de connector van de lintkabel aan.

Na montage zijn alle signalen van de controllerprint beschikbaar op de vier connectoren van de flatcable.

Het resultaat is een uitbreidingsbus die plaats biedt aan maximaal vier breadboards, zoals weergegeven in de afbeelding.

Een bepaald aantal pinnen is niet aangesloten op het uitbreidingsbord (ik heb ze in kleine letters opgeschreven) en is beschikbaar. Ze kunnen worden gebruikt om circuits tussen de breadboards aan te sluiten.

Stap 2: Eerste montage: het LCD-scherm in I2C

Eerste montage: het LCD-scherm in I2C
Eerste montage: het LCD-scherm in I2C

Het LCM1602/HD44780 LCD-scherm heeft veel schakels. De directe verbinding met de UNO-controller vermindert de mogelijkheid om andere componenten aan te sluiten.

Daarom heb ik een PCF8574-chip toegevoegd om het aantal links te verminderen naar 2 met behulp van het I2C-protocol.

De onderdelen:

  • Een 16-pins mannelijk-naar-mannelijk PCB-connector.
  • Een 2x8cm ELEGOO soldeerbord
  • Een PCF8574-chip.
  • Een 4-pins connector met zijn PCB-gedeelte.

De componenten van de ELGOO kit:

  • Het LCD-scherm:
  • De 10k potentiometer

De vergadering:

Het geheel wordt getest op de prototyping-bus en vervolgens op de soldeerplaat gelast. Deze display kan eenvoudig worden toegevoegd voor eenvoudig gebruik in andere projecten.

Stap 3: Programmeren

Programmeren
Programmeren

Het doel van het programma is om het werk bij het ontwikkelen van nieuwe projecten te vereenvoudigen.

Het programma is opgebouwd uit verschillende onderdelen:

- Het declaratieve deel met de opname van bibliotheken en constanten. Dit vaste deel zal gemeenschappelijk zijn voor alle tests van de verschillende componenten. (B, C)

- Het ontwikkelingsgedeelte dat de reeksen "setup" en "loop" bevat. (NS)

- Het functiegedeelte dat er drie groepeert (A). Deze functies worden hieronder beschreven.

De directory "0-My_ELEGOO_soft_build" bevat vijf bestanden die bij elkaar in dezelfde map moeten worden bewaard:

  • "0-My_ELEGOO_soft_build.ino".
  • "1-Mijn_LCD_function.ino".
  • "2-Mijn_IR_function.ino".
  • "3-My_Output_port_extension.ino".
  • "Sommige samples.rtf"

Door het bestand " 0-My_ELEGOO_soft_build.ino" te openen zal Arduino ook de andere bestanden (.ino) openen. Alle bestanden worden weergegeven en kunnen worden gewijzigd.

Het bestand "Some samples.rtf" bevat enkele voorbeelden van eenvoudige programma's die de functies gebruiken.

Stap 4: Verschillende functies

Diverse functies
Diverse functies

De LCD-bediening:

Het doel van deze functie is om het gemakkelijker te maken om informatie op het LCD-scherm weer te geven met een enkele opdracht. Deze opdracht wordt gebruikt in de secties void setup en void loop. Het laat ook zien hoe je een functie bouwt.

Deze functie wordt aangeroepen door lcdw(par1, par2, par3, par4, par5);

  • par1 geeft de gewenste subfunctie aan.
  • par2 geeft het regelnummer aan op het display (0 of 1).
  • par3 geeft het kolomnummer aan op de displayregel (0 tot 15).
  • par4 bevat de tekst die moet worden weergegeven.
  • par5 bevat een numerieke waarde die moet worden weergegeven.

Voorbeelden zijn:

lcdw(0, 0, 0, "", 0); initialiseert de weergave. Alleen deze oproep moet worden geplaatst in het ongeldige setup-item.

lcdw(1, 1, 5, "HALLO WERELD", 0); toont de tekst op de tweede regel vanaf positie 6.

lcdw(1, 1, 5, "HALLO WERELD", 25); geeft de tekst "HELLO WORLD 25" weer op de tweede regel vanaf positie 6. lcdw(1, 0, 0, """, 25); geeft "25" weer op de eerste regel vanaf positie 1.

lcdw(2, 0, 0, "", 0); maakt het scherm leeg.

Deze functie is vrij eenvoudig en kan naar wens worden ingevuld.

De infraroodinterface en zijn afstandsbediening

Het doel van deze functie is om het gebruik van de infraroodsensor met zijn afstandsbediening te vergemakkelijken. Deze functie wordt aangeroepen door tst = IRrec(par1);

par1 geeft de gewenste subfunctie aan. 0 om de sensor te initialiseren, 1 om de toets op de afstandsbediening te ontvangen en te decoderen. Een tekst die overeenkomt met de naam van de sleutel wordt geretourneerd in de variabele tst

Toename aantal digitale deuren

Het doel is om de 74hc595-chip te gebruiken om het aantal digitale uitgangspinnen te vergroten. De schakeling gebruikt 3 UNO-pinnen als ingang en biedt 8 binaire poorten als uitgang. We zullen twee functies gebruiken. Het fysieke aansluitschema wordt in de volgende sectie beschreven.

Het circuit bestaat uit twee registers met 8 posities (een register intern in het ino-programma en een ander in het circuit). De update gebeurt in twee stappen. Allereerst kunnen waarden in het interne register worden gewijzigd (met behulp van de setExtPin-functie). Vervolgens wordt het interne register naar het circuit gekopieerd (met behulp van de Expin-functie).

Expin(par1);

Par1: 0 voor initialisatie van de chip. 1 om alle uitgangspoorten op LAAG in te stellen. 2 om het interne register naar de 74hc595-chip te kopiëren

setExtPin(par1, par2);

  • par1: het nummer van de te wijzigen deur (0-7).
  • par2: de gewenste deurstatus (LAAG of HOOG).

Stap 5: Voorbeelden van BUS-gebruik, programma en voorbeelden

Voorbeelden van BUS-gebruik, programma en voorbeelden
Voorbeelden van BUS-gebruik, programma en voorbeelden

Om de in dit project beschreven elementen op elkaar af te stemmen, stel ik enkele voorbeelden voor.

Deze voorbeelden zijn te vinden in het bestand " Some samples.rtf ".

De bedrading van de componenten wordt gegeven door de bovenstaande schema's. Het project is ontworpen om het gelijktijdig gebruik van veel componenten mogelijk te maken.

Om een model te gebruiken, hoeft u alleen maar:

- Draad de gewenste componenten op het breadbord.

- Kopieer het relevante deel van het bestand "Some samples.rtf" naar het programmadeel (D) en compileer/upload het in de controller.

U zult merken dat deze sjablonen niet veel regels code bevatten. Dit om het programmeren makkelijker te maken.

Het programma zal, wanneer het is gecompileerd, alleen de gebruikte functies laden. De uitvoercode is geoptimaliseerd.

Aan de andere kant vergemakkelijkt de hardwarebus met zijn mogelijkheid om meerdere breadboards te gebruiken de montage aanzienlijk.

Voor dit project zijn alle componenten op verschillende breadboards met elkaar verbonden. Het LCD-scherm was aangesloten op de UNO-uitbreidingskaart.

Dit maakt een eenvoudige combinatie en een snelle montage van de componenten mogelijk. Dankzij de korte bedradingsdraden is het geheel visueel aantrekkelijk.

U kunt nu uw fantasie de vrije loop laten voor het modelleren van uw projecten.

Geniet ervan!

Aanbevolen: