Python 3 sous Debian 9

Site officiel : Python => Documentation


Un fichier Python commence par :
# -*- coding: utf-8 -*-
#!/usr/bin/env python

Conventions de syntaxe en Python

Par défaut, la bibliothèque graphique Tkinter pour Python 3 n’est pas installée sous Debian 9. Pour l’installer, taper dans la console :
sudo apt-get install python3-tk

Pour exécuter un fichier Python depuis la console :
python3 nom_fichier.py


Quelques autres éléments parfois utiles par la suite :

Pour connaître les droits d’un fichier :
ls -l

Pour rendre exécutable un fichier :
chmod +x nom_fichier.py

Pour exécuter un fichier exécutable :
./nom_fichier.py
Si on veut pouvoir appeler un programme sans se soucier du répertoire de commande, le placer dans /usr/local/bin (on peut enlever l’extension .py).

Construire une vidéo image par image sous Debian 9

J’utilise FFmpeg.

Les images sont toutes rangées dans le même répertoire et se nomment image-0001.png, image-0002.png, image-0003.png, etc.

Pour obtenir un film à 24 images / seconde, en partant de l’image n° 1, on tape dans la console :
ffmpeg -r 24 -start_number 1 -i image-%04d.png output.mp4

Assemblage d’images avec Processing

Présentation :

Le programme ci-dessous permet d’assembler des images pour en créer une plus grande.

Le code Processing :

//////////////////////////////////////////////////////////////////
/*
   Assemblage d'images
   Version de Processing utilisée : 3.5.2
   
   Important :
   ---------
   Les noms des fichiers images à assembler sont ici du type :
   image-0001.png, image-0002.png, etc.
     
   http://3615.entropie.org
*/
//////////////////////////////////////////////////////////////////

// Paramètres à adapter
String extension = ".png";  // Extension des images
int largeurImage = 200;     // Largeur d'une image
int hauteurImage = 100;     // Hauteur d'une image
int nbImagesX = 3;          // Nombre d'images à placer en largeur
int nbImagesY = 2;          // Nombre d'images à placer en hauteur
int marge = 10;             // Marge entre les images
int couleurMarge = 0;       // Couleur de la marge

// Variables
int width = largeurImage*nbImagesX + marge*(nbImagesX+1);
int height = hauteurImage*nbImagesY + marge*(nbImagesY+1);
int nbImages = nbImagesX * nbImagesY;     // Nombre total d'images
PImage img[ ]= new PImage[nbImages];      // Tableau d'images
int indexImage = 0;         // Position de l'image dans le tableau
float x,y;                  // Coin supérieur gauche de l'image

//////////////////////////////////////////////////////////////////

void settings() {
  size(width, height);
}

//////////////////////////////////////////////////////////////////

void setup() {
  for (int i=0; i<nbImages; i++) {
    // Le nom du fichier est composé de 4 chiffres + l'extension
    String nomFichier = "image-"+nf(i+1,4)+extension;
    img[i] = loadImage(nomFichier);
  }
 x = marge;
 y = marge;
 background(couleurMarge);
}

//////////////////////////////////////////////////////////////////

void draw() {
  if (indexImage < nbImages) {
    image(img[indexImage], x, y, largeurImage, hauteurImage);
    indexImage++;
    x = x + largeurImage + marge;
    if (x >= width) {
      x = marge;
      y = y + hauteurImage + marge; 
    }  
  }
  else { save("assemblage.png"); }
}

//////////////////////////////////////////////////////////////////

void keyPressed() {
  if (key == ESC) {
    exit();
  }
}

//////////////////////////////////////////////////////////////////

SD2IEC pour Commodore 64

Vendeur : https://www.ebay.fr/usr/despegatop

Après avoir formaté sur mon PC la carte SD (8 Go) en FAT32, je l’insère dans le boitier SD2IEC, j’allume le C64 et je tape :
10 PRINT « HELLO WORLD »
SAVE « HELLO »,8
Le programme est alors sauvegardé directement sur la carte SD.
Pour vérifier que tout a bien fonctionné, je charge la liste des fichiers de la carte dans la mémoire de l’ordinateur :
LOAD « $ »,8
J’affiche cette liste :
LIST
Le programme « HELLO » apparaît bien.
Je vide la mémoire de l’ordinateur :
NEW
Je charge le programme à partir de la carte SD :
LOAD « HELLO »,8
J’affiche le listing du programme :
LIST
Je l’exécute :
RUN

Retour de la carte SD sur le PC avec un éditeur hexadécimal :

Commodore 64 : Guide de référence du programmeur

Data sheets

DatasheetCatalog.com
DatasheetsPDF.com
The Datasheet Archive


MICROCONTRÔLEURS

