Partage
  • Partager sur Facebook
  • Partager sur Twitter

Projet de Sciences de l'ingénieur terminale

Bobine tesla musicale / Haut parleur à plasma

Sujet résolu
    11 octobre 2017 à 13:14:50

    Salutations braves ornithorynques roux du brésil ayant été sages pour Noël.

    Pour mon projet de terminale en SI, j'ai choisis de faire une bobine tesla musicale / haut parleur à plasma (c'est explicite mais je vous laisse vous renseigner ;)).

    Cependant ce projet a été refusé car certes il y a de l'élec, certes il y a de la physique, mais il n'y a pas de méca !!

    Je m'en remet donc à vous ô combien intelligents personnages, si vous avez une idée pour ajouter de la méca à ce projet ou si vous avez une autre idée de projet pourquoi pas, je me ferais un plaisir d'entendre ce que vous avez à me dire !

    Cordialement, moi.

    • Partager sur Facebook
    • Partager sur Twitter
    Seul le sage sait combien il sait peu.
      11 octobre 2017 à 21:37:01

      Oh mon dieu ! Rien que pour l'utilisation de l'ornithorynque dans la salutation, j'ai envie de t'aider ô grand adepte de l'ornithorynquologie !  J'essaye de réfléchir au sujet et je reviens si j'ai une idée  :magicien:

      edit : Sennacherib, tu si passe par la, je crois qu'on a un fan !! Notre théorie va enfin être accepté par la communauté scientifique : l'article dans Nature arrive bientôt ! 

      -
      Edité par edouard22 11 octobre 2017 à 21:54:20

      • Partager sur Facebook
      • Partager sur Twitter
        11 octobre 2017 à 21:44:45

        héhé je t'en remercie ! ^^
        • Partager sur Facebook
        • Partager sur Twitter
        Seul le sage sait combien il sait peu.
          12 octobre 2017 à 13:11:19

          la méca est effectivement assez absente. Une remarque sur ce projet. On ne connait pas tes compétences en élec et les conditions dans lesquelles tu le réaliserais  . Mais il met en jeu de trés hauts voltages, donc nécessite  des précautions dans la réalisation et dans l'utilisation.  

          Une ornithorynque  roux du brésil pourrait ainsi devenir un ornithorynque noir de OC , OC comme ornithorynque carbonisé bien sûr.... :lol:

          -
          Edité par Sennacherib 12 octobre 2017 à 13:12:40

          • Partager sur Facebook
          • Partager sur Twitter
          tout ce qui est simple est faux, tout ce qui est compliqué est inutilisable
            12 octobre 2017 à 15:12:20

            Les tesla peuvent etre de toutes dimensions et je compte en faire une petite donc je ne risque pas grand chose ^^

            Sinon j'en conclu que c'est mort pour mon projet ? :'(

            • Partager sur Facebook
            • Partager sur Twitter
            Seul le sage sait combien il sait peu.
              12 octobre 2017 à 18:22:12

              Pas mort, mais plutôt difficile ! A part en lançant ta bobine à travers la pièce, je ne vois pas trop comment tu pourrais ajouter de la mécanique à ton projet ! Faut-il nécessairement qu'il y ait de la mécanique et de l'électronique ?
              • Partager sur Facebook
              • Partager sur Twitter
                12 octobre 2017 à 19:02:09

                Malheureusement :'(, ma prof d'elec m'a dit que c'etait pour l'abscence de méca a étudier que le projet avait été refusé
                • Partager sur Facebook
                • Partager sur Twitter
                Seul le sage sait combien il sait peu.
                  12 octobre 2017 à 19:46:38

                  A part essayer de fabriquer un petit robot qui se déplace en évitant les obstacles, voire un mini drone, je ne vois pas trop ce que tu pourrais faire. Cependant, j'imagine que ça doit être hyper méga classique !

                  Il me vient une autre idée, je ne sais pas trop ce que ça vaut mais si ça peut t'aider... Pourquoi n'essayerais-tu pas d'élaborer un système qui entretient le mouvement d'un pendule, mais juste assez pour compenser les frottements de l'air et de l'axe ? Tu pourrais faire une petite étude mécanique du mouvement du pendule, je crois que c'est un peu plus chaud que le niveau terminale en mécanique mais ça reste abordable. S'en suivrait un système électronique qui fournirait l'énergie suffisante pour ramener le pendule à son mouvement théorique.

                  Toujours à base de pendule, tu pourrais envisager de fabriquer un pendule d'Euler inversé comme celui-ci https://www.youtube.com/watch?v=IcHDCtq0eLM (à partir de 35s de vidéo). C'est clairement très ambitieux mais ça peut être diablement intéressant !

                  Bon courage, et tiens-nous au courant de l'avancée de ton projet.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    12 octobre 2017 à 20:14:04

                    mmmh ton projet m'interesse énormément ! superbe idée ca !

                    Cependant, j'ai énormément de mal à trouver de la documentation. Je continue à fouiner.

                    Je pense que j'ai vais tenter de partir sur qqc comme ceci : https://www.youtube.com/watch?v=DDBkg1PfvFY :) je vous tiens au courant héhé

                    -
                    Edité par PapierPeintNoirFoncéAvecDesNuancesDeGris 12 octobre 2017 à 23:24:43

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Seul le sage sait combien il sait peu.
                      13 octobre 2017 à 12:01:27

                      Yo!
                      Je passe par la et ça me fait rire alors je vais te donner l'idée que je viens d'avoir (A prendre ou à laisser, souvent mes idées font rires que moi et sont nulles). tu peux faire une bobine tesla musicale que tu mets sur un petit robot qui te suit? Je sais aps a quel point c'est faisable, mais si tu peux faire un robot qui esquive des obstacle, tu peux faire un robot qui suit les gens. Je m'imagine trop le robot qui joue de la musique de merde en te suivant partout. M'enfin bref. Voilà voilà, Sinon Gl & hf :)
                      • Partager sur Facebook
                      • Partager sur Twitter

                      « Je n’ai pas besoin de preuve. Les lois de la nature, contrairement aux lois de la grammaire, ne permettent aucune exception. »
                      D. Mendeleïev

                        13 octobre 2017 à 15:16:13

                        Moui je vais ajouter ca a ma liste :)

                        Sinon cher ami pingouin aurais tu une idee de contexte pour le robot pendule ?

                        Un interet ?

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Seul le sage sait combien il sait peu.
                          13 octobre 2017 à 17:38:06

                          Tu peux par exemple dire que c'est un segway miniature !
                          • Partager sur Facebook
                          • Partager sur Twitter
                            13 octobre 2017 à 18:33:15

                            Vachement bien pensé ca :D
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Seul le sage sait combien il sait peu.
                              19 octobre 2017 à 11:10:55

                              Au final le projet a ete refuse car "pas assez de travail pour 4 eleves :(
                              • Partager sur Facebook
                              • Partager sur Twitter
                              Seul le sage sait combien il sait peu.
                                19 octobre 2017 à 12:14:16

                                Pas assez de travail pour 4 personnes ?  Je suis en 2iem année d'école d'ingé et notre groupe qui est en train d'en concevoir un est composé de 6 personnes et on a largement assez de boulot ...
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  19 octobre 2017 à 17:00:39

                                  Nan mais ces profs me les brisent vraiment ... Je leur propose plein d'idées géniales et ils ont tout refusés, le pire ce que parmis leur liste d'idee de secours ils m'ont meme refusé celle que j'avais choisis ... Au finale je dois faire un "banc vibratoire" :( super ...

                                  Le pire c'est que quand ils m'ont dit qu'il y avait pas assez de travail dans mon segway, après tu regardes leur liste y a un écrase canette ... --'

                                  Pour vous donnez une idée, un groupe a proposé un tire bouchons électrique et ils leur ont répondu que c'était bien trop compliqué  ...

                                  Aberrant

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                  Seul le sage sait combien il sait peu.
                                    20 octobre 2017 à 12:11:24

                                    un écrase-canette version campagnarde. mécanique, électrotechnique...., :p de la S.I vraiment basique ! 

                                    https://www.youtube.com/watch?v=wgn1hi_vWIw 

                                    PapierPeintNoirFoncéAvecDesNuancesDeGris a écrit:

                                     Au finale je dois faire un "banc vibratoire" :( super ...

                                      Aberrant


                                    Aberrant n'est peu être pas le mot juste, ch**** vu de toi peut-être :lol:

                                    un banc vibratoire, c'est sans doute pas "fun" comme une bobine tesla  ou un segway, mais cela peut être un truc assez complexe, suffisamment pour que je me demande ce que on a comme connaissance en matière "vibrations" pour s'attaquer à cela au Niveau TS . 

                                    En tout cas,   dit comme cela, cela ne signifie pas grand chose si on ne définit pas précisément à quoi on veut l'appliquer . Des conceptions de bancs vibratoires possibles , il y en a autant que de catégories de problèmes à étudier. ( exemples non limitatifs: un banc vibratoire cela peut servir à chercher les fréquences propres d'une structure , tester la tenue au séisme à partir de  maquettes, équilibrer une machine tournante, étudier la résistance à la fatigue de composants ou de matériaux, etc...etc...  ; à chaque problème une conception de banc spécifique)

                                    -
                                    Edité par Sennacherib 20 octobre 2017 à 12:15:05

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    tout ce qui est simple est faux, tout ce qui est compliqué est inutilisable
                                      23 octobre 2017 à 11:18:38

                                      Oui c'est ca qui m'embete c'est que notre professeur n'en a rien à faire il ne nous a rien dit de plus et s'il a refuse les projets de toute la classe c'est qu'il avait la flemme de faire les cahiers des charges.

                                      Les classes qui ont d'autres profs, tous leurs projets ont été acceptés ...

                                      Mais bon je vais partir sur l'étude de la frequence d'une structure c'est ce qui me parait le plus sympa

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Seul le sage sait combien il sait peu.
                                        31 octobre 2017 à 12:45:24

                                        Bon je tente une dernière chose, si le problème est le manque de travail, je m'adresse à vous braves gens.
                                        Seriez vous capable de me trouver du travail pour 4 personnes dans mon projet ?
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                        Seul le sage sait combien il sait peu.
                                          7 novembre 2017 à 11:22:08

                                          je sais que le projet a été supprimé mais pour la partie méca d'une bobine tesla, tu peut toujours faire l'éclateur avec un moteur, sa fait un peu dméca.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          un projet ? Fait le ou ne le fait pas, il n'y a pas d'essai.
                                            19 novembre 2017 à 14:09:54

                                            ah bonne idée, dommage que je n'y ai pas pensé :)
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                            Seul le sage sait combien il sait peu.
                                              15 mars 2018 à 21:06:01

                                              Bien le bonjour gentes personnes,

                                              Voici le problème qui me titille les neurones:

                                              Je suis en terminale S SI et j'ai comme projet d'améliorer un banc de vibration (pour tester des matériaux contre les séismes notamment) ma partie consiste principalement en l'ajout d'un écran de contrôle, j'ai choisis le VMA412 tactile de chez velleman (https://www.jameco.com/z/VMA412-Velleman-2-8-320x240-Touchscreen-Display-for-Arduino-Boards_2245474.html).

                                              Il y a de nombreux exemples de programmation inclus en description cependant je n'arrive pas à en tirer de quoi faire fonctionner mon programme,

                                              Je souhaite afficher une image, puis créer des boutons "invisibles" sur celle-ci; Et lorsque l'on clique sur l'un de ces boutons je souhaite afficher une autre image avec de nouveaux boutons "invisibles"

                                              J'ai d'innombrables problèmes:
                                              -L'exemple pour afficher des images .BMP ne fonctionne pas donc je ne sais pas comment en afficher.
                                              -Je ne parviens pas à créer des boutons invisibles, c'est la gaypride sur mon écran.
                                              -Et je n'ai pas trouvé comment l'on extrayait l'action d'appuyer sur le bouton x.

                                              Merci d'avoir lu ce post, et un immense merci à ceux qui accepteront de m'aider voir qui se plongeront dans les exemples de programmations fournis.
                                              Cordialement, une pauvre âme dans le besoin qui n'avance pas d'un pouce dans son projet.
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Seul le sage sait combien il sait peu.
                                                15 mars 2018 à 23:57:24

                                                pour ce qui est des boutons invisibles, les boutons dans le sens où tu l'entend n'existent pas dans arduino (pas d'origine en tout cas ^^) il va falloir que tu les créé toi même. Tu a de la chance, ton écran, tu le connais, sa résolution également. ce que tu peut faire c'est faire des tests en série, en gros dans l'algo ça donnera a peut près sa:
                                                - récupérer un évenement lors de l'appuis sur l'écran (par une sourie ou tactile) contenant les coordonnées x et y.
                                                - connaissant la taille de ton bouton (hauteur / largeur) et sa position (x et y), tu peut donc faire un simili de système de collision:

                                                    allez c'est partit pour la collision: ici ton bouton est une AABB (Axis Aligned Bounding Box) , tu pourra dire que le click à été fait dans ton "bouton invisible" lorsque TOUTES les équation suivantes seront vérifiées (vraies):

                                                bouton.x < click.x < (bouton.x + bouton.largeur)

                                                bouton.y < click.y < (bouton.y + bouton.hauteur)

                                                code: 

                                                bool Collision(int curseur_x,int curseur_y,AABB box)
                                                {
                                                   if (curseur_x >= box.x 
                                                    && curseur_x < box.x + box.w
                                                    && curseur_y >= box.y 
                                                    && curseur_y < box.y + box.h)
                                                       return true;
                                                   else
                                                       return false;
                                                }

                                                sources: ici pour les colisions

                                                et voila, ta détection de click est terminée, pour ce qui est de faire fonctionner ton écran, je ne peut malheureusement pas t'aider, n'ayant pas un tel écran sous la main.

                                                cependant je peut te donner un conseil: 

                                                les broches SPI (MISO, MOSI, SCK, SS) sont des broches constantes (sauf SS, il y en a 1 pour chaque module SPI), faisant aussi SI, j'ai aussi travaillé avec l'SPI (pour des modules sans fil et capteur RFID), cours sympatique ici,

                                                pour un petit condensé, sur arduino UNO et NANO seulement, le brochage SPI doit être rigoureusement le même (pour les autres broches tu fait comme tu veux):

                                                • SS, connecteur D10 : vous pouvez utiliser une autre sortie numérique, mais le D10 est celui que l'on prend généralement par défaut, comme il est voisin des autres connecteurs utilisés pour la liaison SPI ;
                                                • MOSI, connecteur D11 ;
                                                • MISO, connecteur D12 ;
                                                • SCK, connecteur D13.

                                                sources: ici

                                                si tu a d'autes question n'hésite pas

                                                PS: étant interressé par ton projet, si tu en a l'envi, envoi l'état d'avencement par MP et le résultat final, et bonne chance si tu participe a des olympiades SI, de notre coté j'espère que je serait sélectionné, encore faut-il que notre projet de porte automatisée controllé RFID soit terminé a temps ^^ bonne chance dans la suite

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                un projet ? Fait le ou ne le fait pas, il n'y a pas d'essai.
                                                  22 mars 2018 à 10:10:20

                                                  Merci beaucoup, j'ai encore beaucoup de travail mais au moins ca me permet d'avancer, merci je pars sur cette idée ! ;)
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                  Seul le sage sait combien il sait peu.
                                                    29 mars 2018 à 8:37:12

                                                    //Voici un des exemples de programmation, pour afficher un écran d'appel, si ca vous aide ... moi je suis perdu.



                                                    // IMPORTANT: Adafruit_TFTLCD LIBRARY MUST BE SPECIFICALLY // CONFIGURED FOR EITHER THE TFT SHIELD OR THE BREAKOUT BOARD. // SEE RELEVANT COMMENTS IN Adafruit_TFTLCD.h FOR SETUP. #include <Adafruit_GFX.h> // Core graphics library #include <Adafruit_TFTLCD.h> // Hardware-specific library #include <TouchScreen.h> // The control pins for the LCD can be assigned to any digital or // analog pins...but we'll use the analog pins as this allows us to // double up the pins with the touch screen (see the TFT paint example). #define LCD_CS A3 // Chip Select goes to Analog 3 #define LCD_CD A2 // Command/Data goes to Analog 2 #define LCD_WR A5 // LCD Write goes to Analog 1 #define LCD_RD A4 // LCD Read goes to Analog 0 //#define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin // When using the BREAKOUT BOARD only, use these 8 data lines to the LCD: // For the Arduino Uno, Duemilanove, Diecimila, etc.: // D0 connects to digital pin 8 (Notice these are // D1 connects to digital pin 9 NOT in order!) // D2 connects to digital pin 2 // D3 connects to digital pin 3 // D4 connects to digital pin 4 // D5 connects to digital pin 5 // D6 connects to digital pin 6 // D7 connects to digital pin 7 // For the Arduino Mega, use digital pins 22 through 29 // (on the 2-row header at the end of the board). // Assign human-readable names to some common 16-bit color values: #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #define WHITE 0xFFFF // Color definitions #define ILI9341_BLACK 0x0000 /* 0, 0, 0 */ #define ILI9341_NAVY 0x000F /* 0, 0, 128 */ #define ILI9341_DARKGREEN 0x03E0 /* 0, 128, 0 */ #define ILI9341_DARKCYAN 0x03EF /* 0, 128, 128 */ #define ILI9341_MAROON 0x7800 /* 128, 0, 0 */ #define ILI9341_PURPLE 0x780F /* 128, 0, 128 */ #define ILI9341_OLIVE 0x7BE0 /* 128, 128, 0 */ #define ILI9341_LIGHTGREY 0xC618 /* 192, 192, 192 */ #define ILI9341_DARKGREY 0x7BEF /* 128, 128, 128 */ #define ILI9341_BLUE 0x001F /* 0, 0, 255 */ #define ILI9341_GREEN 0x07E0 /* 0, 255, 0 */ #define ILI9341_CYAN 0x07FF /* 0, 255, 255 */ #define ILI9341_RED 0xF800 /* 255, 0, 0 */ #define ILI9341_MAGENTA 0xF81F /* 255, 0, 255 */ #define ILI9341_YELLOW 0xFFE0 /* 255, 255, 0 */ #define ILI9341_WHITE 0xFFFF /* 255, 255, 255 */ #define ILI9341_ORANGE 0xFD20 /* 255, 165, 0 */ #define ILI9341_GREENYELLOW 0xAFE5 /* 173, 255, 47 */ #define ILI9341_PINK 0xF81F /* UI details */ #define BUTTON_X 40 #define BUTTON_Y 100 #define BUTTON_W 60 #define BUTTON_H 30 #define BUTTON_SPACING_X 20 #define BUTTON_SPACING_Y 20 #define BUTTON_TEXTSIZE 2 // text box where numbers go #define TEXT_X 10 #define TEXT_Y 10 #define TEXT_W 220 #define TEXT_H 50 #define TEXT_TSIZE 3 #define TEXT_TCOLOR ILI9341_MAGENTA // the data (phone #) we store in the textfield #define TEXT_LEN 12 char textfield[TEXT_LEN+1] = ""; uint8_t textfield_i=0; #define YP A3 // must be an analog pin, use "An" notation! #define XM A2 // must be an analog pin, use "An" notation! #define YM 2 // can be a digital pin #define XP 3 // can be a digital pin #define TS_MINX 100 #define TS_MAXX 920 #define TS_MINY 70 #define TS_MAXY 900 // We have a status line for like, is FONA working #define STATUS_X 10 #define STATUS_Y 65 #include <MCUFRIEND_kbv.h> MCUFRIEND_kbv tft; TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300); // If using the shield, all control and data lines are fixed, and // a simpler declaration can optionally be used: // Adafruit_TFTLCD tft; Adafruit_GFX_Button buttons[15]; /* create 15 buttons, in classic candybar phone style */ char buttonlabels[15][5] = {"Send", "Clr", "End", "1", "2", "3", "4", "5", "6", "7", "8", "9", "*", "0", "#" }; uint16_t buttoncolors[15] = {ILI9341_DARKGREEN, ILI9341_DARKGREY, ILI9341_RED, ILI9341_BLUE, ILI9341_BLUE, ILI9341_BLUE, ILI9341_BLUE, ILI9341_BLUE, ILI9341_BLUE, ILI9341_BLUE, ILI9341_BLUE, ILI9341_BLUE, ILI9341_ORANGE, ILI9341_BLUE, ILI9341_ORANGE}; void setup(void) { Serial.begin(9600); Serial.println(F("TFT LCD test")); #ifdef USE_ADAFRUIT_SHIELD_PINOUT Serial.println(F("Using Adafruit 2.4\" TFT Arduino Shield Pinout")); #else Serial.println(F("Using Adafruit 2.4\" TFT Breakout Board Pinout")); #endif Serial.print("TFT size is "); Serial.print(tft.width()); Serial.print("x"); Serial.println(tft.height()); tft.reset(); uint16_t identifier = tft.readID(); if(identifier == 0x9325) { Serial.println(F("Found ILI9325 LCD driver")); } else if(identifier == 0x9328) { Serial.println(F("Found ILI9328 LCD driver")); } else if(identifier == 0x4535) { Serial.println(F("Found LGDP4535 LCD driver")); }else if(identifier == 0x7575) { Serial.println(F("Found HX8347G LCD driver")); } else if(identifier == 0x9341) { Serial.println(F("Found ILI9341 LCD driver")); }else if(identifier == 0x7783) { Serial.println(F("Found ST7781 LCD driver")); }else if(identifier == 0x8230) { Serial.println(F("Found UC8230 LCD driver")); } else if(identifier == 0x8357) { Serial.println(F("Found HX8357D LCD driver")); } else if(identifier==0x0101) { identifier=0x9341; Serial.println(F("Found 0x9341 LCD driver")); }else { Serial.print(F("Unknown LCD driver chip: ")); Serial.println(identifier, HEX); Serial.println(F("If using the Adafruit 2.8\" TFT Arduino shield, the line:")); Serial.println(F(" #define USE_ADAFRUIT_SHIELD_PINOUT")); Serial.println(F("should appear in the library header (Adafruit_TFT.h).")); Serial.println(F("If using the breakout board, it should NOT be #defined!")); Serial.println(F("Also if using the breakout, double-check that all wiring")); Serial.println(F("matches the tutorial.")); identifier=0x9341; } tft.begin(identifier); tft.setRotation(0); tft.fillScreen(BLACK); // create buttons for (uint8_t row=0; row<5; row++) { for (uint8_t col=0; col<3; col++) { buttons[col + row*3].initButton(&tft, BUTTON_X+col*(BUTTON_W+BUTTON_SPACING_X), BUTTON_Y+row*(BUTTON_H+BUTTON_SPACING_Y), // x, y, w, h, outline, fill, text BUTTON_W, BUTTON_H, ILI9341_WHITE, buttoncolors[col+row*3], ILI9341_WHITE, buttonlabels[col + row*3], BUTTON_TEXTSIZE); buttons[col + row*3].drawButton(); } } // create 'text field' tft.drawRect(TEXT_X, TEXT_Y, TEXT_W, TEXT_H, ILI9341_WHITE); } // Print something in the mini status bar with either flashstring void status(const __FlashStringHelper *msg) { tft.fillRect(STATUS_X, STATUS_Y, 240, 8, ILI9341_BLACK); tft.setCursor(STATUS_X, STATUS_Y); tft.setTextColor(ILI9341_WHITE); tft.setTextSize(1); tft.print(msg); } // or charstring void status(char *msg) { tft.fillRect(STATUS_X, STATUS_Y, 240, 8, ILI9341_BLACK); tft.setCursor(STATUS_X, STATUS_Y); tft.setTextColor(ILI9341_WHITE); tft.setTextSize(1); tft.print(msg); } #define MINPRESSURE 10 #define MAXPRESSURE 1000 void loop(void) { /*TSPoint p; p = ts.getPoint(); */ digitalWrite(13, HIGH); TSPoint p = ts.getPoint(); digitalWrite(13, LOW); // if sharing pins, you'll need to fix the directions of the touchscreen pins //pinMode(XP, OUTPUT); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); //pinMode(YM, OUTPUT); // we have some minimum pressure we consider 'valid' // pressure of 0 means no pressing! // p = ts.getPoint(); /* if (ts.bufferSize()) { } else { // this is our way of tracking touch 'release'! p.x = p.y = p.z = -1; }*/ // Scale from ~0->4000 to tft.width using the calibration #'s /* if (p.z != -1) { p.x = map(p.x, TS_MINX, TS_MAXX, 0, tft.width()); p.y = map(p.y, TS_MINY, TS_MAXY, 0, tft.height()); Serial.print("("); Serial.print(p.x); Serial.print(", "); Serial.print(p.y); Serial.print(", "); Serial.print(p.z); Serial.println(") "); }*/ if (p.z > MINPRESSURE && p.z < MAXPRESSURE) { // scale from 0->1023 to tft.width p.x = map(p.x, TS_MINX, TS_MAXX, tft.width(), 0); p.y = (tft.height()-map(p.y, TS_MINY, TS_MAXY, tft.height(), 0)); } // go thru all the buttons, checking if they were pressed for (uint8_t b=0; b<15; b++) { if (buttons[b].contains(p.x, p.y)) { //Serial.print("Pressing: "); Serial.println(b); buttons[b].press(true); // tell the button it is pressed } else { buttons[b].press(false); // tell the button it is NOT pressed } } // now we can ask the buttons if their state has changed for (uint8_t b=0; b<15; b++) { if (buttons[b].justReleased()) { // Serial.print("Released: "); Serial.println(b); buttons[b].drawButton(); // draw normal } if (buttons[b].justPressed()) { buttons[b].drawButton(true); // draw invert! // if a numberpad button, append the relevant # to the textfield if (b >= 3) { if (textfield_i < TEXT_LEN) { textfield[textfield_i] = buttonlabels[b][0]; textfield_i++; textfield[textfield_i] = 0; // zero terminate // fona.playDTMF(buttonlabels[b][0]); } } // clr button! delete char if (b == 1) { textfield[textfield_i] = 0; if (textfield > 0) { textfield_i--; textfield[textfield_i] = ' '; } } // update the current text field Serial.println(textfield); tft.setCursor(TEXT_X + 2, TEXT_Y+10); tft.setTextColor(TEXT_TCOLOR, ILI9341_BLACK); tft.setTextSize(TEXT_TSIZE); tft.print(textfield); // its always OK to just hang up if (b == 2) { status(F("Hanging up")); //fona.hangUp(); } // we dont really check that the text field makes sense // just try to call if (b == 0) { status(F("Calling")); Serial.print("Calling "); Serial.print(textfield); //fona.callPhone(textfield); } delay(100); // UI debouncing } } }
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                    Seul le sage sait combien il sait peu.
                                                      11 avril 2018 à 22:37:30

                                                      Bon j'ai enfin réussi à afficher mes images par ma carte sd !

                                                      Il ne me reste plus qu'a creer ces fameuses boites et à détecter l'appui, ce qui n'est pas une mince affaire ...

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                      Seul le sage sait combien il sait peu.

                                                      Projet de Sciences de l'ingénieur terminale

                                                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                      • Editeur
                                                      • Markdown