User Tools

Site Tools


berend

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
berend [2019/03/20 11:13] – [zelf meenemen :] wrusmanberend [2019/06/28 12:37] (current) – [Wat krijg je als je meedoet aan de workshop :] wrusman
Line 12: Line 12:
    
  
-  * lasergesneden houten robot frame (halve plaat 3mm triplex = 1,50 ) +  * lasergesneden houten robot frame  
-  * Arduino Nano Strong (2,63) +  * Arduino Nano Strong  
-  * 4 MG90S Servo'(1,66 x 4 = 6,64) +  * 4 MG90S Servo's  
-  * HC-SR04 ultrasone afstendmeter (0,69)+  * HC-SR04 ultrasone afstendmeter 
   * beetje houtlijm voor de te lijmen delen   * beetje houtlijm voor de te lijmen delen
   * 10 schroefjes voor het vastzetten van de arduino, de servo's en de voeten   * 10 schroefjes voor het vastzetten van de arduino, de servo's en de voeten
Line 25: Line 25:
   * Een laptop met werkende arduino suite (regel dit van tevoren!)   * Een laptop met werkende arduino suite (regel dit van tevoren!)
   * Extra dingen die je op of in Berend wilt plakken / lijmen / laseren / whatever   * Extra dingen die je op of in Berend wilt plakken / lijmen / laseren / whatever
-  * Optioneel Een powerbank of andere batterij als je hem meteen los wilt laten lopen. De arduino slikt 7-12v via de power connector of 5v via de usb plug  (misschien goede opties : [[https://www.aliexpress.com/item/7-4V-600mAh-Balance-Plugs-Rechargeable-Li-ion-Battery-with-USB-Charger-for-RC-Boat-Skytech/32934799228.html|AliExpress]] [[https://www.conrad.nl/p/reely-lipo-accupack-74-v-600-mah-aantal-cellen-2-15-c-softcase-bec-bus-1614803|conrad]]+  * Optioneel Een powerbank of andere batterij als je hem meteen los wilt laten lopen. De arduino slikt 7-12v via de power connector of 5v via de usb plug  (misschien goede opties : [[https://www.aliexpress.com/item/7-4V-600mAh-Balance-Plugs-Rechargeable-Li-ion-Battery-with-USB-Charger-for-RC-Boat-Skytech/32934799228.html|AliExpress]] [[https://www.conrad.nl/p/reely-lipo-accupack-74-v-600-mah-aantal-cellen-2-15-c-softcase-bec-bus-1614803|conrad]] )
  
 ==== Wat houdt de workshop in : ==== ==== Wat houdt de workshop in : ====
Line 31: Line 31:
 Tijdens de workshop krijg je uitleg over de verschillende componenten die gebruikt worden, bouw je het robotje en krijg je voorbeeld programma's die uitleggen hoe je de verschillende componenten aanstuurt. Uiteraard is er ruimte zat om hierna nog tot diep in de nacht te stoeien met de bewegingen die er voor zorgen dat Berend gaat lopen en reageren op obstakels.  Tijdens de workshop krijg je uitleg over de verschillende componenten die gebruikt worden, bouw je het robotje en krijg je voorbeeld programma's die uitleggen hoe je de verschillende componenten aanstuurt. Uiteraard is er ruimte zat om hierna nog tot diep in de nacht te stoeien met de bewegingen die er voor zorgen dat Berend gaat lopen en reageren op obstakels. 
  
-{{:berend:berend_handleiding.pdf}}+{{ :berend:berend_handleiding.pdf |}}
  
-==== Kosten : ==== + 
-De kosten (opgeteld van hierboven) voor de onderdelen zijn afgerond 12,- per deelnemer\\ + 
-Voor niet-deelnemers geld er een toeslag van 10,- + 
 +==== Arduino Type : ==== 
 +Er is een kans dat Mac en Windows gebruikers extra [[https://sparks.gogo.co.nz/ch340.html|drivers]] moeten installeren zodat de Arduino door hun computers herkent wordt. Op Linux zouden de drivers standaard beschikbaar moeten zijn. Het type Arduino is een "Arduino Nano" met processor type "ATmega328p (old bootloader)
 + 
 +==== Code ==== 
 +basis code voor lopen : 
 +<code> 
 +#include <Servo.h> 
 + 
 +Servo lefthip;    // create servo object to control the left hip servo 
 +Servo leftfoot;   // create servo object to control the left foot servo 
 +Servo righthip;   // create servo object to control the right hip servo 
 +Servo rightfoot;  // create servo object to control the right foot servo 
 + 
 + 
 +void setup() { 
 +  lefthip.attach(2);    // attaches the servo on pin 2 to the left hip servo object 
 +  leftfoot.attach(3);   // attaches the servo on pin 3 to the left foot servo object 
 +  righthip.attach(5);  // attaches the servo on pin 5 to the right hip servo object 
 +  rightfoot.attach(4);  // attaches the servo on pin 4 to the right foot servo object 
 +  lefthip.write(90);    // center the servo 
 +  leftfoot.write(90);    // center the servo 
 +  righthip.write(90);    // center the servo 
 +  rightfoot.write(90);    // center the servo 
 +
 + 
 + 
 +void loop() { 
 +  stepforward(10); 
 +  delay(10000); 
 +
 + 
 +void stepforward(int steps) 
 +
 +  moveServo(rightfoot,90,60); 
 +  moveServo(leftfoot,90,50); 
 + 
 +  moveServo(lefthip,90,60); 
 +  moveServo(righthip,90,60); 
 + 
 +  for (int x=0; x <= steps; x++){ 
 + 
 +  moveServo(leftfoot,50,90); 
 +  moveServo(rightfoot,60,90); 
 +  moveServo(leftfoot,90,120); 
 +  moveServo(rightfoot,90,130); 
 +   
 +  moveServo(righthip,60,120); 
 +  moveServo(lefthip,60,120); 
 +     
 +  moveServo(rightfoot,130,90); 
 +  moveServo(leftfoot,120,90); 
 +  moveServo(rightfoot,90,60); 
 +  moveServo(leftfoot,90,50); 
 + 
 +  moveServo(lefthip,120,60); 
 +  moveServo(righthip,120,60); 
 +  } 
 + 
 +  moveServo(leftfoot,50,90); 
 +  moveServo(righthip,60,90); 
 +  moveServo(lefthip,60,90); 
 +  moveServo(rightfoot,60,90); 
 + 
 +
 + 
 + 
 +void moveServo(Servo servoName, int oldAngle, int newAngle) 
 +
 +  if (newAngle > oldAngle){ 
 +    for (int x=oldAngle; x <= newAngle; x++) 
 +    { 
 +      servoName.write(x);  
 +      delay(10); 
 +    } 
 +  } 
 +  if (newAngle < oldAngle){ 
 +    for (int x=oldAngle; x >= newAngle; x--) 
 +    { 
 +      servoName.write(x); 
 +      delay(10);  
 +    } 
 +  } 
 +   
 +
 +</code>
  
berend.1553076794.txt.gz · Last modified: 2022/09/29 21:25 (external edit)