Problème lors d'un changement de carte arduino

Bonjour tout le monde,
Je suis entrain de faire un projet sur un casque d'iron man avec une arduino nano every. Dans l'attente de la réception de ma carte arduino nano every j'ai fait des essais du câblage et du programme sur une arduino Uno et tout fonctionne à merveille (ouverture et fermeture du casque sur appui d'un bouton + lumière qui s'éteint ou s'allume). Mais ensuite quand j'ai enlevé l'arduino Uno pour mettre la nano cela fait n'importe quoi et je n'arrive pas un comprendre pourquoi.
Auriez vous une idée s'il vous plaît
J'ai ajouté ci-joint le câblage.
Voici le code :

#include "ServoEasing.h"
ServoEasing servoTop;
ServoEasing servoBottom;
const int action_pin = 2;
const int ledPin = 6;
const int potPin = A0;
int location = 31;
int bottom_closed = 140;
int top_closed = 170;
int bottom_open = 90;
int top_open = 50;
int value;
void setup()
{
 pinMode(action_pin, INPUT_PULLUP);
 pinMode(potPin, INPUT);
 servoTop.attach(9);
 servoBottom.attach(10);
 setSpeedForAllServos(190);
 servoTop.setEasingType(EASE_CUBIC_IN_OUT);
 servoBottom.setEasingType(EASE_CUBIC_IN_OUT);
 synchronizeAllServosStartAndWaitForAllServosToStop();
}
void loop()
{
 value = analogRead(potPin);
 value = map(value, 250, 750, 0, 255);
 analogWrite(ledPin, value);
 delay(100);
 int proximity = digitalRead(action_pin);
 if (proximity == LOW)
 {
 if (location > bottom_open) {
 servoTop.setEaseTo(top_open);
 servoBottom.setEaseTo(bottom_open);
 synchronizeAllServosStartAndWaitForAllServosToStop();
 location = bottom_open;
 delay(1000);
 } else {
 servoTop.setEaseTo(top_closed);
 servoBottom.setEaseTo(bottom_closed);
 synchronizeAllServosStartAndWaitForAllServosToStop();
 location = bottom_closed;
 delay(1000);
 }
 }
}

emulation registers sur atmega328p dans outils ?
compatibilité des biblios ?

compatibilité des biblios ?

L'Uno et La Nano ont le même processeur, les même noms pour les mêmes pins. Cela ne colle pas.

emulation registers sur atmega328p dans outils ?

Par contre dans outil, il peut y avoir des différences. Je vois que pour le type de carte, Uno et Nano n'est pas la même cible. Cela a-t-il été changé? D'ailleurs pourquoi l'outil propose les deux?

L'Uno et La Nano ont le même processeur, les même noms pour les mêmes pins. Cela ne colle pas.

On parle d'une nano every qui utilise un processeur ATMega4809.
Il faut effectivement se poser la question de la compatibilité des bibliothèques.

vileroi:
L'Uno et La Nano ont le même processeur, les même noms pour les mêmes pins. Cela ne colle pas.

Il faut suivre Arduino qui ne nous simplifie pas la vie avec ses nouvelles nanos qui n'ont rien à voir avec l'historique :grin:
Il s'agit de la nano every qui a un processeur différent (quelque chose comme un atmega 4809 me semble-t-il)

Désolé mais ici vraiment pas grand monde utilise cette carte, nous sommes tous fidèles à la seule vraie Nano, l'historique qui a un atmega 328p et que l'on trouve à 2€ pièce chez les cloneurs.

pour ServoEasing:

architectures=avr,megaavr,sam,samd,esp8266,esp32,stm32,STM32F1,apollo3,mbed

Donc en principe la "nano" Every est prise en charge
megaAVR.png

cette carte Every (avec appellation Nano racoleuse) a droit à un sous-forum spécifique :
https://forum.arduino.cc/index.php?board=137.0

megaAVR.png

Merci pour vos réponse, du coup qu'est ce que je doit faire ?

Si ça n'a pas déjà été fait aller dans Outils/Type de cartes/gestionnaire de Cartes et sélectionner et télécharger l'extension "Arduino megaAVR" qui permet de gérer ces cartes nano Every

Ensuite une fois sélectioonée cette carte il me semble que, comme l'a indiqué @elektrax plus haut, il existe dans le menu déroulant de la carte nano Every un mode 'compatibilité ATmega328 qui est peut être utile pour l'application.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.