สารบัญ:
วีดีโอ: NOCAR (Notificación De Carga): 5 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
เชิงนามธรรม
เราสร้างสรรค์เทคโนโลยีและเทคนิคใหม่ๆ ทุกปี ในอดีต เครื่องทำไอน้ำเป็นก้าวแรกของสิ่งที่เราเรียกว่าการปฏิวัติอุตสาหกรรม มนุษย์ไม่ได้อ้อยอิ่งตั้งแต่นั้นมา เราได้สร้างเครื่องจักรเพื่อทำให้ชีวิตของเราง่ายขึ้น และทุกครั้งที่เราพยายามปรับปรุงสิ่งต่าง ๆ และกระบวนการที่เราได้ทำไปแล้ว
รถยนต์สมัยใหม่เปิดตัวครั้งแรกในปี พ.ศ. 2429 ตั้งแต่นั้นมาก็มีการพัฒนาครั้งใหญ่ในหลายด้าน ตั้งแต่การจำกัดความเร็วไปจนถึงการควบคุมน้ำหนัก มีการเปลี่ยนแปลงและดำเนินไปหลายเส้นทาง เทคโนโลยีใหม่ทำให้รถไม่ต้องใช้เชื้อเพลิงฟอสซิล: รถยนต์ไฮบริด อย่างไรก็ตาม วิธีการนี้มีข้อจำกัดมากกว่า ข้อเสียอย่างหนึ่งคือเวลาในการชาร์จ มันไม่ง่ายขนาดนั้นหรอกที่จะไปที่ปั๊มน้ำมันและเติมน้ำมันในถังภายในสองสามนาที รถบางคันต้องใช้เวลาหลายชั่วโมงในการชาร์จจนเต็ม หลายๆ แห่งหากปั๊มน้ำมันอยู่ใกล้โซนพักผ่อนหรือแหล่งช้อปปิ้งอย่างไรก็ตาม และมันก็สมเหตุสมผล ถ้าใช้เวลานานกว่าจะเติมแบตเตอรี่ของคุณ ก็ไม่มีประโยชน์ที่คุณจะต้องอยู่ที่นั่นตลอดเวลา ดังนั้นมันจึงเปิดโอกาสให้คุณได้ไปทุกที่ที่คุณต้องการในระหว่างนี้ อย่างไรก็ตาม เมื่อรถชาร์จแล้ว หากคุณไม่ได้นำรถออกจากสถานีชาร์จ จะมีค่าปรับสำหรับรถของคุณ วัตถุประสงค์ของผลิตภัณฑ์นี้คือการแก้ปัญหาปกติในรถยนต์ไฮบริดในอนาคต (รถยนต์ไฮบริดมีเดิมพันที่ดีบนโต๊ะ) เราใช้ระบบวงจรโดยใช้ Dragonboard 410c โดยจะส่งอีเมลเพื่อแจ้งเตือนว่าค่าพลังงานของรถคุณอยู่ที่เปอร์เซ็นต์ที่แน่นอน ด้วยวิธีนี้ คุณสามารถทำกิจกรรมต่างๆ ได้โดยไม่ต้องกังวลว่ารถของคุณยังชาร์จไฟอยู่หรือพร้อมหรือยัง (และมีแนวโน้มว่าจะถูกปรับ) แม้ว่าในเม็กซิโก ปัญหาประเภทนี้จะไม่เกิดขึ้น แต่เร็วกว่าที่เราคาดหมายว่าระบบใหม่จะเข้ามาแทนที่เชื้อเพลิงฟอสซิล และรถยนต์ไฮบริดจะเข้ามามีบทบาทสำคัญ มีการจัดตั้งกฎหมายใหม่ขึ้น และค่าปรับก็เป็นความจริง ไม่ใช่ความคิดที่ห่างไกล
เครดิตภาพ: Clipper Creek: สถานีชาร์จรถยนต์ไฟฟ้า
ขั้นตอนที่ 1: วัสดุ
- DragonBoard 410c
- ชั้นลอยสำหรับ 96บอร์ด
- โปรโตบอร์ด
- สายจัมเปอร์
- ปุ่มกด
- ตัวต้านทาน 10 โอห์ม
- โพเทนซิโอมิเตอร์ 10k โอห์ม
- ตัวเก็บประจุ 150 pF
- ชิป ADC0804
ขั้นตอนที่ 2: รหัส
#รวม
#รวม
#รวม
#รวม "libsoc_gpio.h"
#include "libsoc_debug.h"
#include "libsoc_board.h"
ไม่ได้ลงชื่อใน GPIO_PIN1;
ไม่ได้ลงนามใน GPIO_PIN2;
ไม่ได้ลงชื่อใน GPIO_PIN3;
ไม่ได้ลงชื่อใน GPIO_PIN4;
ไม่ได้ลงนามใน GPIO_TRANSIS;
ไม่ได้ลงนามใน GPIO_SELECT;
ไม่ได้ลงนามใน GPIO_ENTER;
int ที่ไม่ได้ลงชื่อ GPIO_LEDTEST;
ธงชาติ;
ความกล้าหาญที่แท้จริงBoton;
int valorLEDทดสอบ;
int pin1_state=0;
int pin2_state=0;
int pin3_state=0;
int pin4_state=0;
int last_touch_pin1;
int last_touch_p1;
int last_touch_pin2;
int last_touch_p2;
int last_touch_pin3;
int last_touch_p3;
int last_touch_pin4;
int last_touch_p4;
int select_state=0;
int enter_state=0;
int transis_state=0;
int last_touch_b;
int last_touch_l;
int led_state = 0;
int buzzer_state = 0;
การวิ่งภายใน = 1;
_attribute_((ตัวสร้าง)) โมฆะคงที่ _init()
{
board_config *config = libsoc_board_init();
GPIO_PIN1 = libsoc_board_gpio_id (config, "GPIO-A");
GPIO_PIN2 = libsoc_board_gpio_id (config, "GPIO-B");
GPIO_PIN3 = libsoc_board_gpio_id (config, "GPIO-C");
GPIO_PIN4 = libsoc_board_gpio_id (config, "GPIO-D");
GPIO_TRANSIS = libsoc_board_gpio_id (config, "GPIO-E");
GPIO_SELECT = libsoc_board_gpio_id (config, "GPIO-G");
GPIO_ENTER = libsoc_board_gpio_id (config, "GPIO-H");
GPIO_LEDTEST = libsoc_board_gpio_id (config, "GPIO-I");
libsoc_board_free(config);
}
int หลัก ()
{
gpio *gpio_pin1, *gpio_pin2, *gpio_pin3, *gpio_pin4, *gpio_transis, *gpio_select, *gpio_enter, *gpio_ledtest;
int touch_pin1;
int touch_pin2;
int touch_pin3;
int touch_pin4;
int touch_transis;
int touch_select;
int touch_enter;
int touch_ledtest;
libsoc_set_debug(0);
gpio_pin1 = libsoc_gpio_request (GPIO_PIN1, LS_SHARED);
gpio_pin2 = libsoc_gpio_request (GPIO_PIN2, LS_SHARED);
gpio_pin3 = libsoc_gpio_request (GPIO_PIN3, LS_SHARED);
gpio_pin4 = libsoc_gpio_request (GPIO_PIN4, LS_SHARED);
gpio_transis = libsoc_gpio_request (GPIO_TRANSIS, LS_SHARED);
gpio_select = libsoc_gpio_request (GPIO_SELECT, LS_SHARED);
gpio_enter = libsoc_gpio_request (GPIO_ENTER, LS_SHARED);
gpio_ledtest = libsoc_gpio_request (GPIO_LEDTEST, LS_SHARED);
ถ้า((gpio_pin1 == NULL) || (gpio_pin2 == NULL) || (gpio_pin3 == NULL) || (gpio_pin4 == NULL) || (gpio_transis == NULL) || (gpio_select == NULL) || (gpio_enter == NULL) || (gpio_ledtest == NULL))
{
ไปล้มเหลว;
}
libsoc_gpio_set_direction (gpio_pin1, INPUT);
libsoc_gpio_set_direction (gpio_pin2, INPUT);
libsoc_gpio_set_direction (gpio_pin3, INPUT);
libsoc_gpio_set_direction (gpio_pin4, INPUT);
libsoc_gpio_set_direction (gpio_transis, INPUT);
libsoc_gpio_set_direction (gpio_select, INPUT);
libsoc_gpio_set_direction (gpio_enter, INPUT);
libsoc_gpio_set_direction (gpio_ledtest, เอาต์พุต);
ถ้า((libsoc_gpio_get_direction(gpio_pin1) != INPUT)
|| (libsoc_gpio_get_direction(gpio_pin2) != INPUT) || (libsoc_gpio_get_direction(gpio_pin3) != INPUT) || (libsoc_gpio_get_direction(gpio_pin4) != INPUT)
|| (libsoc_gpio_get_direction(gpio_transis) != INPUT) || (libsoc_gpio_get_direction(gpio_select) != INPUT) || (libsoc_gpio_get_direction(gpio_enter) != INPUT) || (libsoc_gpio_get_direction(gpio_ledtest) != เอาต์พุต))
{
ไปล้มเหลว;
}
ในขณะที่(วิ่ง)
{
touch_pin1 = libsoc_gpio_get_level (gpio_pin1);
touch_pin2 = libsoc_gpio_get_level (gpio_pin2);
touch_pin3 = libsoc_gpio_get_level (gpio_pin3);
touch_pin4 = libsoc_gpio_get_level (gpio_pin4);
touch_enter = libsoc_gpio_get_level (gpio_enter);
touch_select = libsoc_gpio_get_level(gpio_select);
touch_transis = libsoc_gpio_get_level (gpio_transis);
touch_ledtest = libsoc_gpio_get_level (gpio_ledtest);
ถ้า(touch_select == 1)
{
ความกล้าหาญBoton++;
ถ้า(valorBoton==4)
{
ความกล้าหาญBoton=0;
}
}
ถ้า(valorBoton==3)
{
valorLEDTest=1;
libsoc_gpio_set_level (gpio_ledtest, valorLEDTest);
}
}
ล้มเหลว: if(gpio_pin1 || gpio_pin2 || gpio_pin3 || gpio_pin4 || gpio_transis || gpio_select || gpio_enter || gpio_ledtest)
{
printf("ใช้ทรัพยากร gpio ล้มเหลว!\n");
libsoc_gpio_free(gpio_pin1);
libsoc_gpio_free(gpio_pin2);
libsoc_gpio_free(gpio_pin3);
libsoc_gpio_free(gpio_pin4);
libsoc_gpio_free(gpio_transis);
libsoc_gpio_free(gpio_select);
libsoc_gpio_free(gpio_enter);
libsoc_gpio_free(gpio_ledtest);
}
ส่งคืน EXIT_SUCCESS;
}
ขั้นตอนที่ 3: วงจรไฟฟ้า
วงจรนี้ทำงานเป็นตัวแปลงอนาล็อกเป็นดิจิตอล มันใช้สัญญาณของโพเทนซิออมิเตอร์ที่มีค่าระหว่าง 0 ถึง 5 โวลต์ จากนั้นตัวแปลงจะทำให้มันเป็นสัญญาณดิจิตอลระหว่าง 0 ถึง 255 บิต และส่งไปที่ DragonBoard INPUTS
ขั้นตอนที่ 4:
พัฒนาโดย:
Alfredo Fontes
เมาริซิโอ โกเมซ
Jorge Jiménez
เจอราร์โด โลเปซ
เฟลิเป้ โรฮาส
หลุยส์ โรฮาส
Ivón Sandoval
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
Lámpara Portátil Con Carga Por Inducción (En Proceso): 4 ขั้นตอน
Lámpara Portátil Con Carga Por Inducción (En Proceso): Primera versión de lámpara transportable con carga por inducción.Componentes:Bateria Lipo 500mAh / 3.7V: https://tienda.bricogeek.com/baterias-lipo/939-bat… Cargador de batería LiPo USB y DC: https://tienda.bricogeek.com/cargadores-de-bateria…รถ