{"id":5299,"date":"2022-10-24T23:43:09","date_gmt":"2022-10-24T21:43:09","guid":{"rendered":"https:\/\/entropie.org\/3615\/?p=5299"},"modified":"2022-10-25T00:52:34","modified_gmt":"2022-10-24T22:52:34","slug":"alpha-rex-2-1","status":"publish","type":"post","link":"https:\/\/entropie.org\/3615\/index.php\/2022\/10\/24\/alpha-rex-2-1\/","title":{"rendered":"Alpha Rex 2.1"},"content":{"rendered":"<p><a href=\"https:\/\/entropie.org\/3615\/wp-content\/uploads\/2022\/10\/DSC_6953-1024x680-1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/entropie.org\/3615\/wp-content\/uploads\/2022\/10\/DSC_6953-1024x680-1.jpg\" alt=\"\" width=\"1024\" height=\"680\" class=\"alignnone size-full wp-image-5298\" srcset=\"https:\/\/entropie.org\/3615\/wp-content\/uploads\/2022\/10\/DSC_6953-1024x680-1.jpg 1024w, https:\/\/entropie.org\/3615\/wp-content\/uploads\/2022\/10\/DSC_6953-1024x680-1-300x199.jpg 300w, https:\/\/entropie.org\/3615\/wp-content\/uploads\/2022\/10\/DSC_6953-1024x680-1-768x510.jpg 768w\" sizes=\"(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/a><\/p>\n<p>Programmation en NXC (extraits) :<\/p>\n<pre>\r\n\/\/ Jambe droite : Moteur B + Capteur de contact 1\r\n#define RIGHT_MOTOR         OUT_B\r\n#define RIGHT_TOUCH         S1\r\n#define RIGHT_TOUCH_VAL     SENSOR_1  \/\/ Valeur de S1\r\n\r\n\/\/ Jambe gauche : Moteur C + Capteur de contact 2\r\n#define LEFT_MOTOR          OUT_C\r\n#define LEFT_TOUCH          S2\r\n#define LEFT_TOUCH_VAL      SENSOR_2  \/\/ Valeur de S2\r\n\r\n\/\/ Les 2 jambes \u00e0 la fois\r\n#define MOTORS              OUT_BC\r\n\r\n\/\/ Marche avant \/ arri\u00e8re\r\n#define FORWARDS 1\r\n#define BACKWARDS 2\r\n\r\n\/\/ Les autres capteurs utilis\u00e9s \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\r\n\r\n\/\/ Capteur ultrasonique\r\n#define ULTRASONIC          S4\r\n#define ACTIVE_DISTANCE 30\r\n\r\n\/\/ IMU (Inertial Motion Unit)\r\n\/\/ https:\/\/www.dexterindustries.com\/manual\/imu-sensor\/\r\n#define IMU                 S3\r\n#define IMU_ACC_ADDR 0x3A\r\n#define IMU_GYR_ADDR 0xD2\r\n\r\n\/\/ Les autres capteurs potentiels \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\r\n\r\n\/\/ Capteur de couleurs\r\n#define COLOR               S3\r\n#define COLOR_VAL           SENSOR_3  \/\/ Valeur de S3\r\n\r\n\/\/ Capteur de sons\r\n#define SOUND               S4\r\n#define SOUND_VAL           SENSOR_4  \/\/ Valeur de S4\r\n<\/pre>\n<pre>\r\nvoid walkAngle (int direction, long angle) {\r\n  \r\n  ResetTachoCount(MOTORS);\r\n  switch (direction) {\r\n    case FORWARDS:\r\n      \/\/ Les moteurs avancent synchronis\u00e9s \u00e0 la vitesse de 50 %\r\n      OnFwdReg(MOTORS, 50, OUT_REGMODE_SYNC);\r\n      while (MotorTachoCount(RIGHT_MOTOR) != angle);\r\n      break;\r\n    case BACKWARDS:\r\n      \/\/ Les moteurs reculent synchronis\u00e9s \u00e0 la vitesse de 50 %\r\n      OnRevReg(MOTORS, 50, OUT_REGMODE_SYNC);\r\n      while (MotorTachoCount(RIGHT_MOTOR) != -angle);\r\n      break;\r\n  }\r\n  Off(MOTORS);\r\n}\r\n<\/pre>\n<pre>\r\nvoid walkDuration (int direction, unsigned long duration) {\r\n\r\n  unsigned long t0 = CurrentTick();  \/\/ Renvoie le temps en ms\r\n  switch (direction) {\r\n    case FORWARDS:\r\n      \/\/ Les moteurs avancent synchronis\u00e9s \u00e0 la vitesse de 50 %\r\n      OnFwdReg(MOTORS, 50, OUT_REGMODE_SYNC);\r\n      while (CurrentTick () - t0 < duration);\r\n      break;\r\n    case BACKWARDS:\r\n      \/\/ Les moteurs reculent synchronis\u00e9s \u00e0 la vitesse de 50 %\r\n      OnRevReg(MOTORS, 50, OUT_REGMODE_SYNC);\r\n      while (CurrentTick () - t0 < duration);\r\n      break;\r\n  }\r\n  Off(MOTORS);\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Programmation en NXC (extraits) : \/\/ Jambe droite : Moteur B + Capteur de contact 1 #define RIGHT_MOTOR OUT_B #define RIGHT_TOUCH S1 #define RIGHT_TOUCH_VAL SENSOR_1 \/\/ Valeur de S1 \/\/ Jambe gauche : Moteur C + Capteur de contact 2 #define LEFT_MOTOR OUT_C #define LEFT_TOUCH S2 #define LEFT_TOUCH_VAL SENSOR_2 \/\/ Valeur de S2 \/\/ Les &hellip; <a href=\"https:\/\/entropie.org\/3615\/index.php\/2022\/10\/24\/alpha-rex-2-1\/\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;Alpha Rex 2.1&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,23],"tags":[],"class_list":["post-5299","post","type-post","status-publish","format-standard","hentry","category-lego-mindstorms-nxt","category-robots"],"_links":{"self":[{"href":"https:\/\/entropie.org\/3615\/index.php\/wp-json\/wp\/v2\/posts\/5299"}],"collection":[{"href":"https:\/\/entropie.org\/3615\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/entropie.org\/3615\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/entropie.org\/3615\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/entropie.org\/3615\/index.php\/wp-json\/wp\/v2\/comments?post=5299"}],"version-history":[{"count":15,"href":"https:\/\/entropie.org\/3615\/index.php\/wp-json\/wp\/v2\/posts\/5299\/revisions"}],"predecessor-version":[{"id":5314,"href":"https:\/\/entropie.org\/3615\/index.php\/wp-json\/wp\/v2\/posts\/5299\/revisions\/5314"}],"wp:attachment":[{"href":"https:\/\/entropie.org\/3615\/index.php\/wp-json\/wp\/v2\/media?parent=5299"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/entropie.org\/3615\/index.php\/wp-json\/wp\/v2\/categories?post=5299"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/entropie.org\/3615\/index.php\/wp-json\/wp\/v2\/tags?post=5299"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}