קורס ארדואינו – מה זה ארדואינו ?

קורס ארדואינו – מה זה ארדואינו ?

<strong>רובוטרוניקס מלמדת  קורסי ארדואינו  לכל הרמות והאוכלסיה  , בתי ספר , מהנדסים , חוקרים הנדסאים ומתכנתים – למוסדות חברות וארגונים שונים</strong>

Arduino הינו מערכת הפיתוח המבוססת על מחשב ממותג המאפשר למפתחים לבנות פרוייקטים הנדסיים באמצעות תכנות וחומרה. המכשיר מאפשר למשתמשים לכתוב קוד בסיסי ולהעביר אותו למכשיר על מנת לבצע פעולות הנדסיות כמו לנטר את כח המכשיר, לקרא ולכתוב נתונים מאזן אלקטרוני ועוד.

מתאים למפתחים מכל הגילאים, אבל יש לזכור כי התכנות הינה נושא מתקדם ויכול להיות מעט מעט קשה להתאים למתחילים מאז יש להשתמש בקוד ובכלים מנסיוניים כדי לאתר ולבנות פרוייקטים.

Arduino הינה תוכנה רצינית ויציבה, עם המשתמשים משתמשים בו כדי לבנות פרוייקטים שונים כמו מכשירי חכמה המאפשרים לנטר את המערכת החשמלית בבית, רכבים הננסים עם תכנון חכם, מכשירי הנגינה אלקטרונים ועוד.

1. Blinking an LED:
const int ledPin = 13;

void setup() {
pinMode(ledPin, OUTPUT);
}

void loop() {
digitalWrite(ledPin, HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}

Reading a potentiometer and controlling the brightness of an LED:
const int ledPin = 9;
const int potPin = A0;

void setup() {
pinMode(ledPin, OUTPUT);
}

void loop() {
int potValue = analogRead(potPin);
analogWrite(ledPin, potValue/4);
}

Reading a button press and controlling an LED:
const int ledPin = 13;
const int buttonPin = 2;

void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}

void loop() {
if (digitalRead(buttonPin) == HIGH) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
}

Reading a temperature sensor and printing the value to the serial monitor:
Copy code
#include
#include

OneWire oneWire(10);
DallasTemperature sensors(&amp;oneWire);

void setup() {
Serial.begin(9600);
sensors.begin();
}

void loop() {
sensors.requestTemperatures();
float temp = sensors.getTempCByIndex(0);
Serial.print(“Temperature: “);
Serial.println(temp);
delay(1000);
}
controlling a servo motor
Copy code
#include

Servo myservo;

int pos = 0;

void setup() {
myservo.attach(9);
}

void loop() {
for (pos = 0; pos &lt;= 180; pos += 1) { myservo.write(pos); delay(15); } for (pos = 180; pos &gt;= 0; pos -= 1) {
myservo.write(pos);
delay(15);
}
}
These are just a few examples of the many things you can do with Arduino. I recommend checking out the Arduino website (arduino.cc) for more tutorials and sample code.

Regenerate response

#include
#include

OneWire oneWire(10);
DallasTemperature sensors(&amp;oneWire);

void setup() {
Serial.begin(9600);
sensors.begin();
}

void loop() {
sensors.requestTemperatures();
float temp = sensors.getTempCByIndex(0);
Serial.print(“Temperature: “);
Serial.println(temp);
delay(1000);
}
controlling a servo motor
Copy code
#include

Servo myservo;

int pos = 0;

void setup() {
myservo.attach(9);
}

void loop() {
for (pos = 0; pos &lt;= 180; pos += 1) { myservo.write(pos); delay(15); } for (pos = 180; pos &gt;= 0; pos -= 1) {
myservo.write(pos);
delay(15);
}
}
These are just a few examples of the many things you can do with Arduino. I recommend checking out the Arduino website (arduino.cc) for more tutorials and sample code.

controlling a servo motor
const int ledPin = 13;
const int buttonPin = 2;

void setup() {
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}

void loop() {
if (digitalRead(buttonPin) == HIGH) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
}

Arduino עובד עם מספר סוגים שונים של מעבדים, כוללים את הסוגים הבאים:

