Uno & Nano / Nano 33 IoT

Hallo,

ich habe eine art Verriegelung gebaut die über ein Servomotor gesteuert wird.
gerne würde ich anstatt den UNO ein Nano / Nano 33 IoT verwenden wegen der Größe.
Warum 33 IoT ?? den hab ich grade übrig.

Wenn ich aber den Nano verwenden will funktioniert der Servo nicht , jemand ne Idee woran es liegen könnte, oder gibt es ne alternative zum UNO ?

#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
 
#define SS_PIN 10
#define RST_PIN 9
#define LED_G 5 
#define LED_R 4 
#define BUZZER 2 
MFRC522 mfrc522(SS_PIN, RST_PIN);   // Create MFRC522 instance.
Servo myServo; //define servo name
 
void setup() 
{
  Serial.begin(9600);   
  SPI.begin();      
  mfrc522.PCD_Init();   
  myServo.attach(3); //servo pin
  myServo.write(0); //servo start position
  pinMode(LED_G, OUTPUT);
  pinMode(LED_R, OUTPUT);
  pinMode(BUZZER, OUTPUT);
  noTone(BUZZER);
  Serial.println("Put your card to the reader...");
  Serial.println();

}
void loop() 
{
  
  if ( ! mfrc522.PICC_IsNewCardPresent()) 
  {
    return;
  }
  
  if ( ! mfrc522.PICC_ReadCardSerial()) 
  {
    return;
  }
  
  Serial.print("UID tag :");
  String content= "";
  byte letter;
  for (byte i = 0; i < mfrc522.uid.size; i++) 
  {
     Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
     Serial.print(mfrc522.uid.uidByte[i], HEX);
     content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
     content.concat(String(mfrc522.uid.uidByte[i], HEX));
  }
  Serial.println();
  Serial.print("Message : ");
  content.toUpperCase();
  if (content.substring(1) == "B2 43 C4 66")
  {
    Serial.println("Authorized access");
    Serial.println();
    delay(500);

    digitalWrite(LED_G, HIGH);

    tone(BUZZER, 500);
    delay(300);
    noTone(BUZZER);

    myServo.write(100);
    delay(3000);

    tone(BUZZER, 500);

    digitalWrite(LED_R, HIGH);
    delay(2000);

    noTone(BUZZER);

    myServo.write(0);

    digitalWrite(LED_G, LOW);
    delay(500);

    digitalWrite(LED_R, HIGH);
    delay(3000);
    
    digitalWrite(LED_R, LOW);
    
  }
 
 else   {
    Serial.println(" Access denied");
    digitalWrite(LED_R, HIGH);
    tone(BUZZER, 300);
    delay(1000);
    digitalWrite(LED_R, LOW);
    noTone(BUZZER);
  }
}

Ein Nano V3 hat den gleichen Procesor was auch Uno hat nur in anderen for.
Mal inm Pinout geschaut wo bei 33IOT SPI ist?
Und dran denken er verträgt nur 3,3V auf dein Pin's

Arduino NANO hat den gleichen Controller wie der UNO. Müßte also funktionieren.
Arduino NANO 33 IOT hat einen nRF52840 Microcontroller der mit 3,3V funktioniert.
Könnte mir denken daß 3,3 V zu wenig für den Servo ist.
Grüße Uwe

Wenn ich ein Level converter 5/3.3 v nutze und das pwm Signal auf 3.3v habe und der Servo 5v bekommt sollte es doch gehen oder?
PWM ist doch nur der Signalgeber oder sehe ich da was falsch ???
Servo hat externe 5v, PWM auf Pin 13 hat dann nur 3,3v
SPI ist bei Pin 10-13

Beide GND 5V und 3,3V verbunden?
Was für Levelschifter ist das?
Der Rest funktioniert?

ich hab hier mal ein beispiel wie es aussehen könnte aus dem Netz !
Bis jetzt hab ich mit Levelschifter nichts am Hut !
Aber wenn ein BiDirectionaler 5 / 3.3V

aktuell löse ich dass ganze noch mit dem UNO ohne Levelshifter etc. , brauche aber ne lösung für den NANO ( Nur Nano) Habe noch ein Nano ausgegraben ! kein 33 IoT

Die Schaltung ist korrekt, den GND am Levelschifter brauch man nicht, die arbeiten ohne GND.

Diese Level converter ziehen das Signal doch nur auf Masse? Braucht es nicht noch einen Pullup-Widerstand auf der 5V Seite?

Grüße Uwe

Also die gleiche Pins benutzen wie am UNO, Nano hat den gleichen Procesor was auch Uno, und 2Analoge Eingänge mehr.

Las den Quark weg!
Der Nano ( Nur Nano ) ist Beschaltungstechnisch ein Uno in Klein.

Nein, sind mit auf der Platine. Der GND auf dem LS ist nur durchgeschlieften, damit mansche nicht vergessen GND miteinander verbinden :wink:
Level shifter

der normale Nano würde quasi reichen ohne ein Level Converter zu benutzen ???
Der der hat ja ein 3.3 & 5V Ausgang !

JA!

erstmal Danke für die antworten , ich teste das die Tage mal und gebe rückantwort

Nur 5V benutzen = fertig ist der Brei :wink:
Die 3,3V ist nur vorgesehen für andere Sachen

Das sind 2 Versorgungsspannungen: 5V Aus und Eingangs-Spannungsversorgung (5V Eingangsversorgung wenn kein USB angeschlossen ist) und 3,3V Spannungsversorgungsausgang.
Die Signale an den digitalen Pins haben 5V.
Grüße Uwe

OUTPUT.

Bei Input reagieren die auch auf 3.3V

1 Like

Schreib Bitte auch dazu sonst gibt's unklarheit :wink:

1 Like

Natürlich:

Die Ausgangs-HIGH-Signale an den digitalen Pins haben ca 5V.

Grüße Uwe