Bemerkung
Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.
Warum beitreten?
Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.
Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.
👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!
1.2.1 Aktiver Summer
Einführung
In diesem Projekt lernen wir, wie man mit einem PNP-Transistor einen aktiven Summer zum Piepen bringt.
Benötigte Komponenten
Für dieses Projekt benötigen wir die folgenden Komponenten.
Es ist definitiv praktisch, ein ganzes Kit zu kaufen, hier ist der Link:
Name |
KOMPONENTEN IN DIESEM KIT |
LINK |
|---|---|---|
Raphael Kit |
337 |
Sie können sie auch über die untenstehenden Links einzeln kaufen.
KOMPONENTENBESCHREIBUNG |
KAUF-LINK |
|---|---|
- |
|
Schaltplan
In diesem Experiment werden ein aktiver Summer, ein PNP-Transistor und ein 1k-Widerstand verwendet, der zwischen der Basis des Transistors und GPIO liegt, um den Transistor zu schützen. Wenn der GPIO17 des Raspberry Pi durch Programmierung mit einem niedrigen Pegel (0V) versorgt wird, wird der Transistor aufgrund von Stromsättigung leiten und der Summer wird tönen. Wenn jedoch ein hoher Pegel am IO des Raspberry Pi anliegt, wird der Transistor abgeschnitten und der Summer gibt keinen Ton von sich.
Experimentelle Verfahren
Schritt 1: Bauen Sie den Schaltkreis. (Der aktive Summer hat einen weißen Tischaufkleber auf der Oberfläche und eine schwarze Rückseite.)
Schritt 2: Öffnen Sie die Code-Datei.
cd ~/raphael-kit/c/1.2.1/
Schritt 3: Kompilieren Sie den Code.
gcc 1.2.1_ActiveBuzzer.c -lwiringPi
Schritt 4: Führen Sie die oben genannte ausführbare Datei aus.
sudo ./a.out
Wenn der Code läuft, piept der Summer.
Bemerkung
Wenn es nach dem Laufen nicht funktioniert oder eine Fehlermeldung angezeigt wird: "wiringPi.h: Datei oder Verzeichnis nicht gefunden", verweisen Sie bitte auf Installieren und Überprüfen von WiringPi.
Code
#include <wiringPi.h>
#include <stdio.h>
#define BeepPin 0
int main(void){
if(wiringPiSetup() == -1){ //when initialize wiring failed, print messageto screen
printf("setup wiringPi failed !");
return 1;
}
pinMode(BeepPin, OUTPUT); //set GPIO0 output
while(1){
//beep on
printf("Buzzer on\n");
digitalWrite(BeepPin, LOW);
delay(100);
printf("Buzzer off\n");
//beep off
digitalWrite(BeepPin, HIGH);
delay(100);
}
return 0;
}
Code-Erklärung
digitalWrite(BeepPin, LOW);
In diesem Experiment verwenden wir einen aktiven Summer, sodass er beim Anschluss an den Gleichstrom automatisch einen Ton abgibt. Dieser Sketch soll den I/O-Port auf niedrigem Pegel (0V) setzen, um den Transistor zu steuern und den Summer piepen zu lassen.
digitalWrite(BeepPin, HIGH);
Damit wird der I/O-Port auf hohen Pegel (3,3V) gesetzt, sodass der Transistor nicht bestromt wird und der Summer nicht piept.
Phänomen-Bild