AVR : מעבדי AVR הם מעבדים מתאימים מאוד עבור הפעלת מכשירי Arduino, מכיון שהם מאפשרים לבצע פעולות נדסיות בעזרת תכנות קצרה ונוחה.
ARM : מעבדים ARM הם מעבדים מתקדמים שמאפשרים לבצע פעולות נדסיות באיכות גבוהה ובעלי כוח חזק יחסית. מעבדים אלה מאפשרים לבנות פרוייקטים המתאימים לצרכים נדיבים יותר, כגון רכבים הננסים או מכשירי חכמה המאפשרים לנטר את המערכת החשמלית בבית.
Microcontroller : זהו מעבד קטן ונמען שמאפשר לבצע פעולות נדסיות בעזרת תכנות. מעבדי המיקרוקונטרולר הם המעבדים הנפוצים ביותר שמשמשים עם ארדואינו.
SoC : זהו מעבד שכולל מספר מעבדים שונים באחד, כמו מעבד מסך ומעבד רשת. מעבדים אלה מאפשרים לבנות פרו

מתי כדאי ולא כדאי לפתח בארדואינו : תלוי במטרות הפיתוח שלך. אם אתה מחפש שפת פיתוח מעולם פתוח, אז אתה עשוי לבחור בשפות כמו JavaScript, Python, C, C++, Java ועוד. אם אתה מחפש שפה פיתוח מבוססת מערכת שבה אתה יכול לבצע פעולות שונות, אז אתה עשוי לבחור ב- Linux shell, Bash, PowerShell או Ruby. אתה גם יכול לנסות שפות פיתוח אחרות כמו Go, Perl, Swift או Rust.

בקר טיסה עם מכשיר ארדואינו ומעבד ESP32. ESP32 הם מעבד מתאים מאוד עבור בניית בקר טיסה מאחר שהם מכילים מספר מאפיינים נדיבים כמו התאמת רשת וכח חזק יחסית.

בכדי לבנות בקר טיסה עם ESP32 וארדואינו, יש להשתמש בכח המחשב הנפחי והאנלוגי של המכשיר ובכח הנתונים והרשת של ESP32, לאחר מכן יש לכתוב קוד המאפשר לבנות ולנטר את המכשיר עם המכשיר הננס, כמו ניתוח נתוני הטיסה וניהול התנועה של המכשיר.

כדאי לזכור שבניית בקר טיסה הנה משימה מקצועית ודורשת יכולת נדיבה בתכנות ובניהנסטרוקציה, כדאי לחפש תרגילים וטוריות לנסות וללמוד מהם כדי להכין את עצמך לבנייה הכזאת.

שימוש ארדואינו לרובוטקיה

Arduino הינו מערכת הפיתוח המאפשרת למפתחים לבנות פרוייקטים הנדסיים באמצעות תכנות וחומרה, כך שהוא נפוץ כמכשיר הניהול והנטילת הנתונים ברב רובוטים וכן באפליקציות הנדסיות אחרות.

רובוטים הם מכשירים הנדסיים המאפשרים לנטר ולבצע פעולות נדסיות כגון תזוזה, ניתוח נתונים ופעולות מכניות ואפשר להשתמש בארדואינו כדי לנטר ולנהל את הרובוט.

כדי לבנות רובוט עם ארדואינו, יש להשתמש בחומרה המתאימה כגון מנועי תזוזה, חיישנים, מכפתורים ומסך מציג ולכתוב קוד המאפשר לנטר ולבצע פעולות נדסיות עם הרובוט.

אם אתה מעוניין לנסות לבנות רובוט עם ארדואינו יש לך המון מדריכים ופרוייקטים זמינים ברשת שיעזרו לך להכין ולבנות רובוט עם תכנות וחומרה מתאימה.

ארדואינו ומיקרו פייתון

הגדרת חיבור לרשת WiFi:
# הגדרת חיבור לרשת WiFi
import network
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.connect(‘SSID’, ‘PASSWORD’)