Microchip ATtiny 45 – 8 broches
Microchip ATtiny 85 – 8 broches
Microchip ATtiny 44 – 14 broches
Microchip ATmega328P – 28 broches
Microchip ATmega644P – 40 broches
Microchip ATmega1284P – 40 broches

MICROPROCESSEURS

Intel 80C32
Zilog Z80

CIRCUITS LOGIQUES TTL SÉRIE 7400 (4,75 V à 5,25 V)

74LS00 – 4 portes NON-ET à 2 entrées
74LS04 – 6 portes inverseuses NON
74LS08 – 4 portes ET à 2 entrées
74LS138 – Décodeur / Démultiplexeur 1 parmi 8
74LS193 – Compteur / Décompteur binaire 4 bits

CIRCUITS LOGIQUES CMOS SÉRIE HCT (4,5 V à 5,5 V – Compatible TTL)

74HCT151 – Multiplexeur 8 entrées

CIRCUITS LOGIQUES CMOS SÉRIE HC (2 V à 6 V)

74HC08 – 4 portes ET à 2 entrées
74HC126 – 4 buffers / drivers de ligne à 3 états
74HC540 – 8 buffers / drivers de ligne à 3 états, inverseurs
74HC4040 – Compteur binaire à 12 étages

CIRCUITS LOGIQUES CMOS SÉRIE 4000 (3 V à 15 V)

4001 – 4 portes NON-OU à 2 entrées
4010 – 6 buffers non inverseurs
4013 – 2 bascules D
4021 – Registre à décalage 8 bits
4023 – 3 portes NON-ET à 3 entrées
4024 – Compteur binaire à 7 étages
4027 – 2 bascules JK
4028 – Décodeur 4 bits BCD 10 voies
4029 – Compteur / Décompteur binaire 4 bits / BCD avec présélection
4030 – 4 portes OU exclusif à 2 entrées
4051 – Multiplexeur / Démultiplexeur analogique 8 canaux
4067 – Multiplexeur / Démultiplexeur analogique 16 canaux
4071 – 4 portes OU à 2 entrées
4081 – 4 portes ET à 2 entrées
4093 – 4 portes logiques NON-ET à 2 entrées avec trigger de Schmitt
4098 – 2 multivibrateurs monostables
4099 – Bascule adressable 8 bits
4510 – Compteur / Décompteur BCD avec présélection
40106 – 6 portes NON à trigger de Schmitt (bascule à seuil)

CIRCUITS INTÉGRÉS LINÉAIRES

ADC0820 – Convertisseur analogique / numérique 8 bits
DAC0802 – Convertisseur numérique / analogique 8 bits
DS1307 – Horloge temps réel sur bus I2C
DS1337 – Horloge temps réel sur bus I2C avec 2 alarmes paramétrables
LM324N – 4 amplificateurs opérationnels monotension
LM358N – 2 amplificateurs opérationnels monotension
MAX7219 – Pilote d’affichage à leds 8 digits (interface série)
MC1741 – Amplificateur opérationnel
NE555 – Temporisateur universel
PCF8574AP – Interface bus I2C / parallèle 8 bits
PCF8574P – Interface bus I2C / parallèle 8 bits

RÉGULATEURS

LM1085IT-3.3
LM78L05ACZ
L4885CV
L78S05CV
L7805CV
L7809CV
TS7806CZ

TRANSISTORS

BC108 – Transistor bipolaire NPN
BC108A – Transistor bipolaire NPN
BC547C – Transistor bipolaire NPN
IRFZ48N – Transistor MOSFET, canal N
TIP122 – Transistor bipolaire NPN
TIP31C – Transistor bipolaire NPN
2N2222A – Transistor bipolaire NPN
2N2904A – Transistor bipolaire PNP

DIODES

BZX85C 5V1 – Diode Zener 5,1 V
1N3828A – Diode Zener 6,2 V
1N4007 – Diode de redressement
1N4148 – Diode de signal
1N5404 – Diode de redressement

OPTOÉLECTRONIQUE

Afficheur LCD alphanumérique 2 x 16 caractères DEM 16216 SGH
Afficheur LCD graphique 128×64 points ST 7920
Afficheur LED 7 segments SA39-11EWA
Matrice 8×8 à leds rouges ELM-2881SURWA/S530-A2

Introduction à la micro-informatique

En mars 1979, dans son numéro 4, la revue Micro-Systèmes dresse une revue de la littérature concernant les microprocesseurs dont le livre ci-dessous. Elle écrit à son sujet : « Certainement un des ouvrages les plus complets édités sur l’ensemble des questions relatives à la technologie, la réalisation et la programmation de systèmes à microprocesseur. » H. Lilen, l’auteur du livre, écrit en 1977 dans la bibliographie à la page 436 : « La littérature propre à la micro-informatique est encore très pauvre. » Ce livre sera donc un bon point de départ pour se plonger dans la technologie de cette époque.