[Arduino] Comprendre code
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

[Arduino] Comprendre code



  1. #1
    Grimdrasil

    [Arduino] Comprendre code


    ------

    Bonjour à tous,

    Je dois pour mon projet de terminale faire une code Arduino me permettant d'utiliser une douchette à barre code USB.
    J'ai donc fais des recherches sur Internet et j'ai trouvé un code que j'ai téléchargé pour l'étudier.
    Mais je ne comprends pas grand chose...
    Pourriez vous m'aider à le comprendre en le commentant ou en me répondant sur le topic?

    Merci à vous.

    Code :

    Lien supprimé

    -----
    Dernière modification par JPL ; 26/01/2017 à 23h09.

  2. #2
    JPL
    Responsable des forums

    Re : [Arduino] Comprendre code

    Deux options : ou bien tu postes le code en pièce jointe, ou bien tu le colle dans ton message* entre les balises [code]....[/code] mais en aucun cas sur un serveur externe. Merci.

    * Attention les retours à la ligne du code sont à la norme Unix et pas à la norme Windows.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  3. #3
    Grimdrasil

    Re : [Arduino] Comprendre code

    Je m'en excuse voilà le code :

    Code:
    /*   ******************************  www.electroingenio.com **********************************
     
    /*
    
        USB BAR CODE SCANNER USB HOST SHIELD TO DISPLAY BARCODE ON LCD
                ADAPTED USING OLEG MAZUROV ARDUINO CODE
     
      The circuit:
     * LCD RS pin to digital pin 7
     * LCD Enable pin to digital pin 6
     * LCD D4 pin to digital pin 5
     * LCD D5 pin to digital pin 4
     * LCD D6 pin to digital pin 3
     * LCD D7 pin to digital pin 2
     * LCD R/W pin to ground
     * 10K resistor:
     * ends to +5V and ground
     * wiper to LCD VO pin (pin 3)
     
    */
    #include <hid.h>                           //Add to Oleg Mazurov code to Bar Code Scanner
    #include <hiduniversal.h>                  //Add to Oleg Mazurov code to Bar Code Scanner
    #include <usbhub.h>
    
    #include <LiquidCrystal.h>
    #include <avr/pgmspace.h>
    #include <Usb.h>
    #include <usbhub.h>
    #include <avr/pgmspace.h>
    #include <hidboot.h>
    #define DISPLAY_WIDTH 16
     
    //initialize the LCD library with the numbers of the interface pins//
    
    LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
     
    USB     Usb;
    USBHub     Hub(&Usb);                                          //I enable this line
    HIDUniversal      Hid(&Usb);                                  //Add this line so that the barcode scanner will be recognized, I use "Hid" below 
    HIDBoot<HID_PROTOCOL_KEYBOARD>    Keyboard(&Usb);
     
    class KbdRptParser : public KeyboardReportParser
    {
            void PrintKey(uint8_t mod, uint8_t key);             // Add this line to print character in ASCII
    protected:
    	virtual void OnKeyDown	(uint8_t mod, uint8_t key);
    	virtual void OnKeyPressed(uint8_t key);
    };
     
    void KbdRptParser::OnKeyDown(uint8_t mod, uint8_t key)	
    {
        uint8_t c = OemToAscii(mod, key);
     
        if (c)
            OnKeyPressed(c);
    }
     
    /* what to do when symbol arrives */
    void KbdRptParser::OnKeyPressed(uint8_t key)	
    {
    static uint32_t next_time = 0;      //watchdog
    static uint8_t current_cursor = 0;  //tracks current cursor position  
     
        if( millis() > next_time ) {
          lcd.clear();
          current_cursor = 0;
          delay( 5 );  //LCD-specific 
          lcd.setCursor( 0,0 );
        }//if( millis() > next_time ...
     
        next_time = millis() + 200;  //reset watchdog
     
        if( current_cursor++ == ( DISPLAY_WIDTH + 1 )) {  //switch to second line if cursor outside the screen
          lcd.setCursor( 0,1 );
        }
     
        Serial.print( (char)key );      //Add char to print correct number in ASCII
        lcd.print( (char)key );          //Add char to print correct number in ASCII
    };
     
    KbdRptParser Prs;
     
    void setup()
    {
        Serial.begin( 115200 );
        Serial.println("Start");
     
        if (Usb.Init() == -1) {
            Serial.println("OSC did not start.");
        }
     
        delay( 200 );
     
        Hid.SetReportParser(0, (HIDReportParser*)&Prs);        //Here I change  "Keyboard" for "Hid"
        // set up the LCD's number of columns and rows: 
        lcd.begin(DISPLAY_WIDTH, 2);
        lcd.clear();
        lcd.noAutoscroll();
        lcd.print("Ready");
        delay( 200 );
    }
     
    void loop()
    {
      Usb.Task();
    }

  4. #4
    JPL
    Responsable des forums

    Re : [Arduino] Comprendre code

    En raccourci dans l'éditeur en mode avancé la balise code c'est le bouton #.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  5. A voir en vidéo sur Futura
  6. #5
    Grimdrasil

    Re : [Arduino] Comprendre code

    C'est ce que j'ai fais. ^^

  7. #6
    JPL
    Responsable des forums

    Re : [Arduino] Comprendre code

    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  8. #7
    Grimdrasil

    Re : [Arduino] Comprendre code

    Merci merci !

Discussions similaires

  1. ARDUINO, pont en H, code
    Par fooxxe dans le forum Électronique
    Réponses: 74
    Dernier message: 10/04/2015, 12h08
  2. Code arduino
    Par ktber dans le forum Électronique
    Réponses: 16
    Dernier message: 28/03/2015, 20h30
  3. Arduino: code pour un moteur DC !
    Par urtechnic dans le forum Électronique
    Réponses: 12
    Dernier message: 04/08/2014, 21h39
  4. comprendre l'arduino uno
    Par ptit_riri dans le forum Électronique
    Réponses: 5
    Dernier message: 31/05/2014, 22h56
  5. Software Uart sur AVR - Pouvez vous m'aider a comprendre le code?
    Par paradoxxe dans le forum Électronique
    Réponses: 0
    Dernier message: 15/05/2014, 13h20