קריאה לחיישן הטמפרטורה:
# קריאה לחיישן הטמפרטורה
from machine import ADC, Pin
adc = ADC(Pin(35))
adc.read()
כתיבה לפורט הסריאלי:
# כתיבה לפורט הסריאלי
from machine import UART
uart = UART(1, baudrate=9600)
uart.write(“Hello World”)
הצגת נתונים על מסך OLED:
# הצגת נתונים על מסך OLED
from machine import I2C, Pin
import ssd1306
i2c = I2C(scl=Pin(22), sda=Pin(21))
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
oled.text(“Hello World”, 0, 0)
oled.show()

דוגמאות מתקדמות יותר בארדואינו ומיקרו פיתון :

esp32 מיקרו פייתון שלח נתונים ב DAC בתדר 50 הרץ

כדי לשלוח נתונים באמצעות ה-DAC (ממיר נתוני מספרים לציון חשמלי) של ESP32 במערכת של 50Hz, יש להשתמש בספריית machine של מיקרוPython ובפונקציות המתאימות כדלקמן:

from machine import DAC, Timer
import time

# יצירת אובייקט DAC
dac = DAC(Pin(25))

# יצירת טיימר עם תדר של 50Hz
timer = Timer(0)
timer.init(period=20, mode=Timer.PERIODIC, callback=lambda t:send_data())

def send_data():
# שליחת נתונים ל-DAC
dac.write(50)

# הפעלת טיימר
timer.start()

# לולאה הממשיכה לפעול עד לסגירת האפליקציה
while True:
time.sleep(1)

ESP32 MICRO PYTHON watchdog בארדואינו

ESP32  מכיל מאפיין נפוץ וכן יכול להשתמש ב-watchdog כדי למנוע כשלים בתכנות ולאפס את המכשיר כאשר מתרחש כשל. במיקרוPython ניתן להשתמש בספריית machine כדי לאפשר הפעלת ה-watchdog.

כדאי לזכור שכדי להשתמש ב-watchdog יש לכתוב קוד המאפשר לאפס את המכשיר כאשר הוא נמצא במצב כשל וכן לאפס את ה-watchdog כל פעם שנעשות פעולות תקינות בתוך הקוד.

הנה דוגמא של קוד המאפשר להפעיל את ה-watchdog עם זמן האיחור של 10 שניות

from machine import WDT
wdt = WDT(timeout=10000)
while True:
# קוד המאפשר לעשות פעולות תקינות
wdt.feed()
time.sleep(1)

time.sleep(1)

&nbsp;

&nbsp;

<hr />

&nbsp;
<pre class=”lang:default decode:true “>from machine import UART
import machine

# יצירת אובייקט UART עם מספר הפורט ומספר המספר של הזרקת האירוע
uart = UART(1, 9600)

# הגדרת החריגה עם הפונקציה לטיפול באירוע
def handle_interrupt(line):
print(“Interrupt on UART”)
data = uart.read()
print(“Received data:”, data)

# הגדרת החריגה עם הפונקציה הנבחרת
uart.irq(trigger=UART.RX_ANY, handler=handle_interrupt)

while True:
# קוד המאפשר לעשות פעולות תקינות
machine.idle()</pre>
&nbsp;

בקוד הנ”ל הפעלת ה-watchdog עם זמן האיחור של 10 שניות ונעשות פעולות תקינות כל פעם בעזרת הפעולה feed() ולאחר מכן המתנה של 1 שניות. כאשר המכשיר נמצא במצב כשל ואין אפס ל-watchdog המכשיר יאופס ויחזיר לפעולה הראשונית

קורס ארדואינו ואלקטרואופטיקה – פיתוח מצלמה זולה לראיית לילה

ראיית לילה היא היכולת לראות בתנאי תאורה חלשה. הספקטרום של ראיית לילה מתייחס לטווח אורכי הגל של האור שמכשיר ראיית לילה יכול לזהות. באופן כללי, מכשירי ראיית לילה נועדו לזהות קרינת אינפרא אדומה, בעלת אורכי גל ארוכים יותר מאשר אור נראה.

