Les 4: De objectsensor coderen
In de vorige les hebt u geleerd over de objectsensor en de reflectiepercentages van schijven en kubussen verzameld. Deze waarden gaat u nu gebruiken om een project te bouwen in VEXcode om de Exit Conveyor te stoppen wanneer een schijf wordt gedetecteerd door de Object Sensor.
In deze les leert u het volgende:
- Configureer de objectsensor in VEXcode.
- Leer hoe u vergelijkingsoperatoren in VEXcode gebruikt.
- Maak een project om een schijf van de invoertransportband naar de uitvoertransportband te verplaatsen met behulp van feedback van de objectsensor.
Aan het einde van deze les bouwt u voort op uw project uit de vorige les om de uitvoertransportband te stoppen wanneer de schijf wordt gedetecteerd door de objectsensor.

Het project bewerken
U begint met het bewerken van uw project op basis van de activiteit uit les 2 van Unit 4, ter voorbereiding op het toevoegen van de opdrachten met betrekking tot de objectsensor.
Open uw project4 Les 2 Activiteitin VEXcode EXP of maak het hier getoonde project opnieuw.
Hernoem het projectEenheid 4 Les

Configureer de objectsensor in VEXcode door het venster Apparaten te openen enApparaat toevoegen te selecteren.

Selecteer 3-Wireom de lijst met 3-draadsapparaten te openen.

Selecteer vervolgens de objectsensor

Selecteer poort Aen vervolgensGereedom de configuratie te voltooien.
Opmerking:Zorg ervoor dat de objectsensor is aangesloten op poort A op de Brain.

Verwijder de laatste twee blokken in het project. Dit omvat het blokWachten het blokStopvoor de uitvoertransportband, zoals getoond in deze video.
Voeg eenWacht totblok toe aan het project.
Het blokWacht totis een blok dat wacht tot een Booleaanse voorwaarde als waar wordt gerapporteerd voordat het doorgaat naar het volgende blok in de stapel.

Vergelijkingsoperatoren
Nu het blokWacht totaan het project is toegevoegd, moet de voorwaarde die door het blok moet worden gecontroleerd, worden toegevoegd.
Eerder leerde u over het reflectiepercentage dat de Object Sensor rapporteert en u noteerde deze waarden in uw technisch notitieboekje. In dit project moet je de Exit Conveyor laten lopentot. Een drempelwaarde is iets dat wordt gebruikt om te bepalen of een waarde boven, onder of binnen een acceptabel bereik ligt. Vergelijkingsoperatoren kunnen worden gebruikt om te controleren of het reflectievermogen boven een bepaalde waarde of boven die drempelwaarde ligt.
Voeg een Groter danblok toe aan de hexagonale ruimte van hetWacht totblok.

Voeg een Reflectiviteitblok toe in de eerste opening van hetGroter danblok.

Het blokGroter danvergelijkt de eerste waarde met de tweede. Het blok Groter danin het project vergelijkt momenteel het reflectiepercentage dat door de objectsensor wordt gerapporteerd met de parameter '50' voordat de Booleaanse waarde wordt gedeclareerd alsTrueofFalse.

Denk na over de doelen van dit project. De uitvoertransportband moet blijven draaien totdat de objectsensor een object detecteert. Daarna moet de transportband stoppen. De waarden die in de vorige les zijn verzameld, kunnen met dit blokGroter danworden gebruikt om de drempelwaarde te bepalen die moet worden overschreden voordat het project naar het volgende blok in de stapel gaat.
Wijzig de tweede parameter van het blokGroter dannaar '9.'
Dit getal is gebaseerd op de waarden die zijn verzameld in de activiteit van de vorige les. De reflectiviteit werd gerapporteerd als 10% wanneer de groene schijf zich onder de objectsensor bevond, dus alles wat groter is dan9% zou gerapporteerd moeten worden alsTrue.

Voeg eenStopblok toe aan het einde van het project. Zorg ervoor dat de parameter is ingesteld op 'ExitConveyor4.'

Zorg ervoor dat de Brain is verbonden met VEXcode en download het project.

Lees de code en voorspel wat de transportbanden zullen doen als het project wordt uitgevoerd.
Noteer uw voorspelling in uw technisch notitieboekje.

Zorg ervoor dat er een groene schijf op de invoerband is geplaatst. Druk op de knop Check op de Brain om het project uit te voeren en te testen.
Observeer het gedrag van de transportbanden terwijl het project loopt.

Druk op de X knop op de Brain om het project te stoppen wanneer de transportbanden klaar zijn met bewegen. Noteer uw observaties in uw technisch notitieboekje.
Bewogen de transportbanden zoals u had voorspeld? Is de groene schijf zoals bedoeld naar de uitvoerband verplaatst? Waarom wel of waarom niet?

Het project beoordelen
Laten we de projectstroom in dit project eens bekijken, waarbij de Exit Conveyor werd gestopt toen de groene schijf werd gedetecteerd door de objectsensor. Het blokWacht totzorgt ervoor dat het project pas verdergaat als aan de voorwaarde is voldaan en deze als WAAR wordt gerapporteerd.

Omdat hetSpinblok een niet-wachtend blok is, kan de CTE-werkcel de transportbandmotor blijven laten draaien terwijl de waarden van de objectsensor worden gecontroleerd en de reflectiviteit groter is dan 9%. Nadat de voorwaarde in het blokWacht totalsTRUE wordt gerapporteerd, gaat het project naar het volgende blok in de stapel en stopt de Exit Conveyor-motor.
Ter informatie
Een andere combinatie van blokken kan in een project worden gebruikt om de uitvoerband te stoppen wanneer een object zich onder de objectsensor bevindt. Het blokSet Detection Thresholdkan aan het begin van een project worden gebruikt om de drempelwaarde in te stellen, net zoals het blokGreater thandat deed in het hierboven gebouwde project.

Zodra de drempelwaarde is ingesteld, kan het Booleaanse blokDetecteert objectworden gebruikt in alle blokken met hexagonale ruimtes. Dit blok rapporteert TRUE wanneer de detectiedrempel die is gedefinieerd door het blokSet detection thresholdis bereikt, of FALSE wanneer het reflectiepercentage onder die drempel ligt.

Omdat het blokDetecteertobjecteen Booleaans blok is, past het direct in het blokWacht tot.

Controleer uw begrip
Voordat u doorgaat naar de volgende les, moet u ervoor zorgen dat u de concepten in deze les begrijpt door de volgende vragen in uw technische notitieboekje te beantwoorden.
Controleer uw begrip vragen > (Google Doc / .docx / .pdf)
Selecteer Volgende > om door te gaan naar de activiteit Alles bij elkaar brengen.