Inhoudsopgave:
- Stap 1: De prototypebus
- Stap 2: Eerste montage: het LCD-scherm in I2C
- Stap 3: Programmeren
- Stap 4: Verschillende functies
- Stap 5: Voorbeelden van BUS-gebruik, programma en voorbeelden
Video: ELEGOO Kit Lab of hoe ik mijn leven als ontwikkelaar gemakkelijker kan maken: 5 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
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 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
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
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
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
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:
MACRO MACHINE, MAAK UW LEVEN GEMAKKELIJKER!: 3 stappen
MACRO MACHINE, MAAK JE LEVEN GEMAKKELIJKER!: Macro is erg handig omdat het ons helpt dingen sneller te doen. Dit project gaat over het typen van een websitelink voor u door gewoon op een knop te drukken, wat een soort macro is. Dit project is voor studenten in KCIS die vaak Managbac moeten intoetsen voor chec
SmartCash: gemakkelijker leven - Ajarnpa
SmartCash: Gemakkelijker leven: Allereerst wil ik laten weten dat dit project is gemaakt door:-Oriol García Martín-Alexander J. Magnusson Amorós (uitgeverij, ook bekend als SuperPollo)-Martí Solà Planagumà-Gerard Vallverdú MercadeHet was van gemeenschappelijke overeenstemming te publiceren door Alexan
Criterium C: Mijn leven versterken: 18 stappen (met afbeeldingen)
Criterium C: mijn leven versterken: door: Risa KUNIIThis Instructable zal het productieproces voor mijn product schetsen
Mijn toetsenbord Mijn handen: 8 stappen (met afbeeldingen)
Mijn toetsenbord Mijn handen: ik heb de gloednieuwe Epilog-lasersnijder gebruikt die Instructables onlangs heeft gekregen om een afbeelding van mijn handen permanent op het toetsenbord van mijn laptop te laseretsen. Dat maakt je garantie ongeldig in doe-het-zelfstijl! Ik heb meer laptops met laser geëtst dan de meeste sinds ik help o
Hoe maak je een grootouderskalender & Plakboek (zelfs als je niet weet hoe je plakboek moet maken): 8 stappen (met afbeeldingen)
Hoe maak je een grootouderskalender & Plakboek (zelfs als je niet weet hoe je plakboek moet maken): Dit is een zeer voordelig (en zeer gewaardeerd!) kerstcadeau voor grootouders. Ik heb dit jaar 5 kalenders gemaakt voor minder dan $7 per stuk.Materialen:12 geweldige foto's van je kind, kinderen, nichten, neven, honden, katten of andere familieleden12 verschillende stukken