Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

nRF24L01+ avec ATtiny85 3 broches

Composants et fournitures

nRF24L01+
× 2
ATtiny85
× 1
Arduino UNO
× 1
Condensateur céramique - 10nF
× 1
Résistance à film de carbone - 22kΩ
× 1
Diode de commutation - 1n4148
× 1
Source d'alimentation - 3v3
× 1
Adaptateur de prise nRF24L01+
Facultatif
× 1

À propos de ce projet

Ce serait la continuation de mon précédent projet Programmation ATtiny85 avec Arduino Uno. Maintenant, avec ATtiny85 moins cher en place, je cherchais des moyens moins coûteux de transmettre les données du capteur. Ce qui m'a amené au nRF24L01+, un émetteur-récepteur RF bon marché et de faible puissance. Cela semblait être la meilleure solution pour moi. Mais il y avait un problème, la limitation du nombre de broches dans ATtiny85. Je ne parviens pas à connecter à la fois le nRF24L01+ et le capteur qu'il contient. Je cherchais donc des solutions et suis tombé sur "contrôle nrf24l01+ avec 3 broches ATtiny85". Ici, je discute de la façon dont je l'ai mis en œuvre.


Modules

Il y aura ici deux modules émetteur et récepteur. L'émetteur serait un ATtiny85 envoyant des données et le récepteur serait Arduino Uno recevant les données via nRF25L01+. J'utilise la bibliothèque RF24 (http://tmrh20.github.io/RF24/). Suivez les instructions qui y sont données et ajoutez-le à Arduino IDE avant de commencer. Je n'expliquerai pas grand-chose sur RF24 car il existe une très bonne documentation à ce sujet.


Émetteur

L'émetteur transmet un nombre incrémental toutes les secondes. L'ATtiny85 enverra les données via nRF24L01+ en utilisant seulement 3 broches. Je suis les instructions données par Ralph Doncaster pour sa mise en œuvre.

Les composants requis seraient

  • ATtiny85
  • nRF24L01+
  • Condensateur Céramique - 10nF
  • Résistance à film de carbone - 22kΩ
  • Diode de commutation - 1n4148

Téléchargez le code ci-dessous sur ATtiny85 (référez-vous à mon projet précédent Programming ATtiny85 avec Arduino Uno si vous voulez savoir comment)

sender.ino

Connectez les composants comme indiqué ci-dessous

Lorsque la source d'alimentation est connectée, l'émetteur commencera à envoyer une séquence de nombres toutes les 1 seconde.

Récepteur

Le récepteur reçoit les données envoyées par l'émetteur et les données reçues peuvent être vues dans le moniteur série.

Les composants requis seraient

  • Arduino Uno
  • nRF24L01+
  • Adaptateur de prise nRF24L01+ (en option)

Téléchargez le code ci-dessous sur Uno

récepteur.ino

Connectez les composants comme indiqué ci-dessous


Si ce n'est pas clair, référez-vous au fichier fritzing joint à ce projet. Veuillez noter que Vcc doit toujours être 3v3. Dans certains clones Arduino Uno, la puissance 3v3 peut ne pas avoir assez de courant, ce qui fait que nRF24L01+ ne fonctionne pas. L'une des méthodes ci-dessous est recommandée pour résoudre ce problème

  1. Utilisez une alimentation 3v3 séparée
  2. Ajoutez un condensateur 10uF entre Vcc et Gnd dans le module lui-même.
  3. Utilisez un adaptateur de prise nRF24L01+


Avec l'émetteur et le récepteur prêts, il est maintenant temps de tester. Assurez-vous que l'alimentation de l'émetteur est sur ON. Connectez l'Arduino Uno au PC et ouvrez le moniteur série dans arduino ide. Cela devrait fonctionner comme ci-dessous

Le rendre permanent

Avec mes peu de connaissances en soudure, je l'ai rendu permanent en utilisant du perfboard.

Il s'agit d'un module plus simple pour montrer comment le nRF24L01+ et comment nous pouvons utiliser seulement 3 broches d'ATtiny85 pour le connecter afin que le reste des broches soit disponible pour la lecture des données du capteur. Les commentaires/suggestions sont les bienvenus.

Code

  • Émetteur
  • Récepteur
ÉmetteurC/C++
#define CE_PIN 3#define CSN_PIN 3 // Puisque nous utilisons une configuration à 3 broches, nous utiliserons la même broche pour CE et CSN#include "RF24.h" Radio RF24 (CE_PIN, CSN_PIN); adresse d'octet[11] ="SimpleNode";long payload non signé =0;void setup() { radio.begin(); // Démarrer la radio radio.setAutoAck(1); // Assurez-vous que l'autoACK est activé radio.setRetries(15,15); // Délai maximum entre les tentatives et nombre de tentatives radio.openWritingPipe(address); // Écrire à l'adresse du périphérique 'SimpleNode'}void loop(void){ payload++; radio.write( &payload, sizeof(unsigned long) ); //Envoyer les données au 'Récepteur' tous les secondes (1000);}
RécepteurC/C++
#define CE_PIN 7#define CSN_PIN 8#include #include "RF24.h"RF24 radio(CE_PIN, CSN_PIN);byte address[11] ="SimpleNode";unsigned long payload =0;void setup() { Serial.begin(115200); radio.begin(); // Démarrer la radio radio.setAutoAck(1); // Assurez-vous que l'autoACK est activé radio.setRetries(15,15); // Délai maximum entre les tentatives et nombre de tentatives radio.openReadingPipe(1, adresse); // Écrire à l'adresse du périphérique 'SimpleNode' radio.startListening();}void loop(void){ radio.stopListening(); radio.startListening(); radio.read( &payload, sizeof(unsigned long) ); if(payload !=0){ Serial.print("Got Payload"); Serial.println (charge utile); } retard(1000);}

Schémas

nRF24L01%2B (avec%20Socket)%20Attiny85.fzz nRF24L01%2B%20Arduino%20Uno.fzz

Processus de fabrication

  1. Circuit avec interrupteur
  2. Lire la température avec DS18B20 | Raspberry Pi 2
  3. Mesure de la température avec RASPBERRY PI
  4. Contrôle de la température avec Raspberry Pi
  5. Posture Pal avec Walabot
  6. Reconnaissance des chiffres AI avec PiCamera
  7. Premiers pas avec TJBot
  8. Construire un segway avec Raspberry Pi
  9. GoPiGo v2 avec Windows IoT