HWzoneHWzoneHWzone
  • ראשי
  • כתבות פופולריות
  • הגדרת התראות
  • מחשבים
    מחשבים
    הצג עוד
    כתבות מובילות
    הדרך להפסיק לשלם ולקחת בעלות: בנינו שרת AI מפלצתי מקומי
    22/08/2026
    מחשב ASUS Ascent GX10 מבוסס NVIDIA DGX Spark בסקירה: דמוקרטיזציה של מודלים מקומיים
    04/10/2026
    מחיקת זיכרון: למה מיקרוסופט מסתירה פתאום את המלצת ה-32 גיגה-בייט למחשבים אישיים?
    06/08/2026
    כתבות אחרונות
    אחרי שנים של סירוב: אפל משיקה MacBook Pro עם מסך מגע
    28/10/2026
    NVIDIA הגבילה את ביצועי ה-AI בכרטיסי GeForce – מודרים הצליחו להכפיל אותם
    26/10/2026
    אחד הכרטיסים ממשלוח ה-RTX 5090 שנעלם – הופיע באינטרנט
    24/10/2026
    מייסד 3dfx: בזכות Quake מכרנו כנראה מיליוני כרטיסי Voodoo
    23/10/2026
  • גאדגטים
    גאדגטים
    הצג עוד
    כתבות מובילות
    ניסיתי סמארטפון מתקפל בפעם הראשונה – התרשמויות משימוש Galaxy Z Fold8
    27/09/2026
    הדמיה של מערכת הבית החכם החדשה של אפל עם מסך HomePad, רמקול HomePod mini ומזרים Apple TV 4K
    אפל חוזרת לסלון: שלושה מוצרים חדשים בדרך, כולל מסך חכם שיתחרה באמזון ובגוגל
    10/10/2026
    שחזור דיגיטלי של ה-iPod המקורי משנת 2001 מופיע בתוך דף אינטרנט במחשב נייד
    אפל מחזירה את ה-iPod המקורי לחיים, ומחביאה אותו באתר שלה
    25/10/2026
    כתבות אחרונות
    אפל מחזירה את ה-iPod המקורי לחיים, ומחביאה אותו באתר שלה
    25/10/2026
    סיכום השבוע: Claude, GTA 6 ועוד
    23/10/2026
    25 שנה ל-HWzone: מהיום, האתר נבנה סביבך
    20/10/2026
    ה-iPhone Duo נמכר עד ינואר 2027, אבל אפל כבר מקדימה משלוחים
    20/10/2026
  • גיימינג
    גיימינג
    הצג עוד
    כתבות מובילות
    GIGABYTE GAMING A16 עם RTX 5060 – מה תקבלו בקטגוריה הזולה של מחשבי גיימינג ניידים?
    12/09/2026
    המחשה של לוח אם בקונסולת משחקים עתידית עם שבבי זיכרון ואחסון חשופים
    ה-PlayStation 6 עשויה לעלות יותר מ-1,000 דולר
    20/10/2026
    Control Resonant הוא משחק כבד, אבל עמוס בטכנולוגיות מתקדמות – בדקנו
    30/09/2026
    כתבות אחרונות
    GTA 6 עשוי לדרוש 210GB – כמעט שליש מהאחסון ב-PS5
    28/10/2026
    בלי מחשב ובלי סטרימינג: משחקי PC רצים ישירות על PlayStation 5
    27/10/2026
    סיכום השבוע: Claude, GTA 6 ועוד
    23/10/2026
    מיקרוסופט תגבה 12 דולר על 50 שעות משחק ב-Xbox Cloud Gaming
    22/10/2026
  • טכנולוגיה
    טכנולוגיה
    הצג עוד
    כתבות מובילות
    מודל 44 טריליון הדולר של אנתרופיק: כשהמתכנתים יפנו את מקומם לחשמלאים
    14/09/2026
    לווייני תקשורת של Starlink מעל רשת סלולרית עירונית עם אנטנות קרקעיות וסמארטפון המחובר לרשת
    מאסק בונה חברת סלולר עם 15 אלף לוויינים ואנטנות קרקעיות
    11/10/2026
    סיכום השבוע ב-HWzone
    סיכום השבוע: Claude, GTA 6 ועוד
    23/10/2026
    כתבות אחרונות
    אינסטגרם בוחנת סרטוני 90 דקות – בלי לשתף את היוצרים בהכנסות מפרסומות
    28/10/2026
    רבע מעובדי מיקרוסופט קיבלו הצעה לפרוש מרצון
    28/10/2026
    NVIDIA רוצה להרוויח מה-GPU שלכם גם אחרי שכבר שילמתם עליו
    27/10/2026
    81 מיליארד דולר הפסד: המספר החריג מאחורי ההנפקה של Anthropic
    27/10/2026
  • ביקורות
    ביקורות
    הצג עוד
    כתבות מובילות
    הדרך להפסיק לשלם ולקחת בעלות: בנינו שרת AI מפלצתי מקומי
    22/08/2026
    ניסיתי סמארטפון מתקפל בפעם הראשונה – התרשמויות משימוש Galaxy Z Fold8
    27/09/2026
    מחשב ASUS Ascent GX10 מבוסס NVIDIA DGX Spark בסקירה: דמוקרטיזציה של מודלים מקומיים
    04/10/2026
    כתבות אחרונות
    מחשב ASUS Ascent GX10 מבוסס NVIDIA DGX Spark בסקירה: דמוקרטיזציה של מודלים מקומיים
    04/10/2026
    ניסיתי סמארטפון מתקפל בפעם הראשונה – התרשמויות משימוש Galaxy Z Fold8
    27/09/2026
    GIGABYTE GAMING A16 עם RTX 5060 – מה תקבלו בקטגוריה הזולה של מחשבי גיימינג ניידים?
    12/09/2026
    זיכרון Novakey של ADATA XPG – אסתטיקת ה-Cyberpunk של ה-DDR5
    07/09/2026
  • ספיישלים
    • CES
      • CES 2026
      • CES 2025
      • CES 2024
      • CES 2023
      • CES 2022
      • CES 2020
      • CES 2019
      • CES 2018
      • CES 2017
      • CES 2016
      • CES 2015
      • CES 2013
      • CES 2012
      • CES 2011
      • CES 2009
    • Computex
      • Computex 2019
      • Computex 2018
      • Computex 2016
      • Computex 2014
      • Computex 2013
      • Computex 2012
      • Computex 2011
      • Computex 2010
      • Computex 2009
      • Computex 2008
      • Computex 2007
    • E3 2016
    • עשור לאתר המחשבים
    • CeBIT 2008
    • CeBIT 2007
  • פורומים
  • זכרונות
  • הפיד שלי
  • כתבות שקראתי
  • ניהול העדפות
  • ערוצים פרסומיים
