digispark avec bibliothèque IRremote

Bonjour à tous,
j'envisage de remplacer un Arduino Uno par un digispark pour une télécommande .
j'utilise la bibliothèque IRremote et la Led infrarouge est figée sur la pin 3 du Uno
est-ce que ce sera compatible avec le digispark?
si oui sur quelle broche ?
j'ai vu un exemple sur le net mais il traitait du récepteur IR pas de l' émetteur IR
merci d'avance

Digispark est une marque, de quel modèle parles-tu ? Attiny85 ?
J'ai trouvé ça, est-ce que ça correspond à ton besoin ?

Infrared shield

The Infrared Shield Kit allows you to connect a infrared receiver with the Digispark development board. The Infrared Shield connects the TSOP382 IR Receiver Diode to the Digispark allowing the Digispark to receive signals from standard TV remotes. The Infrared Shield circuit board also includes support for adding an Infrared LED for transmitting IR signals, though the LED is not included.

merci lesept de t'intéresser à mon problème.
je n'ai pas besoin de cette petite carte car les touches de télécommande ont déjà été décodées avec un Uno,
maintenant pour un gain de place je voudrais mettre dans un tout petit boitier et donc transplanter
le code sur un Digispark ATtiny85.

La bibliothèque IRremote utilisée sur l'Arduino uno impose la pin 3 pour la Led émettrice IR.

Ma question est : Sur digispark attiny85 la pin 3 est une entrée Analogique donc çà ne va pas, il faudrait une sortie en PWM il me semble que cela correspond à la pin 1 ou pin 4 ;

Il faudrait pouvoir modifier dans la bibliothèque mais comment faire ?

La bibliothèque IRremote utilisée sur l'Arduino uno impose la pin 3 pour la Led émettrice IR.

Où as-tu vu ça ?

dans l'un des exemples de la bibliothèque IRremote:

/*
 * IRremote: IRsendDemo - demonstrates sending IR codes with IRsend
 * An IR LED must be connected to Arduino PWM pin 3.
 * Version 0.1 July, 2009
 * Copyright 2009 Ken Shirriff
 * http://arcfn.com
 */


#include <IRremote.h>

IRsend irsend;

void setup()
{
}

void loop() {
	for (int i = 0; i < 3; i++) {
		irsend.sendSony(0xa90, 12);
		delay(40);
	}
	delay(5000); //5 second delay between each signal burst
}

Selon cette page, sur Attiny85 la pin est la 1

Ouais , la 1 c'est donc PB5 d'après la doc ,hors PB5 n'est pas PWM ! n'est-ce pas bizarre ?

En effet, il veut peut-être dire PB1
Fais le test

Bonjour,
sur PB1 ça ne fonctionne pas et nulle part ailleurs ..

je viens de voir dans les exemples l'utilisation de "IRlib.h"
c'est sans doute que "IRremote" n'est pas adapté .
il existe aussi "DigisparkIRlib" dans GitHub
je vais m'y intéresser

Bonjour, décidément j'ai des problèmes avec digispark:

je voulais tester avec l'exemple DigisparkIRLib/ IRsendDemo mais lors du vérifier/compiler j'ai ce message:
exit status 1
'IRsend' does not name a type

IRsendJVC fait le même défaut

par contre IRRecvDump çà va

Avez-vous une explication ,il aurait-il un conflit ? si oui ou?

Je ne pense pas que ce soit un conflit, on dirait que la bibliothèque est mal faite, comme s'il n'y avait pas de constructeur :

class IRsend: 
public virtual IRsendNEC,
public virtual IRsendSony,
public virtual IRsendRaw,
public virtual IRsendRC5,
public virtual IRsendRC6,
public virtual IRsendPanasonic_Old,
public virtual IRsendJVC,
public virtual IRsendNECx
{
public:
  void send(IRTYPES Type, unsigned long data, int nbits);
};

Ça dépasse mes connaissances...

et moi donc ! sorti du langage Arduino ordinaire je n'y connais rien
merci quand même pour ton aide lesept
mon projet n'a pas l'air d'intéresser beaucoup d'autres experts !

Bon, alors je me lance : essaye de modifier le fichier IRLib.h comme suit (vers la ligne 296)
Il est dans le répertoire libraries/DigisparkIRLib

public:
  IRsend(); // <-- juste cette ligne ajoutée
  void send(IRTYPES Type, unsigned long data, int nbits);
};

Puis recompile le projet et dis-moi si ça marche...

Bonjour lesept,

Le constructeur n'est pas obligatoire dans une class.

Par contre si tu le déclares comme tu as fait, il doit être défini quelque part.

Si tu veux un constructeur vide

public:
 IRsend() {} // <-- juste cette ligne ajoutée

mais c'est inutile ça fait la même chose que s'il n'y avait pas de constructeur

Alors pourquoi

'IRsend' does not name a type

Il faudrait avoir le dernier source.

Bonjour lesept et kamill
merci encore pour le temps que vous m'accordez.
je viens d'essayer la modif de lesept hélas çà ne change rien.

ma bibliothèque ce trouve là:
OS(C:)>Utilisateurs>jean_claude>AppData>Local>Arduino15>packages>hardware>avr>1.6.(7>libraries>DigisparkIRLib>IRLib.h

est-ce normal ?

la plus part du temps elle sont plutôt dans Documents/arduino/libraries !

kamill qu'entends-tu par dernier source ?
comment dois-je procèder ?

Oui, normalement, les bibliothèques doivent être dans Documents/arduino/libraries
Par contre, ça n'a pas l'air simple d'installer cette bibliothèque. Peut-être faut-il suivre ces instructions ?

guillaumetell:
kamill qu'entends-tu par dernier source ?

Je parle de ton source qui provoque le message d'erreur.

j'ai essayer de mettre aussi cette bibliothèque dans Documents/arduino/libraries
mais çà ne change rien .