NOKIA 5110 CAPTEUR DISTANCE ET DÉCODAGE TELECOMMANDE 433MHZ

SALUT à tous

voila mon projet utiliser un ecran nokia pour lire un code de telecommande et de l afficher,
pour donner une distance

liste arduino uno
recepteur 433mhz
module hc sr04
ecran nokia 5110
1 resistance 100ohm

cablage ecran nokia

  • rst ->6
  • ce → Arduino digital pin7
  • dc → Arduino digital pin 5
  • din → Arduino digital pin 4
  • clk → Arduino digital pin 3
  • bl → 3.3
  • vcc-> 3.3
  • gnd-> gnd resistance 100ohm

cablage recepteur
vcc → 5v
data ->pin2
gnd ->gnd

cablage hc sro4
vcc ->5v
trig → pin12;
echo-> pin11;

j aimerai avoir votre aide pour enregister un code lue et pouvoir le reemetre merci de votre aide
et que pensez de mon code

 /*
 * PCD8544 - Interface with Philips PCD8544 (or compatible) LCDs.
 *
  * rst ->6
 * Pin 2 -> Arduino digital pin7
 * Pin 3 -> Arduino digital pin 5
 * Pin 4 -> Arduino digital pin 4
 * Pin 5 -> Arduino digital pin 3
 * Pin 6 -> 3.3
 * Pin 7 -> 3.3
 * Pin 8 -> gnd resistance 100ohm 
 */
const int buttonPin =9; 
const int haut =  8;
const int ledPin =  13;
int buttonState = 0;    
int trig = 12;   
int echo = 11; 
long lecture_echo; 
long cm;
#include <PCD8544.h>
#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

// A custom glyph (a smiley)...
static const byte glyph[] = { B00010000, B00110100, B00110000, B00110100, B00010000 };


static PCD8544 lcd;


void setup() {
 pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
  pinMode (haut, HIGH);
  
  pinMode(trig, OUTPUT); 
  digitalWrite(trig, LOW); 
  pinMode(echo, INPUT); 
 Serial.begin(9600);
  mySwitch.enableReceive(0);  // definie le pin reception arduino 0=pin 2 sur le uno 

  // PCD8544-compatible displays may have a different resolution...
  lcd.begin(84, 48);
  
  // Add the smiley to position "0" of the ASCII table...
  lcd.createChar(0, glyph);
}


void loop() {
//ultra son
digitalWrite(trig, HIGH); 
  delayMicroseconds(10); 
  digitalWrite(trig, LOW); 
  lecture_echo = pulseIn(echo, HIGH); 
  cm = lecture_echo / 58; //on definie cm pour reprendre cette commande  le chiffre regle les distances
 lcd.setCursor(0,2);
  Serial.print("Distancem : "); // ecrit dans moniteur serial
 Serial.println(cm); 
  delay(1000); 


  
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);
lcd.setCursor(0, 0); //le curseur se place a la colonne 0  ligne 0
   lcd.print("ok"); //pour bonjours,lcd.print("bonjours");
  //
  if (buttonState == HIGH) {//si appuie bouton 
   
    digitalWrite(ledPin, HIGH);// la led s allume

   lcd.setCursor(0,1);//le curseur se place a la colonne 0 ligne 1 
    lcd.print("Distance: "); //on ecrit distance
    lcd.setCursor(52,1);// le curseur se place a la colonne 52 ligne 1
   lcd.print(cm);//
    lcd.setCursor(76,1);
   lcd.print("c");
    delay(1000); 
 } else {  //sinon 
    // turn LED off:
    digitalWrite(ledPin, LOW);//la led s eteint
  lcd.setCursor(52,1);//on place le curseur a cm pour effacer les chiffres
   lcd.print("   ");//on ecrit des espaces pour efface l ancienne donnees de  distance


//partie decodage et affichage code 433mhz
if (mySwitch.available()) {//si reception 
    
    int value = mySwitch.getReceivedValue();//on decode
    
    if (value == 0) {
  // Just to show the program is alive...
  static int counter = 0;


} else {// sinon
 // 
 
  lcd.setCursor(16,0);// place curseur
  lcd.print(mySwitch.getReceivedValue());// on ecrit le code
   lcd.setCursor(68,0);
  lcd.print(mySwitch.getReceivedBitlength());// on dit le nombre bit du code

}
}
}
}

Je suppose que GND est connecté aussi sur le hc sro4?

Oui le hc sro4 et branché sur le gnd maintenant j ai un souci lorsque j alimente le tous avec un power bank le hcsr04 ne dispose pas assez de puissance et donne des valeur fausse avez vous un conseil le 5v est branché sur la batterie mais le gnd j essaye de refaire mon câblage ce SOIR

Bonsoir,

Pour le HR-04 utilise la library NewPing

#include <NewPing.h>

#define TRIGGER_PIN 12 // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN 11 // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 400 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.
#define IR_RECV_PIN 10

change pour mettre tes pins a toi

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.

dans ta boucle loop:

distance = sonar.ping_cm();
Serial.print("Ping: ");
Serial.print(distance); // Send ping, get distance in cm and print result (0 = outside set distance range)
Serial.println(“cm”);

Merci pour la lib celticlord je vais essayer voir si ça resoud mon soucis de batterie bizarrement une fois branché au secteur le hc sr04 donne de bonne valeur et stable

Vous avez une photo de l’écran et des connections?

La backlight consomme jusqu’à 80mA quand l’écran est fourni avec les résistances de contrôle.
La pin 3.3V Pin ne peut fournir que 50 mA…c’est un problème

Chaque D-PIN ne doit pas dépasser idéalement 20mA, la carte au total ne doit pas dépasser 200 et certains groupes de pins ne doivent pas dépasser 100 à 150mA à eux tous.

Enfin l’alimentation externe doit être idéalement Entre 7 et 12V. Viser 7 à 9 est une bonne valeur; Mettre 5 V c’est un risque pour la stabilité du processeur à moins d’avoir une alim super stable

je pense aussi que ta batterie n est pas suffisante pour alimenter tout ca

voici le chema

effectivement c etait la batterie; il faut que m en trouve une bonne

celticlord j ai pas encore essayer la librairie
j ai presque finis mon projet,j ai réussi a décoder une telcommande rf à l enregistrer sur l eeprom et à réémettre le code
il me reste plus qu a faire de meme pour 6 code enregistrer de creer l affichage sur l ecran et tous sera finie