עקבו אחרינו ברשתות
  • אודות האתר
  • צרו קשר
  • פרסם אצלנו
  • תנאי שימוש ומדיניות פרטיות
  • הצהרת נגישות
בקריאה עכשיו: היכרות מעמיקה עם Genuino 101, לוח הפיתוח החדש של אינטל וארדואינו
HWzoneHWzone
  • ראשי
  • כתבות פופולריות
  • הגדרת התראות
  • מחשבים
  • גאדגטים
  • גיימינג
  • טכנולוגיה
  • ביקורות
  • ספיישלים
    • CES
    • Computex
    • E3 2016
    • עשור לאתר המחשבים
    • CeBIT 2008
    • CeBIT 2007
  • פורומים
  • זכרונות
עקבו אחרינו
  • אודות האתר
  • צרו קשר
  • פרסם אצלנו
  • תנאי שימוש ומדיניות פרטיות
  • הצהרת נגישות
כתבות נבחרותמחשבים

היכרות מעמיקה עם Genuino 101, לוח הפיתוח החדש של אינטל וארדואינו

עדכון אחרון: 05/07/2016 בשעה 23:55
טובי לויס
20/03/2016
14 דקות קריאה
שיתוף
רוצים לראות יותר מ-HWzone בתוצאות של Google?הוסיפו אותנו כמקור מועדף ב-Google

המתחרה הישיר עבור דגם ה-Arduino 101 כבר כאן, עם מיקרו-בקר זעיר חדש של יצרנית השבבים הגדולה ותמיכה מובנית ב-Bluetooth. בואו ללמוד מה ניתן לעשות איתו, ואיך מבצעים זאת

לפני כשנה בתערוכת CES חשפה אינטל מיקרו-בקר חדש בשם Curie (קירי) המיועד לתחום המחשוב הלביש. מאז אותה הכרזה לא ראינו מוצר ממשי שיצא לשוק מבוסס Cuire – עד היום.

