César est la clef : Différence entre versions
(→Les sites utiles) |
(→Code) |
||
| Ligne 20 : | Ligne 20 : | ||
==Code== | ==Code== | ||
<pre> | <pre> | ||
| − | + | Le code n'est pas malheureusement pas opérationnel. Nous avons eu beaucoup de difficultés à connecter le microcontrôleur à notre pc. | |
</pre> | </pre> | ||
| + | #include <LiquidCrystal_I2C.h> | ||
| + | #include <Arduino.h> | ||
| + | #include <String.h> | ||
| + | |||
| + | bool e0= false; | ||
| + | bool e1=false; | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | // set the LCD number of columns and rows | ||
| + | int lcdColumns = 16; | ||
| + | int lcdRows = 2; | ||
| + | |||
| + | // set LCD address, number of columns and rows | ||
| + | // if you don't know your display address, run an I2C scanner sketch | ||
| + | LiquidCrystal_I2C lcd(0x27, lcdColumns, lcdRows); | ||
| + | |||
| + | void setup(){ | ||
| + | pinMode(D0, INPUT); | ||
| + | pinMode(D5,INPUT); | ||
| + | pinMode(D6,INPUT); | ||
| + | |||
| + | // initialize LCD | ||
| + | lcd.init(); | ||
| + | // turn on LCD backlight | ||
| + | lcd.backlight(); | ||
| + | lcd.clear(); | ||
| + | // set cursor to first column, first row | ||
| + | // lcd.setCursor(0, 0); | ||
| + | // print message | ||
| + | // lcd.print("Hello, World!"); | ||
| + | // Serial.begin(115200); | ||
| + | // Serial.println(random(0,100)); | ||
| + | |||
| + | } | ||
| + | |||
| + | char char1 = (char)0x41 +(char)random(0,25); | ||
| + | char char2 = (char)0x41 +(char)random(0,25); | ||
| + | char char3 = (char)0x41 +(char)random(0,25); | ||
| + | |||
| + | //String TrueString =(String)(char1+(char)7) +(String)(char2+(char)7) + (String)(char3+(char)7); | ||
| + | //int cmpt =0; | ||
| + | |||
| + | String chain1=(String)char1 +(String)char2 + (String)char3; | ||
| + | |||
| + | int shift=0; | ||
| + | |||
| + | |||
| + | |||
| + | void DisplayCode(String Chain,int dec,int sh){ | ||
| + | |||
| + | lcd.setCursor(0, 0); | ||
| + | lcd.print("Mon code est:"); | ||
| + | lcd.setCursor(0, 14); | ||
| + | lcd.print(sh); | ||
| + | lcd.setCursor(dec, 1); | ||
| + | lcd.print(Chain); | ||
| + | |||
| + | |||
| + | } | ||
| + | |||
| + | void Increment() | ||
| + | { | ||
| + | if (char1 =='Z' || char2 =='Z' || char3 =='Z'){ | ||
| + | |||
| + | char1 = (char)((int)char1-25); | ||
| + | char2 = (char)((int)char1-25); | ||
| + | char3 = (char)((int)char1-25); | ||
| + | |||
| + | shift++; | ||
| + | if (shift>=26){ | ||
| + | shift=0; | ||
| + | } | ||
| + | |||
| + | chain1=(String)char1 +(String)char2 + (String)char3; | ||
| + | DisplayCode(chain1, 7, shift); | ||
| + | } | ||
| + | |||
| + | else{ | ||
| + | char1 = (char)((int)char1+1); | ||
| + | char2 = (char)((int)char2+1); | ||
| + | char3 = (char)((int)char3+1); | ||
| + | |||
| + | shift++; | ||
| + | if (shift>=26){ | ||
| + | shift=0; | ||
| + | } | ||
| + | chain1=(String)char1 +(String)char2 + (String)char3; | ||
| + | DisplayCode(chain1, 7, shift); | ||
| + | } | ||
| + | |||
| + | } | ||
| + | |||
| + | void Decrement(){ | ||
| + | |||
| + | if (char1 =='A' || char2 =='A' || char3 =='A'){ | ||
| + | char1 = (char)((int)char1+25); | ||
| + | char2 = (char)((int)char2+25); | ||
| + | char3 = (char)((int)char3+25); | ||
| + | |||
| + | shift--; | ||
| + | if (shift<0){ | ||
| + | shift=25; | ||
| + | } | ||
| + | chain1=(String)char1 +(String)char2 + (String)char3; | ||
| + | DisplayCode(chain1, 7, shift); | ||
| + | } | ||
| + | else{ | ||
| + | char1 = (char)((int)char1-1); | ||
| + | char2 = (char)((int)char2-1); | ||
| + | char3 = (char)((int)char3-1); | ||
| + | |||
| + | shift--; | ||
| + | if (shift<0){ | ||
| + | shift=25; | ||
| + | } | ||
| + | chain1=(String)char1 +(String)char2 + (String)char3; | ||
| + | DisplayCode(chain1, 7, shift); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | void loop(){ | ||
| + | while (!e0){ | ||
| + | DisplayCode(chain1, 7, shift); | ||
| + | |||
| + | if (digitalRead(D5==HIGH )){ | ||
| + | Increment(); | ||
| + | } | ||
| + | if (digitalRead(D6==HIGH)){ | ||
| + | Decrement(); | ||
| + | } | ||
| + | |||
| + | if(shift==7 && D0==HIGH){ | ||
| + | e0=true; | ||
| + | } | ||
| + | delay(1000); | ||
| + | Decrement(); | ||
| + | lcd.clear(); | ||
| + | } | ||
| + | } | ||
==Catégories== | ==Catégories== | ||
[[Catégorie:Enib2023]] | [[Catégorie:Enib2023]] | ||
Version du 19 janvier 2023 à 14:53
Sommaire
photo de l'équipe
Que fait ce projet ?
Nous sommes un groupe d'étudiants de l'ENIB : Elouan, Arthur, Sidiki et Sylane (de gauche à droite).
Les sites utiles
- https://steve.fi/hardware/d1-pins/
- https://randomnerdtutorials.com/esp32-esp8266-i2c-lcd-arduino-ide/
- https://chat.openai.com/chat
Liste des composants
- composant 1
- composant 2
- ...
Code
Le code n'est pas malheureusement pas opérationnel. Nous avons eu beaucoup de difficultés à connecter le microcontrôleur à notre pc.
- include <LiquidCrystal_I2C.h>
- include <Arduino.h>
- include <String.h>
bool e0= false; bool e1=false;
// set the LCD number of columns and rows
int lcdColumns = 16;
int lcdRows = 2;
// set LCD address, number of columns and rows // if you don't know your display address, run an I2C scanner sketch LiquidCrystal_I2C lcd(0x27, lcdColumns, lcdRows);
void setup(){
pinMode(D0, INPUT);
pinMode(D5,INPUT);
pinMode(D6,INPUT);
// initialize LCD
lcd.init();
// turn on LCD backlight
lcd.backlight();
lcd.clear();
// set cursor to first column, first row
// lcd.setCursor(0, 0);
// print message
// lcd.print("Hello, World!");
// Serial.begin(115200);
// Serial.println(random(0,100));
}
char char1 = (char)0x41 +(char)random(0,25); char char2 = (char)0x41 +(char)random(0,25); char char3 = (char)0x41 +(char)random(0,25);
//String TrueString =(String)(char1+(char)7) +(String)(char2+(char)7) + (String)(char3+(char)7); //int cmpt =0;
String chain1=(String)char1 +(String)char2 + (String)char3;
int shift=0;
void DisplayCode(String Chain,int dec,int sh){
lcd.setCursor(0, 0);
lcd.print("Mon code est:");
lcd.setCursor(0, 14);
lcd.print(sh);
lcd.setCursor(dec, 1);
lcd.print(Chain);
}
void Increment()
{
if (char1 =='Z' || char2 =='Z' || char3 =='Z'){
char1 = (char)((int)char1-25); char2 = (char)((int)char1-25); char3 = (char)((int)char1-25);
shift++; if (shift>=26){
shift=0;
}
chain1=(String)char1 +(String)char2 + (String)char3; DisplayCode(chain1, 7, shift);
}
else{
char1 = (char)((int)char1+1); char2 = (char)((int)char2+1); char3 = (char)((int)char3+1);
shift++; if (shift>=26){
shift=0;
} chain1=(String)char1 +(String)char2 + (String)char3; DisplayCode(chain1, 7, shift);
}
}
void Decrement(){
if (char1 =='A' || char2 =='A' || char3 =='A'){
char1 = (char)((int)char1+25); char2 = (char)((int)char2+25); char3 = (char)((int)char3+25);
shift--; if (shift<0){
shift=25;
} chain1=(String)char1 +(String)char2 + (String)char3; DisplayCode(chain1, 7, shift);
}
else{
char1 = (char)((int)char1-1); char2 = (char)((int)char2-1); char3 = (char)((int)char3-1);
shift--; if (shift<0){
shift=25;
} chain1=(String)char1 +(String)char2 + (String)char3; DisplayCode(chain1, 7, shift);
} }
void loop(){
while (!e0){
DisplayCode(chain1, 7, shift);
if (digitalRead(D5==HIGH )){
Increment();
}
if (digitalRead(D6==HIGH)){
Decrement();
}
if(shift==7 && D0==HIGH){
e0=true;
}
delay(1000); Decrement(); lcd.clear(); }
}
