Open Revel693 opened 1 year ago
Hi 👋,
Oui, pour les ATtiny85 il faut utiliser un port série logiciel avec la librairie SoftwareSerial.
En ajoutant cet include au début du code :
#include <SoftwareSerial.h>
Puis en déclarant le port série virtuel juste après :
SoftwareSerial Serial(0, pin_TX);
(En replaçant "pin_TX" par le numéro de la pin connectée au coffre)
Merci beaucoup pour la réponse rapide, j'avoue que j'ai essayé toute la journée... j'utilise le PIN P2(SCK) et PIN P3(USB+)donc si je comprends bien le code ça devrait ressembler exactement à ça ?
SoftwareSerial Serial(0, 3);
const int pin = 1;
void send_request(int command, int a, int b, int c, int d, int e) { int checksum = (command + a + b + c + d + e);
pinMode(pin, OUTPUT); digitalWrite(pin, LOW); delayMicroseconds(2750); digitalWrite(pin, HIGH); delayMicroseconds(200); Serial.begin(9600);
Serial.write((byte)0x0); Serial.write(command); Serial.write(a); Serial.write(b); Serial.write(c); Serial.write(d); Serial.write(e); Serial.write(checksum);
Serial.end(); pinMode(pin, OUTPUT); digitalWrite(pin, HIGH); }
void reset_code(int a, int b, int c, int d, int e) { send_request(0x75, a, b, c, d, e); }
void try_code(int a, int b, int c, int d, int e) { send_request(0x71, a, b, c, d, e); }
void setup() { reset_code(1,2,3,4,5); delay(1000); try_code(1,2,3,4,5); }
void loop() {}
Il faut aussi changer la variable pin avec la même valeur, donc si c'est la pin 3, cela peut donner :
#include <SoftwareSerial.h>
const int pin = 3;
SoftwareSerial Serial(0, pin);
...
Avec la pin 3 sur le fil vert du coffre et le fil noir relié à la masse de l'ATtiny85.
Il faut aussi changer la variable pin avec la même valeur, donc si c'est la pin 3, cela peut donner :
#include <SoftwareSerial.h> const int pin = 3; SoftwareSerial Serial(0, pin); ...
Avec la pin 3 sur le fil vert du coffre et le fil noir relié à la masse de l'ATtiny85.
Malheureusement, maintenant, cela me donne une autre erreur, vous ne pouvez pas m'envoyer le code directement pour que je puisse l'essayer :(
`#include
void send_request(int command, int a, int b, int c, int d, int e) { int checksum = (command + a + b + c + d + e);
pinMode(pin, OUTPUT); digitalWrite(pin, LOW); delayMicroseconds(2750); digitalWrite(pin, HIGH); delayMicroseconds(200); Serial.begin(9600);
Serial.write((byte)0x0); Serial.write(command); Serial.write(a); Serial.write(b); Serial.write(c); Serial.write(d); Serial.write(e); Serial.write(checksum);
Serial.end(); pinMode(pin, OUTPUT); digitalWrite(pin, HIGH); }
void reset_code(int a, int b, int c, int d, int e) { send_request(0x75, a, b, c, d, e); }
void try_code(int a, int b, int c, int d, int e) { send_request(0x71, a, b, c, d, e); }
void setup() { reset_code(1,2,3,4,5); delay(1000); try_code(1,2,3,4,5); }
void loop() {}`
Error = Using library SoftwareSerial at version 1.0 in folder: /home/lev/snap/arduino/current/Arduino/libraries/SoftwareSerial exit status 1 conflicting declaration 'SoftwareSerial Serial'
Hi,
J'ai essayé votre code avec un ATTINY85 mais ça ne fonctionne pas et je ne comprends pas pourquoi il faut le modifier le code pour le faire fonctionner avec ATTINY85 ?
Merci