Robot orm (2 / 16 steg)
Steg 2: Fotocell sensorer
Vi kommer att gå igenom denna fotocell steg ganska snabbt, så om du behöver mer information eller detaljer, titta här: fotocell handledning, det är en instructable för att upprätta en enkel fotocell sensor. Vi kommer att använda samma inställning och liknande kod i vårt projekt.
Varför vi behöver sensorer
I det här steget som vi kommer att sätta upp tre fotocell sensorer, kommer alla dessa att behövas att slutföra ormen. Två av dessa sensorer blir riktad sensorer, kontrollera motorerna. Mer ljus antingen höger eller vänster sensorn kommer att ha kommer att kontrollera hur mycket ström av motorerna kommer att få, styrning av hastighet och riktning av ormens rörelse. Den senaste sensorn blir sensorn för miljöbelysningen, upptäcka hur mycket ljus som i rummet. Detta är nödvändigt för varje riktad sensorer så de kan berätta hur mycket mer ljus riktas mot dem. och det är nödvändigt för lysdioderna, om rummet är mörkt, tänds lamporna.
Ställa in kretsen
Vi använde en liknande setup som instructable exemplet för vår fotocell sensorer. När får en sensor, är det exakt samma. Se bara till att analoga stiften placeras i stift 2-5, som motorerna kommer att använda 0 och 1 (även om de inte är anslutna till dem). Vi har använt analog stift 3, 4 och 5. Där 3 och 4 är riktad sensorerna och 5 är den omgivande sensoren.
När du ställer in flera sensorer, bara använda exemplet med samma krets som den första. Varje sensor måste ha sin egen linje till makten och marken och kan inte ingå i samma krets; Detta kommer att underlätta efterbehandling ormen i framtida åtgärder. Kontrollera också att ditt motstånd är samma, eftersom detta påverkar de analoga avläsningarna, måste vi alla sensorer till att läsa liknande värden.
Koden
/*
int photocellReading3; analog läsning från analoga resistor avdelare
int photocellReading4; analog läsning från analoga resistor avdelare
int photocellReading5; analog läsning från analoga resistor avdelare
void setup(void) {
Serial.BEGIN(9600);
}
void loop(void) {
photocellReading3 = analogRead(3); basera ljus läsning
Serial.Print ("Analog läsning 3 =");
Serial.println(photocellReading3); den råa analoga behandlingen
photocellReading4 = analogRead(4); kommer att gå till motor 1
Serial.Print ("Analog läsning 4 =");
Serial.println(photocellReading4); den råa analoga behandlingen
photocellReading5 = analogRead(5); kommer att gå till motor 2
Serial.Print ("Analog läsning 5 =");
Serial.println(photocellReading5); den råa analoga behandlingen
Serial.println("");
Delay(1000);
}
*/
Igen, koden liknar fotocellen instructable. Vi skapar photocellReading variabler för att lagra de analoga avläsningarna från stiften och sedan starta huvudloop. Vi kommer att ange variabeln till den analoga behandlingen och skriva ut den för att se om det fungerar. Vi paus i 1 sekund, eller annars behandlingen kommer att skriva ut så fort vi kommer att kunna läsa dem.
Leka med sensorer. Lyser en ficklampa i dem att göra avläsningar spike, täcka dem för att göra mätvärdena som släppa. Dina mätvärden kan ha olika värden än vår, detta är okej. Varje sensor är olika och det beror på det omgivande ljuset i rummet på gång.
I nästa steg ska vi använda dessa värden för att styra motorerna.