Stap 6: Bouwen de Target-deel 4
***********************************************
Bijwerken. Ik ben het toevoegen van een uitleg van wat is in elke stap gaande er. In deze stap beginnen we met de IR-sensor. De sensor is het toestaan van 5v passeren een hoge signaal aan het 555 timer-circuit. Als de IR-sensor een IR-input ontvangt overschakelt het, signaal naar de 555 timer laag. Dat is waar de IR sensoren baan eindigt.
De 555 timer neemt hier over. Het circuit van de 555 timer steekt een laag signaal via de uitgang-pins totdat zij een laag signaal via de invoer pin van de IR-sensor heeft ontvangen. Een laag op de invoer pin-triggers het circuit te sturen dat de uitgang pins hoog voor een bedrag van tijd bepaald door de waarde van de weerstand en een condensator, waarna het signaal naar de uitgang-pins wordt genomen laag weer.
Dit is waar de Ardiuno komt. Het belangrijkste doel van de Arduino is een pwm-signaal om te rijden de servo leveren. De Arduino een signaal vertellen de servo naar nul en wordt de lus in deze toestand wordt herhaald totdat het een hoog signaal van de 555 timer op de aangewezen invoer pin ontvangt (A0 in dit geval). Wanneer A0 ontvangt een hoog signaal de Arduino een pwm-signaal vertellen de servo genereert naar 90 graden dan de schets loops terug naar het begin en blijft de lus in de 90 graden staat herhaal tot A0 een laag weer van de 555 timer ontvangt en keert terug naar nul. Vergeet niet dat het 555 circuit blijft hoog voor een bepaalde hoeveelheid tijd toestaan ons te houden van het signaal hoog en de servo op 90 graden voor een paar seconden zonder dat een vertraging in de schets.
Mogelijk is er een manier om te elimineren van de 555 timer door zoiets als het knipperen zonder vertraging schets te houden van de servo op 90 graden voor een paar seconden aan te passen. Ik heb op mijn eigen aan te passen van het knipperen zonder vertraging code echter waarschijnlijk vanwege mijn gebrek aan begrip dat ik nog niet succesvol geweest bij het. Dus voor nu zal ik stick met mijn hardwareoplossing.
Er is een voordeel voor de met behulp van de 555 timer-circuit. De output van de 555 circuit kan bijvoorbeeld worden gebruikt voor minder complexe taken, een relais, oplichten sommige LEDs, iets dat kan gebeuren met eenvoudige hoge en lage signalen kunnen worden gecontroleerd door de timer te activeren. Dit laat de Arduino gratis om meer complexe taken te doen. Ook breidt het het aantal mogelijke doelwitten. Een Arduino Nano heeft 8 analoge pinnen. Als gevolg van mijn beperkte kennis van programmeren dat alleen geeft me 8 ingangen voor doelstellingen, die op zijn beurt gebruik ik alleen 8 digitale pinnen waar de output heengaat doelen. Dus mijn Arduino beperkt tot 8 doelen is. Als ik moest gebruiken een 555 timer om te bepalen van Relais, lampen, is etc. het aantal mogelijke doelwitten onbeperkt.
Dit is een korte schets te beheersen een servo op digitale pin 6 met ingang van analoge pin A0
#include < Servo.h >
int sensorpin0 = A0; analoge pin gebruikt voor het aansluiten van de scherpe sensor
int val0 = 0; variabele voor het opslaan van de waarden van de sensor (aanvankelijk nul)
Servo myservo0; maken van servo-object om te bepalen van een servo
int pos = 0;
VOID Setup
{
Serial.begin(9600); Hiermee start u de seriële monitor
myservo0.attach(6); de servo op pin 7 hecht aan de servo-object
}
void loop
{
val0 = analogRead(sensorpin0); leest de waarde van de scherpe sensor
Als (val0 > 10) {}
myservo0.write(90); de positie van de servo naar 90 wijzigen
}
else {}
myservo0.write (0);}
}