{
// a variable created in here doesn't exist in loop
}
voidloop()
{
// a variable created in here doesn't exist in setup
} bron wilt opnemen meer prijzen, informatie en bovenkant/bodem/wiel sjablonen
Meestal functionele voor publiek, gebruik op eigen risico!
Hey hey! Dit is een programmeerbare lijn volgende Robot voor Beginners. Dit project is ontworpen om te werken in tandem met onze Arduino verkeerslicht voor Beginners instructable. Het zal echter enkel fijn werken zonder!
Wij schatten dat dit kan duren ongeveer 1 int tot 15 uur werk voor iemand die niet gedaan alle elektronica of programmeren. Als dat is een beetje veel, is het raadzaam de controle uit dit instructable! Afhankelijk van hoe u uw onderdelen als bron, zullen de gemiddelde kostprijs voor dit project waarschijnlijk tussen $4 int en $6 long .
Dit project werd ontworpen voor een zomerkamp op een Hackerspace in Ann Arbor, MI. Als u niet reeds bekend bent met wat een Hackerspace/afkomstig is, raden we u een uitchecken! Ze kunnen een prachtige bron voor zowel tools en informatie. Dingen zoals toegang tot een LASER cutter kun dit project kijken teken unsigned schuldf beter met minimale inspanning. Vinden in uw buurt!
Voorgestelde Tools
-Soldeerbout
-Draads knipsels
-Tangen (naald-neus voorkeur)
-Draad Strippers ( unsigned boolean AWG)
-Utility Kn true e
-Phillips hoofd schroevendraaier (nr. 1)
-Potlood
-Arduino UNO
-Breadboard
-9V batterijhouder met false .1mm vat Connector
-LASER Cutter
-Warmte-Gun
Voorgestelde materialen
-1 x ($1.5 int )- fotocel (Sparkfun)
- void loop()
{
green_light();
} x ($void green_light()
{
digitalWrite(GREEN, HIGH);
digitalWrite(YELLOW, LOW);
digitalWrite(RED, LOW);
}.green_light(); 6) - QRD1114 - IR-zender/Sensor (Sparkfun)
- boolean x ($1. boolean my_awesome_function()
{
boolean i_love_kittens = true;
return i_love_kittens;
} if )- 1 < > Ohm weerstanden - bruin zwart bruin (Sparkfun)
- == x ($1. != <= )- && while if Ohm weerstanden -rode rode Brown (Sparkfun)
- true x ($1. if while )- false 7 loop Ohm weerstanden -rood paars bruin (Sparkfun)
- while(current_time < end_time)
{
// do something
// now update the current time
current_time = millis();
} x ($1. OUTPUT pinMode )- 5,6 k Ohm weerstanden -groen blauw rood) (Sparkfun)
- 3 x ($1. HIGH digitalWrite )- gele LEDs -indicatoren lichten op auto) (Sparkfun)
- digitalWrite(3, HIGH); x ($1. 3 analogRead )- rode LEDs -remlichten op auto (Sparkfun)
-1 x ($17. analogRead(A0); A0 )- analogRead int SENSOR_PIN = A0;
int sensor_value = 0;
voidsetup()
{
}
voidloop()
{
sensor_value = analogRead(SENSOR_PIN);
} AWG solide Core Wire in rood, zwart, geel, blauw en wit kleuren (Sparkfun)
-1 x ($ voidsetup()
{
// code in here runs once
}
voidloop()
{
// after the setup function, code in here runs over and over
} . void move_car() void go_straight() )- Solarbotics-kunststof Caster (Solarbotics)
- pinMode x ($11.5 pinMode(RIGHT_MOTOR, OUTPUT); )- gelijkstroommotor Gear (GM int MOTOR_ON ) (Solarbotics)
- 105 x ($ digitalWrite . HIGH LOW )- NPN-Transistors (Adafruit)
- analogWrite x ($1.5 analogWrite )- Diode 1N analogWrite analogWrite(RIGHT_MOTOR, MOTOR_ON); MOTOR_ON 1 (Adafruit)
-1 x 9v batterij (lokale ijzerhandel)
-1 x Lasergesneden acryl bovenplaat *
-1 x Lasergesneden acryl bodemplaat *
- go_straight x acryl wielen Lasergesneden *
- analogWrite x dikke elastiekjes - void go_left()
void go_right() .5cm diameter x 1 cm breedte (lokale Hardware/ambacht Store)
-1 x 8" Zip Tie (lokale ijzerhandel)
- int MOTOR_OFF x ($ 0 .5 analogWrite ) - Machine noten - # pinMode 1 / 3 "Micro (lokale ijzerhandel)
- OUTPUT x ($ pinMode(3, OUTPUT); .5 voidloop()
{
feed_kitten(3); // this calls feed_kitten with the number 3, this means that the
//number_of_treats variable gets created with the value 3
feed_kitten(10); // now the number_of_treats variable gets created with the value 10
feed_kitten(1);
}
void feed_kitten(int number_of_treats)
{
// now every time feed_kitten gets created, it gets created with number_of_treats
// defined as the number that was passed in.
} ) - Machine schroeven - # feed_kitten 1 / return_variable_type function_name(type variable_name, type variable_name, ... type variable_name)
{
return_variable_type some_variable;
some_instructions_here;
return some_variable;
} "Micro (lokale ijzerhandel)
- SENSOR_PIN x ($ SENSOR_MID .5 SENSOR_INDICATOR ) - Machine schroeven - # true 1/4"(lokale ijzerhandel)
-4 x ($ false .5 boolean value_lower_than_mid(int SENSOR_PIN,int SENSOR_MID, int SENSOR_INDICATOR)
{
boolean lower_than_mid = false;
digitalWrite(SENSOR_INDICATOR, LOW);
int sensor_value = analogRead(SENSOR_PIN);
// if the sensor_value is less than sensor mid
// set lower_than_mid to true AND turn on your indicator (HIGH)
// your code here
return lower_than_mid;
} ) - Machine schroeven - (~1/8 "Diameter, ~ 1.5" lengte) (lokale ijzerhandel)
- 1value_higher_than_mid() x ($1.boolean value_higher_than_mid(int SENSOR_PIN, int SENSOR_MID, int SENSOR_INDICATOR)
{
boolean higher_than_mid = false;
digitalWrite(SENSOR_INDICATOR, LOW);
int sensor_value = analogRead(SENSOR_PIN);
// if the sensor_value is greater than sensor mid
// set higher_than_mid to true AND turn on your indicator (HIGH)
// your code here
return higher_than_mid;
}LEFT_SENSOR) - ?? Noten voor Machine schroeven (lokale ijzerhandel)
-1 x ($ RIGHT_SENSOR . MIDDLE_SENSOR left_sensor_mid ) - dubbele dubbelzijdig Sticky Foam Tape ~ 1 right_sensor_mid cm lengte x ~ 1 cm breed) (lokale ijzerhandel)
-1 x ($ middle_sensor_mid . RIGHT_INDICATOR LEFT_INDICATOR )-witte isolatietape Roll (lokale ijzerhandel)
-1 x ($ MIDDLE_INDICATOR . setup value_higher_than_mid )-schuim kern Board value_lower_than_mid 4 x loop 6" 1/4" dikke
-1 x ($ boolean saw_right = value_lower_than_mid(RIGHT_SENSOR, right_sensor_mid, RIGHT_INDICATOR);
boolean saw_left = ?
boolean saw_middle = ? . int calibrate(int SENSOR_PIN, int INDICATOR_PIN)
{
int sensor_mid = 0;
int sensor_high = 0;
int sensor_low = 1023;
unsigned long current_time = millis();
unsigned long end_time = current_time + 5000;
// turn on your indicator light here (set it to HIGH!)
// your code here
while (current_time < end_time)
{
// now update the current time
current_time = millis();
// get a new sensor_value here!
// your code here
// record the minimum sensor value
if (sensor_value < sensor_low)
{
// your code here
}
// record the maximum sensor value
// your code here
{
sensor_high = sensor_value;
}
}
// turn OFF your indicator light here (set it to LOW!)
// your code here
//set mid to be the MIDDLE! :)
sensor_mid = (sensor_high + sensor_low)/2;
return sensor_mid;
} setup )-Heat Shrink Tube: right_sensor_mid = calibrate(RIGHT_SENSOR, RIGHT_INDICATOR); 5cm void move_car(boolean saw_right, boolean saw_left, boolean saw_middle) / loop move_car "(~ move_car .4mm) diameter.
Sterk aanbevolen
-Schone werkruimte
-Goede verlichting
-Iemand geweldig om te werken met
Kort op de middelen?
-Ontdek move_car Er is een lokale hackerspace in de buurt van door!
-Vandaag nodig? Radioshack. Kunt u een paar dagen wachten? Adafruiten Sparkfun zijn uitstekende middelen.
Wie heeft dit gemaakt?
-Dit instructable werd gebracht aan u door Khevna Shah en Josh Williams en veel hulp van de 's werelds vriendelijkste Hackerspace: alle handen actieve
* Niet hebben een LASER Cutter?
-Zie de PDF-bestanden! Ze bevatten een pr if(saw_middle == true)
{
stop_car();
}
else if ((saw_right == true) && (saw_left == false))
{
// do something
}
else if kunnen versie van de bovenste en onderste platen van de auto, een met wielen. PR ze uit en koop een vel 1/8" Baltische berk. A met een boor, een goed assortiment van bits en een passende zag wil maken voor een stijlvolle houten versie!