API de UCUq#
API de la bibliothèque Python UCUq (voir la section dédiée pour l’installation’).
Fonctions#
ucuq.sleep(delay): le microcontrôleur attend<delay>secondes avant d’exécuter la prochaine instruction ;ucuq.sleepStart(): lance un minuteur (à utiliser en conjonction avecsleepWait(…)) ;ucuq.sleepWait(<delay>): le microcontrôleur attend que<delay>secondes se soient écoulées depuis le lancement du derniersleepStart()avant d’exécuter l’instruction qui suit.
Classes#
ucuq.GPIO#
Gestion d’une sortie correspondant à une broche du microcontrôleur.
ucuq.GPIO(<pin>)(constructeur) : retourne un objet gérant la broche identifiée par<pin>;GPIO.high(): met la broche à l’état haut ;GPIO.low(): met la broche à l’état bas.
ucuq.WS2812#
Gestion de DELs de type WS2812.
ucuq.WS2812(<count>,<pin>)(constructeur) : retourne un objet gérant<count>DELs WS2812 connectées à la broche<pin>;WS2812.setValue(<index>, <value>): met dans le tampon la DEL d’index<index>(débutant à 0) à la couleur<value>(une liste ou un tuple au formatR,V,Bde 0 à 255) ;WS2812.fill(<value>): met dans le tampon toutes les DELs à la couleur<value>;WS2812.write(): envoie le contenu du tampon aux DELs.
ucuq.I2C#
Gestion du protocole I2C.
ucuq.I2C(<sda>,<scl>)(constructeur) : retourne un objet gérant un composant connecté aux broches du microcontrôleur identifiées par<sda>et<scl>et prenant en charge le protocole I2C.
ucuq.SoftI2C#
Même chose que la classe ucuq.I2C, mais géré par logiciel, <sda> et <scl> pouvant ainsi être n’importe quelle broche GPIO du microcontrôleur.
ucuq.HT16K33#
Gestion d’un composant de type HT16K33.
ucuq.HT16K33(<i2c>)(constructeur) : retourne un objet gérant un composant HT16K33 au travers de<i2c>, qui doit être une instance deI2CouSoftI2C;HT16K33.setBlinkRate(<rate>): définit comme<rate>le nombre de fois par seconde que l’affichage clignote (valeurs autorisée :0,0.5,1et2) ;HT16K33.setBrightness(<brightness>): définit<brightness>comme intensité lumineuse de l’afficheur (de0et15) ;HT16K33.clear(): vide le tampon de l’afficheur ;HT16K33.draw(<motif>): met<motif>, qui doit ête une séquence de caractères hexadécimaux représentant chacun 4 pixels horizontaux, dans le tampon de l’afficheur ;HT16K33.plot(<x>,<y>,<ink>): allume si<ink>est à1ou éteint si<ink>est à0le pixel à la position<x>,<y>dans le tampon de l’afficheur ;HT16K33.show(): envoie le contenu du tampon à l’afficheur.
ucuq.PWM#
Gestion d’une sortie de type PWM.
ucuq.PWM(<pin>,<freq>,*,ns=<ns>,u16=<u16>)(constructeur) : retourne un objet générant un signal de fréquence<freq>Hz, avec une largeur d’impulsion de<ns>nanosecondes ou d’un ratio de<u16>/ 65536, sur une sortie de type PWM identifiée par<pin>(<ns>et<u16>ne peuvent pas être définis simultanément) ;PWM.setU16(<u16>): génère un signal avec une largeur d’impulsion d’un ratio de<u16>/ 65536 ;PWM.setNS(<ns>): génère un signal avec une largeur d’impulsion de<ns>nanosecondes ;PWM.setFreq(<freq>): génère un signal d’une fréquence de<freq>Hertz.
ucuq.HD44780_I2C#
Gère un afficheur LCD basé sur le contrôleur HD44780 et contrôlé avec le protocole I2C.
ucuq.HD44780_I2C(<columns>,<lines>,<i2c>)(constructeur) : retourne un objet gérant, au travers de<i2c>, qui doit être une instance deI2Cou deSoftI2C, un contrôleur HD44780 connecté à un afficheur LCD de<lines>lignes et<columns>colonnes ;HD44780_I2C.moveTo(x,y): positionne le curseur à la colonne<x>et la ligne<y>;HD44780_I2C.putString(<string>): affiche la chaîne de caractères<string>;HD44780_I2C.clear(): efface l’afficheur ;HD44780_I2C.hideCursor(): cache le curseur ;HD44780_I2C.showCursor(): affiche le curseur ;HD44780_I2C.blinkCursorOff(): désactive le clignotement du curseur ;HD44780_I2C.blinkCursorOn(): active le clignotement du curseur ;HD44780_I2C.backlightOff(): désactive le rétro-éclairage ;HD44780_I2C.backlightOn(): active le rétro-éclairage ;HD44780_I2C.ttyWrite(<text>, <delay>=.2, <hideCursorOnEnd>=True): écrit<text>, caractère après caractère, avec un délai de<delay>secondes d’attente entre chaque caractère, et cache le curseur après affichage du dernier caractère si<hideCursorOnEnd>est àTrue;HD44780_I2C.createChar(<location>, <charmap>): définit le caractère personnalisable à la position<location>(entier de 0 à 7) avec<charmap>, qui est un tableau de 8 entiers (un par ligne, de haut en bas) dont les 5 bits de poids faible définissent la couleur du pixel correspondant ;HD44780_I2C.uploadUpwardGaugeChars(): définit les caractères personnalisables de manière à pouvoir afficher une jauge verticale de bas en haut ;HD44780_I2C.putUpwardGauges(<position>, <gauges>): affiche les jauges verticales<gauges>de bas en haut à la position<position>; nécessite un appel préalable àHD44780_I2C.uploadUpwardGaugeChars();HD44780_I2C.uploadDownwardGaugeChars(): définit les caractères personnalisables de manière à pouvoir afficher une jauge verticale de haut en bas ;HD44780_I2C.putDownwardGauges(<position>, <gauges>): affiche la liste de jauges verticales<gauges>de haut en bas à la position<position>;nécessite un appel préalable àHD44780_I2C.uploadDownwardGaugeChars();HD44780_I2C.uploadForwardGaugeChars(): définit les caractères personnalisables de manière à pouvoir afficher une jauge horizontale de gauche à droite ;HD44780_I2C.getForwardGauge(<gauge>): retourne une chaîne de caractères correspondant à une jauge horizontale de gauche à droite de valeur<gauge>; nécessite un appel préalable àHD44780_I2C.uploadForwardGaugeChars();HD44780_I2C.uploadBackwardGaugeChars(): définit les caractères personnalisables de manière à pouvoir afficher une jauge horizontale de droite à gauche ;HD44780_I2C.getBackwardGauge(<gauge>, <max>): retourne une chaîne de caractères correspondant à une jauge horizontale de droite à gauche de valeurgaugeavecmaxcomme valeur maximale ; nécessite un appel préalable àHD44780_I2C.uploadBackwardGaugeChars();HD44780_I2C.uploadVPeakChars(): définit les caractères personnalisables de manière à pouvoir afficher un niveau crête verticale ;HD44780_I2C.putUpwardPeaks(<position>, <peaks>): affiche une liste de niveau de crêtes verticales<peaks>de bas en haut à la position<position>; nécessite un appel préalable àHD44780_I2C.uploadVPeakChars();HD44780_I2C.putDownwardPeaks(<position>, <peaks>): affiche une liste de niveau de crêtes verticales<peaks>de haut en bas à la position<position>; nécessite un appel préalable àHD44780_I2C.uploadVPeakChars();HD44780_I2C.uploadHPeakChars(): définit les caractères personnalisables de manière à pouvoir afficher un niveau crête horizontal ;HD44780_I2C.getForwardPeak(<peak>, <max>): retourne une chaîne de caractères correspondant au niveau de crête horizontal<peak>de gauche à droite de valeur maximale<max>; nécessite un appel préalable àHD44780_I2C.uploadHPeakChars();HD44780_I2C.getBackwardPeak(<peak>, <max>): retourne une chaîne de caractères correspondant au niveau de crête horizontal<peak>de droite à gauche et ayant<max>comme valeur maximale ; nécessite un appel préalable àHD44780_I2C.uploadHPeakChars().
ucuq.SSD1306_I2C#
Gère un écran OLED via le protocole I2C.
ucuq.SSD1306_I2C(<width>,<height>,<i2c>): retourne un objet gérant un afficheur OLED de dimensions<width>par<height>au travers de<i2c>, qui doit être une instance deI2Cou deSoftI2C;SSD1306_I2C.ellipse(x, y, rx, ry, col, fill=False, quad=15): trace une ellipse centrée sur<x>,<y>, de rayon<rx>,<ry> et de couleur<col>, remplie sifillest àTrue, et uniquement les quadrants dont les bits dans<quad> sont à 1 ;SSD1306_I2C.fill(<col>): remplit le tampon de la couleur<col>;SSD1306_I2C.line(x1, y1, x2, y2, col): trace une ligne de couleur<col>de la position<x1>,<y1>à la position<x2>,<y2>;SSD1306_I2C.pixel(<x>,<y>,<col>): met le pixel à la position<x>,<y>dans le tampon à la couleur<col>;SSD1306_I2C.scroll(<dx>,<dy>): déplace le motif dans le tampon de<dx>,<dy>pixels ;SSD1306_I2C.rect(<x>,<y>,<w>,<h>,fill=<fill>: place un rectangle de largeur<w>et de hauteur<h>à la position<x>,<y>dans le tampon et le remplit si<fill>et àTrue(valeur par défaut) ;SSD1306_I2C.text(<text>,<x>,<y>): place la chaîne de caractères<text>dans le tampon à la position<x>,<y>;SSD1306_I2C.draw(<pattern>, <width>, <ox>=0, <oy>=0, <mul>=1): place le contenu de<pattern>(chaîne de caractères constituée de chiffres hexadécimaux reflétant chacun la couleur de 4 pixel horizontaux) d’une largeur dewidth(entier positif multiple de 4) pixels, à la position<ox>,<oy>(entiers positifs) avec un coefficient multiplicateur de<mul>(entier positif).SSD1306_I2C.show(): envoie le contenu du tampon à l’afficheur.
ucuq.SH1106_I2C#
Même chose que ucuq.SSD1306_I2C, mais pour le modèle d’afficheur SH1106.
ucuq.Buzzer#
Gère un buzzer passif.
ucuq.Buzzer(pwm): (constructeur) retourne un objet gèrant un buzzer passif au travers de<pwm>, qui doit être une instance dePWM;Buzzer.on(freq): émet un son d’une fréquence de<freq>Hertz ;Buzzer.play(note): émet un son de la fréquence correspondant à la note MIDI<note>;Buzzer.off(): coupe le son ;Buzzer.ratio(<ratio>):(flottant compris entre 0 et 1 inclus) devient le ratio entre le niveau haut et le niveau bas du signal rectangulaire pilotant le buzzer (avec une valeur de 0.5, le signal est carré) ; retourne l’ancien ratio ;Buzzer.ratio()retourne le ration du buzzer.