pygame.display.set_caption('Game of Life')\\ DISPLAYSURF.fill(WHITE)\\# GPIOCasesInit=valCaptInit()
lifeDict = blankGrid() #Creation un dictionnaire de cellules, initialisation a zero\\ #lifeDict = startingGridInit(lifeDict,GPIOCasesInit) # Remplissage du dictionnaire de depart\\ #Colours the live cells, blanks the dead\\ for item in lifeDict:\\ colourGrid(item, lifeDict)\\ drawGrid()\\ pygame.display.update()\\ while True: #main game loop\\ for event in pygame.event.get():\\ if event.type == QUIT:\\ pygame.quit()\\ sys.exit()\\ if event.type == pygame.KEYUP:\\ DISPLAYSURF = pygame.display.set_mode((WINDOWWIDTH,WINDOWHEIGHT), pygame.RESIZABLE)\\ cs14=GPIO.input(14)\\ cs15=GPIO.input(15)\\ if ps14!=cs14: \\ print('ps14', ps14)\\ print('cs14', cs14)\\ if(etat==0):\\ afficheInit('Disposez les pions sur le plateau', WINDOWWIDTH/2, WINDOWHEIGHT/2-300)\\ afficheInit('et appuyez sur SUIVANT', WINDOWWIDTH/2, (WINDOWHEIGHT/2-200)) \\ afficheInit('Quelques exemples:', WINDOWWIDTH/2, WINDOWHEIGHT/2-100)\\ drawGridExample()\\ pygame.display.update()\\ #passage a etat suivant\\# if GPIO.event_detected(14):
if(ps14==1 and cs14==0):\\ doit_demarrer=False\\ nb_viv=0\\ for elem in GPIOCasesInit:\\ if(GPIO.input(elem)):\\ doit_demarrer = True\\ nb_viv+=1\\ print(GPIOCasesInit[elem])\\ print('nb_viv', nb_viv)\\ if doit_demarrer: \\ etat=1\\ lifeDict = startingGridInit(lifeDict, GPIOCasesInit)\\
else:\\ etat=0\\ elif(etat==1):\\ if(ps15==1 and cs15==0):\\# if GPIO.event_detected(15):
etat=0 lifeDict=blankGrid() if(ps14==1 and cs14==0):# if GPIO.event_detected(14):
#runs a tick nb_viv=0 lifeDict = tick(lifeDict) print('suite') for item in lifeDict: if(lifeDict[item]): nb_viv=nb_viv+1 print(nb_viv) if(nb_viv==0): print('vide') etat=0 #Colours the live cells, blanks the dead for item in lifeDict: colourGrid(item, lifeDict) drawGrid() pygame.display.update() #if(nb_viv==0): # etat=0 ps14=cs14 ps15=cs15 sleep(0.1) #FPSCLOCK.tick(FPS)if name=='main':
main()'' ======================================================= Schéma électrique pour les FSR
Schéma d'intégration
Schéma de câblage sur la Raspberry
=====Retour d'expérience===== FSR: Tests effectués en mesurant la valeur de la résistance selon la pression exercée : De 1 je passe à des valeurs plus ou moins pertinentes selon le poids. Difficile sous les 20mm de diamètre de dépasser le seuil des 50 kohms soit un poids de 20 grammes (plexi ou bois) Avec une bille inox de 30mm (110gr), la résistance chute à 4/5 k ohms ; mais elles sont trop facilement volées et très chères. Les billes vertes type calot de 25mm pourraient être un compromis comme les cylindres de pvc denses : test concluant pour un cylindre de 26mm hauteur 50mm poids 45gr résistance mesurée 20kohms. Il y a quelques incertitudes sur les mesures car faute d’ajustement précis du diamètre d’emboîtements, les objets peuvent toucher les bords, réduisant de fait le poids exercé sur la FSR (et donc la résistance au courant augmente) Je modifie le plan de la manip avec un entraxe de 30mm et des trous de 27 de diamètre ; la profondeur des inserts sera de 20mm au moins Le mieux pour simuler la pression du doigt c’est une « goutte d’eau », pieds autocollants antidérapant en forme de demi-hémisphère sur les cylindres
Modifications en vue de la version 2: Il s'avère que la détection par les FSR n'est pas assez robuste. Il faut souvent un appui supplémentaire sur les billes de la part de l'utilisateur. Le mieux serait d'utiliser un contact mécanique du type contacteur ou interrupteurLe 19.07.2019 11:01, Guy Antoine a écrit :Bonjour Camille
Pour la manip du jeu de la vie, les jetons font 18mm donc découpe à
19mm sur le support de 120×120 selon les plans ci-joint.
Peux tu me valider cette option ? J'ai regardé pour les joncs de 20mm
en plexi mais c'est très “moches” comparés à ceux en bois peints
Donc on vérifieras au règlage s'il faut les lester.