פיתוח מצלמה לראיית לילה טכנולוגיית ראיית לילה משמשת בדרך כלל בספקטרום האינפרא אדום. ספקטרום האינפרא אדום הוא טווח של קרינה אלקטרומגנטית עם אורכי
גל ארוכים מאלה של אור נראה. הוא מחולק לשלושה אזורים: אינפרא אדום קרוב, אינפרא אדום בינוני ואינפרא אדום רחוק. מכשירי ראיית לילה רגישים בדרך כלל לקרינה באזורים הקרובים לאינפרא אדום ואמצע האינפרא אדום, שיש להם אורכי גל בין כ-700 ננומטר ל-1,000 ננומטר. אורכי גל אלו נמצאים רק מעבר לטווח הראייה האנושית, כך שהאור מופיע כתמונה בשחור לבן או ירוק למשתמש.

ב קורס ארדואינו ואלקטרואופטיקה  נעסוק בהרחבה פיתוח קוד והפעלה של התמרת פוריה – תחום חזק ביותר שפתוח אפשריות אין סופיות

התמרת פוריה (Fury conversion) באלקטרואופטיקה היא טכנולוגיית שנעשתה כדי להגדיל את האיכות התמונה של מצלמות לילה על ידי הפעלת התמרת פוריה בזמן הצילום. הטכנולוגיה מנסה להפחית את האדשה של האינפרא ולהפחית את האדשה של האור יום, כך שהתמונה תהיה ברורה יותר ובאיכות גבוהה יותר.

התמרת פוריה מתבצעת על ידי שימוש במסננים המחזיקים באינפרא ומנעים את האינפרא מלעבור אל החיישן ומאפשר לחיישן לזום באור יום כראוי. הטכנולוגיה הזאת נעשתה כדי להפחית את האדשה של האינפרא ולאפשר למצלמה לזום באור יום כראוי.

התמרת פוריה נעשתה כדי להגדיל את האיכות התמונה במצלמות לילה, ואף הפכה את המצלמות לזום באור יום כראוי כמו גם לזום באור נע כדי להפחית את האדשה של האינפרא ולאפשר למצלמה לזום באור יום כראוי.

מצלמת ראיית לילה מורכבת בדרך כלל מכמה חלקים מרכזיים: ( תכנון מצלמה לראית לילה )

מאיר אינפרא אדום: זהו מכשיר שפולט קרינת אינפרא אדום כדי להאיר את הסצנה בתנאי תאורה חלשה.

עדשה: זו משמשת למיקוד האור הנכנס לחיישן התמונה.

חיישן תמונה: זהו המכשיר שמזהה את האור וממיר אותו לאות חשמלי. זה יכול להיות התקן מצמד מטען (CCD) או חיישן משלים של מתכת-תחמוצת-מוליכים למחצה (CMOS).

מגביר תמונה: זהו המכשיר שמגביר את האותות הקלושים מחיישן התמונה. הוא מכיל בדרך כלל סוג מיוחד של צינור הנקרא פוטוקטודה הממיר את הפוטונים הנכנסים לאלקטרונים.

מסך תצוגה: כאן מוצגת התמונה המוגברת כדי שהמשתמש יוכל לראות. זה יכול להיות שפופרת קרן קתודית (CRT) או מסך גביש נוזלי (LCD).

ספק כוח: זה מספק חשמל לרכיבים השונים של המצלמה.

שליטה והתאמה: זה מאפשר למשתמש להתאים את ההגדרות ולשלוט בפונקציות של המצלמה.

דיור: זהו מעטפת המגן המקיפה את כל שאר חלקי המצלמה.

מצלמות ראיית לילה מסוימות עשויות לכלול גם תכונות נוספות כגון זום וייצוב תמונה.

ניתן להשתמש בבינה מלאכותית (AI) בטכנולוגיית ראיית לילה כדי לשפר את איכות התמונה, להגביר את המודעות למצב ולהפחית את עומס העבודה של המפעיל. כמה דוגמאות לאופן השימוש ב-AI בראיית לילה כוללות:

שיפור תמונה: ניתן להשתמש באלגוריתמי AI כדי לשפר את איכות התמונות שצולמו על ידי מצלמות ראיית לילה על ידי הסרת רעשים, שיפור הניגודיות והגדלת הרזולוציה.

זיהוי אובייקטים: ניתן להשתמש באלגוריתמי AI כדי לזהות ולסווג אוטומטית אובייקטים בסצנה, כגון כלי רכב, הולכי רגל או מבנים.

