======Computer-b-gone Teensy====== ===== Matériel ===== Basé sur une Teensy 2 http://snootlab.com/417-teensy-20-usb-fr.html ===== Installation Logiciels ===== - Installer IDE Arduino 1.8.1 https://www.arduino.cc/en/Main/Software (paquet debian à la version 2 ?!) - Il faut installer des morceaux pour que cette teensy 2 cause avec l'IDE Arduino * suivre tuto là https://www.pjrc.com/teensy/teensyduino.html * les règles udev https://www.pjrc.com/teensy/49-teensy.rules Copier les règles UDEV sudo cp 49-teensy.rules /etc/udev/rules.d/ ça donne en débranchant, rebranchant : Mar  1 01:24:31 db kernel: [19874.712077] usb 4-1.4: new full-speed USB device number 5 using ehci-pci Mar  1 01:24:31 db kernel: [19874.822476] usb 4-1.4: New USB device found, idVendor=16c0, idProduct=0483 Mar  1 01:24:31 db kernel: [19874.822483] usb 4-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Mar  1 01:24:31 db kernel: [19874.822487] usb 4-1.4: Product: USB Serial Mar  1 01:24:31 db kernel: [19874.822490] usb 4-1.4: Manufacturer: Teensyduino Mar  1 01:24:31 db kernel: [19874.822493] usb 4-1.4: SerialNumber: 12345 Mar  1 01:24:31 db kernel: [19874.823019] cdc_acm 4-1.4:1.0: ttyACM0: USB ACM device soit installer teensy et teensyduino.32bit ou 64 bit https://www.pjrc.com/teensy/td_download.html avec l'installeur, ça donne au final (indiquer le répertoire où est décompressé Arduino IDE 1.8.1) : {{:Teensy-arduino.png|fig:Teensy-arduino.png}} * Dans l'IDE Arduino doit apparaitre : board Teensy 2 et USB Type : "Keyboard, mouse and joystick" {{media_13:usb_mouse.gif|centré centré}} ===== Programme pour déclenchement événement clavier ===== * Voir http://www.instructables.com/id/PC-B-Gone-V1/?ALLSTEPS pour code initial * Les codes du clavier https://www.pjrc.com/teensy/usb_keyboard.html * faire bouger la souris https://www.pjrc.com/teensy/usb_mouse.html Les raccourcis mac os KEY_LEFT_GUI // pour la touche command ou pomme * https://gist.github.com/mschmitt/4689854 // Code writen by Matthew Varian www.3too1.com // modified by b01 // Free for distrubution and use int a=0; //define analog input pin int b=-9 ; //defines photocell trigger value void setup() { pinMode(a, INPUT); //set analog pin as input } void loop() { if(analogRead(a)>b) //if photocell is over trigger value { //send alt-f4 command // Keyboard.set_modifier(MODIFIERKEY_ALT); // Keyboard.send_now(); // Keyboard.set_key1(KEY_F4); // Keyboard.send_now(); Keyboard.set_modifier(MODIFIERKEY_CTRL); Keyboard.send_now(); Keyboard.set_modifier(MODIFIERKEY_ALT); Keyboard.send_now(); Keyboard.set_key1(KEY_DELETE); Keyboard.send_now(); Keyboard.set_modifier(0); Keyboard.set_key1(0); Keyboard.send_now(); //wait 1sec delay(1000); } } ===== Programme pour pilotage Souris ===== /* Simple USB Mouse Example Teensy becomes a USB mouse and moves the cursor in a triangle You must select Mouse from the "Tools > USB Type" menu This example code is in the public domain. */ // Mouse.click(MOUSE_LEFT); long randX; long randY; long randD; float inc = 0; //we use this to increment our angle float xPos; float yPos; float rad = 0; // the radius of our circle (it will be increasing) float decalx; float decaly; int i; void setup() { Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(5, 5); } void loop() { // Barre de navig Bas //Mouse.move(0, 0); -127 127 bas à gauche //Mouse.move(5, -5); //delay(250); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, 127); Mouse.move(-127, -5); for (i=0; i<400; i++) { decalx = 5; Mouse.move(decalx, 0); Mouse.click(MOUSE_LEFT); delay(5); } // Triangle for (i=0; i<100; i++) { Mouse.move(2, -1); Mouse.click(MOUSE_LEFT); delay(5); } for (i=0; i<100; i++) { Mouse.move(2, 2); Mouse.click(MOUSE_LEFT); delay(5); } for (i=0; i<100; i++) { Mouse.move(-4, -1); Mouse.click(MOUSE_LEFT); delay(5); } // Random for (i=0; i<100; i++) { randX = random(-100, 100); randY = random(-100, 100); randD = random(5, 100); Mouse.move(randX, randY); Mouse.click(MOUSE_LEFT); delay(randD); } // Ellipse generator for (i=0; i<400; i++) { xPos = cos(radians(inc)) * rad; // so now we get results between -radius and radius yPos = sin(radians(inc)) * rad; Serial.println('x ', xPos); Serial.println('y ', yPos); Mouse.move(xPos, yPos); Mouse.click(MOUSE_LEFT); //we increase both the radius and the angle //note how the angles used to draw remain the same all the time even though the radius is changing //play around with this values to alter the shape of the spiral inc += 100; rad += 1; delay(25); } // Final shutdown for (i=0; i<400; i++) { Keyboard.set_modifier(MODIFIERKEY_ALT); Keyboard.send_now(); Keyboard.set_key1(KEY_F4); Keyboard.send_now(); //Keyboard.set_modifier(MODIFIERKEY_CTRL); //Keyboard.send_now(); //Keyboard.set_modifier(MODIFIERKEY_ALT); //Keyboard.send_now(); //Keyboard.set_key1(KEY_DELETE); //Keyboard.send_now(); Keyboard.set_modifier(0); Keyboard.set_key1(0); Keyboard.send_now(); //wait 1sec delay(1000); } } ===== Pour récupérer le controle ===== - brancher- débrancher le teensy - fermer le logiciel annexe de gestion du teensy - rebrancher le teensy - appuyer sur le bouton de reboot {{tag>bj micro_ordinateur teensy computer-b-gone}}