İçindekiler:
- Adım 1: Adım 1: Parçaları Hazırlayın
- Adım 2: Adım 2: Tüm Bileşenleri Bağlayın
- Adım 3: Adım 3: Kodlayın
- 4. Adım: 4. Adım: Bağlayın ve Test Edin
- Adım 5: Adım 5: Sonucu Görün
Video: Arduino İşleme Grafik Geçişi: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Merhaba, bu proje sensörler tarafından algılanabilen görünmez parçacıklardan görünür grafikler yapmak içindir. Bu durumda, ışığı ve mesafeyi kontrol etmek için ultrasonik sensör ve fotodirenci kullandım. Sensörden gelen değişkenleri işlemede değişkenler haline getirerek görselleştiriyorum. Ardından Arduino'yu Processing ile kontrol etmek için Arduino ve Processing'i birbirine bağlıyorum. Böylece, İşleme'deki grafik, Arduino sensöründen gelen değişkenleri uygulayacaktır.
Adım 1: Adım 1: Parçaları Hazırlayın
Bu projeyi yapmak için ihtiyaç duyacağınız bileşenler şunlardır:
- 10k OHM
- Ultrasonik sensör
- Fotodirenç
-Arduino Uno
- 7 tel
Adım 2: Adım 2: Tüm Bileşenleri Bağlayın
Fotodirenç ve Ultrasonik sensör, doğru algılama için bir alana ihtiyaç duyar. Biraz yer kazanın ve fotodirenç için ışığı düşünün.
Adım 3: Adım 3: Kodlayın
*Arduino ve Processing'e kütüphane ekleyin.
Arduino: kütüphanede "yeni ping" arayın
İşleme: kitaplıkta "seri" araması yapın
Arduino'nun Kodu:
#Dahil etmek
#define TRIGGER_PIN 12 #define ECHO_PIN 11 #define MAX_DISTANCE 200
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
int lightSensorPin = A0; int analogDeğer = 0;
geçersiz kurulum() { Serial.begin(9600); }
void loop() { int Değer1 = sonar.ping_cm(); Değer1 = harita(Değer1, 1, 60, 500, 24); Değer1 = kısıtla(Değer1, 24, 500);
analogValue = analogRead(lightSensorPin); int cVal1 = harita (analogValue, 200, 600, 249, 100);
int cVal2 = harita (analogValue, 200, 600, 247, 97);
int cVal3 = harita (analogValue, 200, 600, 243, 101);
int cVal4 = harita (analogValue, 200, 600, 243, 150);
gecikme(50);
Seri.print(Değer1); Seri.print(", ");
Seri.print(cVal1); Seri.print(", "); Seri.print(cVal2); Seri.print(", "); Serial.print(cVal3); Seri.print(", "); Seri.print(cVal4); Seri.print(", ");
Seri.println(); }
İşleme Kodu:
//sınıf: (temel)//
işleme.serisini içe aktar.*;
int bitiş = 10; dizi dizi; Seri port;
int psay = 350; Parçacık p = yeni Parçacık[pcount]; int köşegen; int e = 100;
void setup() { port = new Serial(bu, "/dev/cu.usbmodem141101"); port.clear(); seri = port.readStringUntil(end); seri= boş; for (int ben = 0; ben
yüzer dönüş = 0;
void draw() { while (port.available() > 0) { serial = port.readStringUntil(end); gecikme(10); } if (seri != null) { String a = split(seri, ', '); println(a[0]); println(a[1]); println(a[2]); println(a[3]); println(a[4]); int sonuç1 = Tamsayı.parseInt(a[0]); System.out.println(sonuç1); frameRate(sonuç1); int sonuç2 = Tamsayı.parseInt(a[1]); System.out.println(sonuç2); int sonuç3 = Tamsayı.parseInt(a[2]); System.out.println(sonuç3); int sonuç4 = Tamsayı.parseInt(a[3]); System.out.println(sonuç4); int sonuç5 = Tamsayı.parseInt(a[4]); System.out.println(sonuç5); arkaplan(sonuç2, sonuç3, sonuç4); çevir(genişlik/2, yükseklik); rotasyon-=0.0005; döndürme (döndürme); for (int i = 0; i köşegen) { p = yeni Parçacık(); } } } }
//sınıf: Parçacık//
sınıf Parçacık { kayan nokta n; yüzer r; yüzer o; yüzer c; yüzer d; int l; Parçacık() { l = 100; n = rastgele(3, genişlik/2); r = rastgele(0.10, TWO_PI); o = rastgele(1, rastgele(1, genişlik/n)); c = rastgele(180, 228); d = rastgele(160, 208); } geçersiz çizim() { l++; pushMatrix(); döndür(r); çevir(drawDist(), 1); elips(10, 10, genişlik/o/4, genişlik/o/4); popMatrix(); o-=0.06; } float drawDist() { return atan(n/o)*width/HALF_PI; } }
4. Adım: 4. Adım: Bağlayın ve Test Edin
Adım 5: Adım 5: Sonucu Görün
Ultrasonik sensöre herhangi bir şey daha yakın olduğunda, hareket eden topun hızı daha hızlı olacaktır. Ayrıca, fotodirençli ışık kontrolü, işleme sırasında arka plan koyuluğu olarak görünecektir.
Önerilen:
Excel, Arduino ve İşleme ile FK (İleri Kinematik): 8 Adım
FK (İleri Kinematik) Excel, Arduino ve İşleme ile: İleri Kinematik, 3B uzayda End Effector değerlerini (x, y, z) bulmak için kullanılır
2 Yönlü Ses Geçişi: 4 Adım
2 Yollu Ses Geçişi: 2 güç indüktörü ve 2 kapasitörden oluşan basit bir 2 yollu pasif ses geçişi tasarladım. Bu, ikinci dereceden bir tasarım veya 12 dB/oktav sağlar. Bu düzen, ortaklar arasında makul bir denge sunduğu için pasif geçişlerde yaygın olarak kullanılır
UWB Yerelleştirme Geçişi: 6 Adım
UWB Lokalizasyon Tüy: Ultra-WideBand Feather, Decawave DWM1000 modülünü ve bir ATSAMD21 ARM Cortex M0'ı Adafruit tüy form faktörüne dahil eder. DWM1000 modülü, hassas iç mekan konumlandırma yeteneğine sahip IEEE802.15.4-2011 UWB uyumlu bir kablosuz modüldür
Düğme Kullanarak POP-X2 GLCD'de Renk Geçişi: 6 Adım
Bir Düğme Kullanarak POP-X2 GLCD'de Renk Geçişi: Temel olarak bu proje kullanmayı sevdiğim bir kontrol panosunun bir özelliğini gösteriyor. INEX tarafından üretilen POP-X2 kartı, yerleşik renkli bir GLCD, bir düğme, G/Ç bağlantı noktaları ve diğer denetleyici kartlarına benzer bileşenlere sahiptir. Lütfen panonun kullanım kılavuzunu kontrol edin
Tren Geçişi İzleme Sistemi: 5 Adım (Resimlerle)
Tren Geçişi İzleme Sistemi: Bu talimat, bir demiryolu sisteminin bir bölümünü kontrol etmek için bir Arduino'yu kodlamak için MatLab'ı nasıl kullanacağınızı öğretecektir