מעקב אחר יעדים: ניתן להשתמש באלגוריתמי AI כדי לעקוב אחר אובייקטים נעים בסצנה, כגון כלי רכב או אנשים, ולחזות את תנועותיהם העתידיות.

בקרת רווח אוטומטי: ניתן להשתמש באלגוריתמי AI כדי להתאים את הרווח של מגבר התמונה כדי לייעל את איכות התמונה עבור תנאי תאורה שונים.

בקרת סף אוטומטית: ניתן להשתמש באלגוריתמי AI כדי להתאים את הסף של מגבר התמונה כדי לייעל את איכות התמונה עבור תנאי תאורה שונים.

בסך הכל, השימוש ב-AI בטכנולוגיית ראיית לילה יכול לעזור לשפר את הביצועים של מכשירים אלה, מה שהופך אותם ליותר יעילים ויעילים במגוון יישומים.

ב קורס ארדואינו ואלקטרואופטיקה נילמד לעומק שימוש מספר סוגי פילטרים שניתן להשתמש בהם פיתוח  אלקטרואופטיקה  בטכנולוגיית ראיית לילה כדי לשפר את איכות התמונה ולהגביר את המודעות למצב. חלק מהסוגים הנפוצים ביותר של מסננים המשמשים בראיית לילה כוללים:

מסנני אינפרא אדום: מסננים אלו משמשים לחסימת האור הנראה ומאפשרים מעבר לקרינת אינפרא אדום לחיישן התמונה. זה יכול לעזור לשפר את הרגישות של מכשיר ראיית הלילה בתנאי תאורה חלשה.

מסנני פס-פס: מסננים אלו משמשים רק כדי לאפשר לטווח מסוים של אורכי גל של קרינת אינפרא אדום לעבור לחיישן התמונה. זה יכול לעזור לשפר את ניגודיות התמונה ולהפחית את ההשפעות של בוהק.

מסנני חריץ: מסננים אלו משמשים לחסימת טווח ספציפי של אורכי גל של קרינה אינפרא אדומה. זה יכול לשמש כדי להפחית את ההשפעות של מקורות אור לא רצויים, כגון פנסי רחוב, שעלולים להפריע לתמונה.

<img class=”alignnone size-medium wp-image-4280″ src=”https://robotronix.co.il/wp-content/uploads/2022/12/Pasted-208-300×199.png” alt=”” width=”300″ height=”199″ />מסננים בצפיפות ניטרלית: מסננים אלו משמשים להפחתת כמות האור המגיעה לחיישן התמונה. זה יכול לעזור למנוע חשיפת יתר של התמונה ולשפר את איכות התמונה בתנאי תאורה בהירים.

מסננים מקטבים: מסננים אלה משמשים להפחתת סנוור ולשיפור ניגודיות התמונה על ידי חסימת אור מקוטב מסוים. זה יכול גם לעזור להפחית השתקפויות ממשטחים כמו מים או זכוכית.

איזה מסנן להשתמש באלקטרואופטיקה  יהיה תלוי באפליקציה הספציפית ובסוג מכשיר ראיית הלילה שבו נעשה שימוש. חשוב לבחור את הפילטר המתאים שיתאים לסביבה ולתנאי התאורה על מנת לקבל את איכות התמונה הטובה ביותר.

עדשות אינפאר אדום (IR Cut-off filter) היא סוג של מסנן שמנע את האינפרא מלעבור לאינטנסיפי. המסנן נועד לחסום את האינפרא על מנת להפחית את האדשה של האור יום ולאפשר למכשיר לזום באור יום ללא הכרזה על האינפרא.

כאשר האור יום מגיע למכשיר האדשה הנוכחית היא האדשה של האינפרא, המכשיר עדין לא יכול לזום באור יום כראוי. המסנן מנע מהאינפרא לעבור ולאפשר למכשיר לזום באור יום כראוי.

אדשות אינפאר אדום משמשת במכשירים שנבנו לזום באור יום כמו מצלמות אבטחה וכדומה, היא מאפשרת להם לזום באור יום ובאור נע באופן מדוייק ולא תלוי בכיכר האינפרא.

https://www.photonics.com/Article.aspx?AID=22473

&nbsp;

כתיבת תגובה