Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Mini lévitation acoustique avec Arduino UNO et capteur ultrason HC-SR04

Composants et fournitures

Composant Quantité
Arduino UNO 1
Capteur ultrason HC-SR04 (générique) 1

Applications et services en ligne

À propos de ce projet

Mini lévitation acoustique avec Arduino UNO et capteur ultrason HC-SR04

Consultez ce projet sur mon site web pour voir une simulation de circuit et plus de détails !

La lévitation acoustique est possible car le son se comporte comme une onde. Lorsque deux ondes sonores se croisent, elles interfèrent soit de manière constructive, soit destructive. (C'est le principe des écouteurs à réduction de bruit active.)

Ce projet utilise un capteur de distance ultrasonique pour créer un effet de lévitation. Cela fonctionne en créant des « poches » où deux ondes sonores opposées interfèrent. Quand un objet est placé dans la poche, il y reste, semblant flotter sur place.

Matériel nécessaire (liens Amazon affiliés)

En tant qu'associé Amazon, je gagne une commission sur les achats éligibles.

Étape 1 : Récupérer les émetteurs ultrasoniques

Mini lévitation acoustique avec Arduino UNO et capteur ultrason HC-SR04
Mini lévitation acoustique avec Arduino UNO et capteur ultrason HC-SR04
Mini lévitation acoustique avec Arduino UNO et capteur ultrason HC-SR04
Mini lévitation acoustique avec Arduino UNO et capteur ultrason HC-SR04
Mini lévitation acoustique avec Arduino UNO et capteur ultrason HC-SR04

Il faut sacrifier un capteur de distance (peu coûteux) :

Étape 2 : Créer le circuit

Mini lévitation acoustique avec Arduino UNO et capteur ultrason HC-SR04

Réalisez le circuit ci-dessus en notant :

Étape 3 : Code

Téléversez ce code sur votre Arduino :

// Code original : https://makezine.com/projects/micro-ultrasonic-levitator/
byte TP = 0b10101010; // Chaque autre port reçoit le signal inversé

void setup() {
  DDRC = 0b11111111; // Toutes les broches analogiques en sorties
  // Initialisation Timer1
  noInterrupts();           // Désactiver interruptions
  TCCR1A = 0;
  TCCR1B = 0;
  TCNT1 = 0;
  OCR1A = 200;              // Registre comparaison (16MHz / 200 = 80kHz onde carrée → 40kHz onde complète)
  TCCR1B |= (1 << WGM12);  // Mode CTC
  TCCR1B |= (1 << CS10);   // Prescaler = 1 (pas de prescaling)
  TIMSK1 |= (1 << OCIE1A); // Activer interruption comparaison timer
  interrupts();             // Réactiver interruptions
}

ISR(TIMER1_COMPA_vect) {
  PORTC = TP;  // Envoyer valeur TP sur les sorties
  TP = ~TP;    // Inverser TP pour le prochain cycle
}

void loop() {
  // Rien à faire ici :)
}

Étape 4 : Monter les émetteurs et calibrer

Mini lévitation acoustique avec Arduino UNO et capteur ultrason HC-SR04
Mini lévitation acoustique avec Arduino UNO et capteur ultrason HC-SR04
Mini lévitation acoustique avec Arduino UNO et capteur ultrason HC-SR04

On peut utiliser n'importe quel support, moi j'ai utilisé des pinces « helping hands » (achetables ici) :

  1. Positionnez les émetteurs à environ 3/4" (≈19 mm) l'un de l'autre
  2. Prenez un minuscule morceau de mousse polystyrène (≈ moitié d'un petit pois, pas besoin d'être rond)
  3. Placez la mousse sur l'écran grille récupéré à l'étape 1
  4. Avec une pince à épiler, positionnez-la entre les deux émetteurs (elle devrait commencer à vibrer quand vous approchez)
  5. Déplacez les émetteurs (plus près / plus loin) jusqu'à ce que la mousse reste immobile

Dépannage

La première fois, j'ai mis environ 15 minutes à faire fonctionner. Ensuite, c'était plus facile. Si ça ne marche pas :

Code

Extrait de code #1 (Arduino) :

//original code from: https://makezine.com/projects/micro-ultrasonic-levitator/
byte TP = 0b10101010; // Every other port receives the inverted signal
void setup() {
  DDRC = 0b11111111; // Set all analog ports to be outputs
  // Initialize Timer1
  noInterrupts(); // Disable interrupts
  TCCR1A = 0;
  TCCR1B = 0;
  TCNT1 = 0;
  OCR1A = 200; // Set compare register (16MHz / 200 = 80kHz square wave -> 40kHz full wave)
  TCCR1B |= (1 << WGM12); // CTC mode
  TCCR1B |= (1 << CS10); // Set prescaler to 1 => no prescaling
  TIMSK1 |= (1 << OCIE1A); // Enable compare timer interrupt
  interrupts(); // Enable interrupts
}
ISR(TIMER1_COMPA_vect) {
  PORTC = TP; // Send the value of TP to the outputs
  TP = ~TP; // Invert TP for the next run
}
void loop() {
  // Nothing left to do here :)
}

Schémas

Mini lévitation acoustique avec Arduino UNO et capteur ultrason HC-SR04

Processus de fabrication

  1. Bâtonnets antitranspirants/déodorants : science, histoire et aperçus de fabrication
  2. Clientron lance terminaux PT2500 et PST750 POS, comblant entrée de gamme à premium retail
  3. Astera Labs dévoile des solutions CXL 2.0 et PCIe 5.0 pour réduire la latence et alimenter le calcul hétérogène
  4. Ouvre-porte de garage Raspberry Pi avec streaming vidéo en direct – Guide étape par étape
  5. EMAR Mini : Robot d'assistance d'urgence compact et open-source
  6. Construire un business case solide pour le GMAO : Améliorer l'efficacité maintenance et le ROI
  7. Mini VMC expliquée : fraisage CNC compact pour projets à petite échelle
  8. Comprendre les mini tours CNC : fonction, caractéristiques et avantages
  9. Comprendre les mini tours CNC : fonctionnalités et applications