שיתוף פעולה של Arduino עם אינטל יצר בקר Arduino חדש העונה לשם Genuino 101 (הידוע בשם Arduino 101 בארה"ב) ובליבו של הבקר פועם המיקרו בקר החדש והמסקרן. הבקר זהה לחלוטין בגודלו ל-Arduino Uno ומכיל בתוכו תמיכה מובנית ב-BLE (ר"ת Bluetooth Low Energy) וכן במד תאוצה וג'ירוסקופ המעניקים יחדיו 6 דרגות חופש בכל הצירים.

עלות הלוח דרך החנות של Arduino היא 31 דולר, כ-10 דולר יותר מאשר Arduino UNO הפופולרי.

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

מפרט עיקרי:

מאפייןGenuino 101Genuino Uno
מיקרו בקרIntel Curie 32bitATmega328P 8bit
מהירות שעון32Mhz16Mhz
מתח עבודה3.3v5v
כניסות / יציאות דיגיטליות1414
יציאות בעלות יכולת PWM46
כניסות אנלוגיות66
זרם עבודה בכל כניסה / יציאה20mA20mA
מד תאוצה (Accelerometer)ישאין
ג'ירו (Gyro)ישאין
Bluetooth LEישאין
זיכרון פלאש196 KB32 KB
זיכרון SRAM24 KB2 KB

ניתן לראות מהמפרט ש- Genuino 101 מציע מגוון רחב יותר של אפשרויות הן מבחינת פיצ'רים והן מבחינת יכולות עיבוד. הפרמטר היחיד בו Genuino 101 נחות יותר הוא במספר היציאות הדיגיטליות המאפשרות PWM כך שאם יש צורך ביותר מ 4 יציאות PWM לפרויקט שלכם יש צורך להשתמש בחומרה תומכת כגון TLC5940 ודומיו.

התקנה

כדי להתחיל לעבוד עם Genuino 101 יש להתקין את סביבת הפיתוח העדכנית ביותר עבור Arduino מהקישור הבא.

לאחר שההתקנה הושלמה יש להפעיל את התוכנה ולגשת ל-Tools > Board > Boards Manager.

בחלון שנפתח יש לגלול מעט למטה ולחפש את Intel Curie Boards by Intel וללחוץ על כפתור ה-Install שמופיע בצד.

  

ההתקנה נמשכת עשרות שניות עד דקות בודדות שבמהלך ההתקנה תתבקשו לאשר התקנת דרייברים עבור הלוח.

