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);
}
}
}
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?
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
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.
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.