שימוש ב-BLE (ר"ת Bluetooth Low Energy)

נתחיל בבחינת מספר דוגמאות שאינטל צרפה לסביבת העבודה ואותן ניתן למצוא ב-File > Examples. נבחר את CuireBle > BatteryMonitor.

לפני שנצלול לקוד נכיר כמה נקודות בפרוטוקול Bluetooth Low Energy שיעזרו לנו להבין בקלות את התהליך. בניגוד למודולים BT נפוצים ל-Arduino אשר משמשים כ-Serial Port אלחוטי BLE מוגדר ע"י שרותים ומאפיינים שונים בכל שרות.

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

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

BLEPeripheral blePeripheral; // BLE Peripheral Device (the board you're programming) 
BLEService batteryService("180F"); // BLE Battery Service

בשורה השנייה ניתן לראות שאנחנו יוצרים את האובייקט BLEService ומעבירים לו את הערך "180F" בקונסטרקטור. הערך הזה מגיע מהטבלה אליה קישרנו מעלה. כאן אנחנו קובעים שההתקן שלנו יהיה בתקן של Battery Service כך שכל אפליקציה שתתחבר אלינו תדע מה יכולות ההתקן.

השורה הבאה שמעניינת אותנו היא:

BLEUnsignedCharCharacteristic batteryLevelChar("2A19",BLERead | BLENotify);

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

הערך השני שעובר בקונסטרקטור קובע מה תהיה האינטראקציה עם תוכנת הלקוח. כאן אנחנו רואים שהלקוח יוכל לקרוא את הערך (BLERead) וגם לקבל נוטיפיקציה כאשר הערך משתנה באופן אוטומטי (BLENotify).

נמשיך הלאה למקטע הבא:

blePeripheral.setLocalName("BatteryMonitorSketch");
blePeripheral.setAdvertisedServiceUuid(batteryService.uuid()); // add the service UUID
blePeripheral.addAttribute(batteryService); // Add the BLE Battery service
blePeripheral.addAttribute(batteryLevelChar); // add the battery level characteristic
batteryLevelChar.setValue(oldBatteryLevel); // initial value for this characteristic

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

בשתי השורות הבאות אנחנו מעבירים את כל מה שהגדרנו להתקן ה-BLE. שורה האחרונה אנחנו שמים ערך התחלתי למד הסוללה שלנו.

כל שנותר לנו לעשות הוא להפעיל את ההתקן ולהמתין לקישור מול צד הלקוח.

blePeripheral.begin();

כעת נביט על הלולאה הראשית של התוכנית:

void loop() {
	// listen for BLE peripherals to connect:
	BLECentral central = blePeripheral.central();

	// if a central is connected to peripheral:
	if (central) {
		Serial.print("Connected to central: ");
		// print the central's MAC address:
		Serial.println(central.address());
		// turn on the LED to indicate the connection:
		digitalWrite(13, HIGH);

		// check the battery level every 200ms
		// as long as the central is still connected:
		while (central.connected()) {
			long currentMillis = millis();
			// if 200ms have passed, check the battery level:
			if (currentMillis - previousMillis >= 200) {
				previousMillis = currentMillis;
				updateBatteryLevel();
			}
		}
		// when the central disconnects, turn off the LED:
		digitalWrite(13, LOW);
		Serial.print("Disconnected from central: ");
		Serial.println(central.address());
	}
}

אנחנו ממתינים להתחברות של לקוח להתקן שלנו ומאזינים לכך ע"י:

BLECentral central = blePeripheral.central();

ולאחר מכן דוגמאים את המשתנה central, במידה ויש חיבור ניכנס לתוך התנאי, נדפיס את כתובת ה-MAC שלו ונדליק את הלד המובנה בלוח (המחובר לפין מספר 13) כחיווי ויזואלי לחיבור.

כאשר נוצר החיבור אנחנו דוגמים כל 200 מילישניות את הערך בכניסה האנלוגית A0 (ניתן לראות את הפעולה בפונקציה האחרונה בקוד שם updateBatteryLevel) וממפים את הערך (שנקרא מ-0 עד 1023) לטווח 0-100 כפי שמופיע בתקן BLE של ניטור הסוללה.

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

לשם כך, ניתן להשתמש באפליקציה Newbit BLE Tool עבור Windows כדי להתחבר להתקן שהרגע יצרנו ולדגום את כל המאפיינים והערכים שיש בהתקן.

 

 

 

 

האפליקציה מאפשרת לצפות בכל התקני ה-BLE המחוברים למחשב ולקרוא את המאפיינים והערכים שההתקנים מספקים.

במקרה שלנו ניתן לראות שההתקן BatteryMonitorLevel מופיע ברשימה כפי שהגדרנו אותו בתוכנה. לחיצה עליו תפתח לנו בצד ימין את רשימת השירותים הזמינים אצלו, ניתן לראות שהשירות האחרון הוא 180F כפי שהגדרנו קודם ולחיצה עליו מציגה תפריט נוסף מימין עם כל המאפיינים של השירות. גם כאן ניתן לראות שהמאפיין הוא 2A19 המציין את ה-Battery Level.

לחיצה על המאפיין תאפשר שני כפתורים, Read ו-Notify כאשר לחיצה על Read תציג לנו את הערך העדכני שיש להתקן להציע ולחיצה על Notify תציג לנו ערך חדש כל פעם שיהיה שינוי.

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

הסבר על חיבור פוטנציומטר ללוח Arduino ניתן למצוא כאן.

שימוש ב-IMU (ר"ת Inertial Measurement Unit)

IMU כפי שהשם מרמז זו יחידה העוסקת באיסוף נתונים על האורינטציה של הגוף במרחב. הדבר נעשה במקרה שלנו ע"י מד תאוצה (Accelerometer) וג'ירו (Gyro) המעניקים רמת חופש של 6 צירים.

התאוצה בכל הצירים נמדדת ע"י מד התאוצה (3 צירים) והסיבוב ע"י הג'ירו (3 צירים נוספים). שימוש ב-IMU נפוץ במגוון יישומים כגון רחפנים, רובוטים מיוצבים ועוד.

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

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

עבור כיול הג'ירו:

CurieImu.autoCalibrateGyroOffset();

עבור כיול מד התאוצה:

CurieImu.autoCalibrateXAccelOffset(0);
CurieImu.autoCalibrateYAccelOffset(0);
CurieImu.autoCalibrateZAccelOffset(1);

המספרים אותם אנחנו מעבירים (0 או 1) בכיול האוטומטי של מד התאוצה מציינים כמה g (ערך התאוצה של כח הגרביטציה) אנחנו אמורים לחוש בכל אחד מהצרים. היות והלוח צריך להיות מונח על השולחן בצורה אופקית רק ציר Z הניצב ללוח צריך להרגיש תאוצה בערך של g (כ-9.8 m/s2). אם הלוח היה הפוך 180 מעלות היינו שמים -1 וכו'.

פונקציות הקליברציה למעשה אוספות נתונים מהסנסורים היות תמיד יש "רעש" וממצעת אותם, הערך שהתקבל הוא למעשה ה-offset שאותו תמיד מחסירים מהערך שהתקבל וכך אנחנו מקבלים קריאה נקייה יותר של הערך.

כאשר תהליך איסוף הנתונים מסתיים ניתן להדפיס רק את ערכי ה-offset למסך כדי להתרשם מהם. זה מה שקטע הקוד שלאחר השורה Internal sensor offsets AFTER calibration עושה.

שתי השורות הבאות קובעות שיש לעשות שימוש בקיזוז ה-offset כדי לקבל נתונים נקיים:

CurieImu.setGyroOffsetEnabled(true);
CurieImu.setAccelOffsetEnabled(true);

אם נרצה לקבוע ידנית את ה-offset עבור כל ציר פשוט נאפשר את השורות הבאות בקוד במקום הקוד האוטומטי:

CurieImu.setXGyroOffset(220);
CurieImu.setYGyroOffset(76);
CurieImu.setZGyroOffset(-85);
CurieImu.setXAccelOffset(-76);
CurieImu.setYAccelOffset(-235);
CurieImu.setZAccelOffset(168);

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

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

כדי לקרוא את הכל ביחד יש להשתמש בשורה הבאה:

CurieImu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);

כאשר הפונקציה מקבלת פוינטרים לכל המשתנים (מטיפוס int16_t) כדי לשנות אותם.

כדי לקרוא כל סנסור בנפרד יש לבצע עבור מד התאוצה:

CurieImu.getAcceleration(&ax, &ay, &az);

ועבור הג'ירו:

CurieImu.getRotation(&gx, &gy, &gz);

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

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

רוצים לראות יותר מ-HWzone בתוצאות של Google?הוסיפו אותנו כמקור מועדף ב-Google

הצטרפו לערוץ הטלגרם שלנו!

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

הצטרפו עכשיו

כרטיס המסך ARC B580 12GB של אינטל בסקירה: התקווה לתחרות בעולם הגרפיקה לצרכן
צל ענק מעל לאס וגאס: תערוכת CES 2026 בסימן משבר הזיכרונות העולמי
הענק מתעורר? אינטל מאשרת בשקט את קיום ה-Battlemage הגדול: כל הפרטים על ה-B770
המהלך של אינטל לשיקום השליטה: סדרת ה-Arrow Lake Refresh נחשפת לקראת 2026
הדלפה דרמטית: מעבד ה-Panther Lake החדש של אינטל מביס את ספינת הדגל של AMD – בצריכת חשמל נמוכה יותר
תגיות:אינטל
איך זה גורם לך להרגיש?
אהבתי!0
מצחיק!0
עצוב0
מופתע0
משועמם0
כועס0
טוען תגובות...

כתבות פופולריות

הדרך להפסיק לשלם ולקחת בעלות: בנינו שרת AI מפלצתי מקומי
22/08/2026
ניסיתי סמארטפון מתקפל בפעם הראשונה – התרשמויות משימוש Galaxy Z Fold8
27/09/2026
מחשב ASUS Ascent GX10 מבוסס NVIDIA DGX Spark בסקירה: דמוקרטיזציה של מודלים מקומיים
02/10/2026
מחיקת זיכרון: למה מיקרוסופט מסתירה פתאום את המלצת ה-32 גיגה-בייט למחשבים אישיים?
06/08/2026
HWzoneHWzone
עקבו אחרינו
  • אודות האתר
  • צרו קשר
  • פרסם אצלנו
  • תנאי שימוש ומדיניות פרטיות
  • הצהרת נגישות