ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Arduino Software Internals: A Complete Guide to How Your Arduino Language and Hardware Work Together

دانلود کتاب نرم افزار داخلی Arduino: راهنمای کاملی برای چگونگی همکاری زبان و سخت افزار آردوینو

Arduino Software Internals: A Complete Guide to How Your Arduino Language and Hardware Work Together

مشخصات کتاب

Arduino Software Internals: A Complete Guide to How Your Arduino Language and Hardware Work Together

ویرایش: [1 ed.] 
نویسندگان:   
سری:  
ISBN (شابک) : 1484257898, 9781484257890 
ناشر: Apress 
سال نشر: 2020 
تعداد صفحات: 636
[627] 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 6 Mb 

قیمت کتاب (تومان) : 52,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 9


در صورت تبدیل فایل کتاب Arduino Software Internals: A Complete Guide to How Your Arduino Language and Hardware Work Together به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب نرم افزار داخلی Arduino: راهنمای کاملی برای چگونگی همکاری زبان و سخت افزار آردوینو نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب نرم افزار داخلی Arduino: راهنمای کاملی برای چگونگی همکاری زبان و سخت افزار آردوینو


تنها ساختن پروژه های آردوینو کافی نیست. وقت آن است که در واقع یاد بگیرید که چگونه کار می کند! این کتاب نه تنها نحوه استفاده از نرم‌افزار و سخت‌افزار آردوینو را به شما آموزش می‌دهد، بلکه مهم‌تر از آن به شما نشان می‌دهد که چگونه همه کار می‌کند و چگونه نرم‌افزار با سخت‌افزار ارتباط دارد.

<. div>Internals نرم افزار آردوینو به بررسی دقیق محیط آردوینو می پردازد. ما به زبان آردوینو، ویژگی‌های سخت‌افزاری و اینکه چگونه سازندگان می‌توانند در نهایت خود را از دست گرفتن محیط آردوینو راحت کنند و به سمت کدنویسی در AVR C++ ساده حرکت کنند و با میکروکنترلر به زبان مادری آن صحبت کنند، خواهیم گفت.

آنچه یاد خواهید گرفت:
  • نحوه ارتباط زبان آردوینو با سخت افزار و همچنین نحوه ارتباط آن در واقع در C++ کار می کند؛
  • نحوه کارکرد سیستم کامپایل و اینکه چگونه می توان کیت را مطابق با نیازهای شخصی تغییر داد؛
  • مقدار کمی از زبان اسمبلی AVR؛
  • دقیقاً نحوه راه‌اندازی و استفاده از ویژگی‌های سخت‌افزاری مختلف AVR بدون نیاز به امتحان و رمزگشایی برگه‌های داده – که اغلب دارای اشکال هستند و واضح نیستند؛
  • گزینه‌های جایگزین برای Arduino IDE که ممکن است به آنها کمک کند گردش کار بهتر؛
  • چگونه از ابتدا کلون آردوینو خود را بسازیم.

این کتاب برای چه کسی است : 
برای این کتاب نیازی به تخصص نیست! تنها چیزی که نیاز دارید علاقه به یادگیری در مورد آنچه با آردوینو می سازید و نحوه کار آنها است. این کتاب همچنین برای کسانی که به دنبال درک میکروکنترلر AVR مورد استفاده در بردهای آردوینو هستند مفید است. به عبارت دیگر، همه سازندگان خوش آمدید!

توضیحاتی درمورد کتاب به خارجی

It’s not enough to just build your Arduino projects; it’s time to actually learn how things work! This book will take you through not only how to use the Arduino software and hardware, but more importantly show you how it all works and how the software relates to the hardware.

Arduino Software Internals takes a detailed dive into the Arduino environment. We’ll cover the Arduino language, hardware features, and how makers can finally ease themselves away from the hand holding of the Arduino environment and move towards coding in plain AVR C++ and talk to the microcontroller in its native language. 

What You’ll Learn:
  • How the Arduino Language interfaces with the hardware, as well as how it actually works in C++;
  • How the compilation system works, and how kit can be altered to suit personal requirements;
  • A small amount of AVR Assembly Language;
  • Exactly how to set up and use the various hardware features of the AVR without needing to try and decode the data sheets – which are often bug ridden and unclear;
  • Alternatives to the Arduino IDE which might give them a better workflow;
  • How to build their own Arduino clone from scratch.

Who This Book Is For: 
No expertise is required for this book! All you need is an interest in learning about what you’re making with Arduinos and how they work. This book is also useful for those looking to understand the AVR microcontroller used in the Arduino boards. In other words, all Makers are welcome!


فهرست مطالب

Table of Contents
About the Author
About the Technical Reviewer
Preface
Chapter 1: Introduction
	1.1.	 Arduino Installation Paths
	1.2.	 Coding Style
	1.3.	 The Arduino Language
	1.4.	 Coming Up
Chapter 2: Arduino Compilation
	2.1.	 Preferences.txt
		2.1.1. Using an ICSP for All Uploads
		2.1.2. Change the Action of Home and End Keys
		2.1.3. Setting Tab Stops
	2.2.	 Globally Defined Paths
	2.3.	 Boards.txt
		2.3.1. Arduino Uno Example
			2.3.1.1. Board Identifier
			2.3.1.2. Identification Settings
			2.3.1.3. Upload Settings
			2.3.1.4. Bootloader Settings
				2.3.1.4.1. Boards.local.txt
			2.3.1.5. Build Settings
			2.3.1.6. Configuring an ICSP
	2.4.	 Platform.txt
		2.4.1. Build Recipes
		2.4.2. Pre- and Post-build Hooks
	2.5.	 Programmers.txt
	2.6.	 Compiling a Sketch
		2.6.1. Arduino Sketch (*.ino) Preprocessing
		2.6.2. Arduino Sketch (*.ino) Build
	2.7.	 The Arduino main() Function
	2.8.	 Header File Arduino.h
		2.8.1. Header File avr\\pgmspace.h
		2.8.2. Header File avr\\io.h
			2.8.2.1. Header File avr/iom328p.h
			2.8.2.2. Header File avr/portpins.h
			2.8.2.3. Header File 
			2.8.2.4. Header File 
			2.8.2.5. Header File 
			2.8.2.6. Header File 
		2.8.3. Header File avr\\interrupt.h
		2.8.4. Header File binary.h
		2.8.5. Header File WCharacter.h
		2.8.6. Header File WString.h
		2.8.7. Header File HardwareSerial.h
		2.8.8. Header File USBAPI.h
		2.8.9. Header File pins_arduino.h
	2.9.	 The init() Function
		2.9.1. Enabling the Global Interrupt Flag
		2.9.2. Enabling Timer/counter 0
		2.9.3. Timer/counter 0 Overflow Interrupt
		2.9.4. Configuring Timer/counter 1 and Timer/counter 2
		2.9.5. Initializing the Analogue to Digital Converter
		2.9.6. Disabling the USART
Chapter 3: Arduino Language Reference
	3.1. Digital Input/Output
		3.1.1. Function pinMode()
		3.1.2. Function digitalRead()
		3.1.3. Function digitalWrite()
	3.2. Analogue Input/Output
		3.2.1. Function analogReference()
		3.2.2. Function analogRead()
		3.2.3. Function analogWrite()
	3.3. Advanced Input/Output
		3.3.1. Function tone()
		3.3.2. Function noTone()
		3.3.3. Function pulseIn()
		3.3.4. Function pulseInLong()
		3.3.5. Function shiftIn()
		3.3.6. Function shiftOut()
	3.4. Time
		3.4.1. Function delay()
		3.4.2. Function delayMicroseconds()
		3.4.3. Function micros()
		3.4.4. Function millis()
	3.5. Interrupts
		3.5.1. Function interrupts()
		3.5.2. Function noInterrupts()
		3.5.3. Function attachInterrupt()
		3.5.4. Function detachInterrupt()
	3.6. Bits and Bobs
		3.6.1. Macro bit()
		3.6.2. Macro bitClear()
		3.6.3. Macro bitRead()
		3.6.4. Macro bitSet()
		3.6.5. Macro bitWrite()
		3.6.6. Macro highByte()
		3.6.7. Macro lowByte()
		3.6.8. Macro sbi()
		3.6.9. Macro cbi()
Chapter 4: Arduino Classes
	4.1.	 The Print Class
		4.1.1. Class Members
		4.1.2. Using the Print Class
	4.2.	 The Printable Class
		4.2.1. An Example Printable Class
	4.3.	 The Stream Class
		4.3.1. Class Members
	4.4.	 The HardwareSerial Class
		4.4.1. Interrupt Handlers
			4.4.1.1. USART Receive Complete Interrupt
			4.4.1.2. USART Data Register Empty Interrupt
		4.4.2. Class Functions and Macros
			4.4.2.1. Macro SERIAL_TX_BUFFER_SIZE
			4.4.2.2. Macro SERIAL_RX_BUFFER_SIZE
			4.4.2.3. Typedefs tx_buffer_index_t and rx_buffer_index_t
			4.4.2.4. Serial Communications Parameters
			4.4.2.5. Macro HAVE_HWSERIAL0
			4.4.2.6. Constructor HardwareSerial()
			4.4.2.7. Function begin(unsigned long baud)
			4.4.2.8. Function begin(unsigned long, uint8_t)
				4.4.2.8.1. Notes on Baud Rate Calculations
				4.4.2.8.2. Notes on Baud Rate Errors
				4.4.2.8.3. Notes on Low- and High-Speed Communications
			4.4.2.9. Function end()
			4.4.2.10. Operator bool()
			4.4.2.11. Function available(void)
			4.4.2.12. Function peek(void)
			4.4.2.13. Function read(void)
			4.4.2.14. Function availableForWrite(void)
			4.4.2.15. Function flush(void)
			4.4.2.16. Function write(uint8_t)
			4.4.2.17. Function _rx_complete_irq(void)
			4.4.2.18. Function _tx_udr_empty_irq(void)
	4.5.	 The String Class
Chapter 5: Converting to the AVR Language
	5.1. Introduction
	5.2. Numbering Systems
		5.2.1. Decimal Numbering
		5.2.2. Binary Numbering
		5.2.3. Hexadecimal Numbering
	5.3. Binary Logical Operations
	5.4. NOT
	5.5. AND
	5.6. OR
	5.7. XOR
	5.8. Replacing the Arduino Language
		5.8.1. The ATmega328P Pins and Ports
	5.9. Replacing pinMode()
	5.10. Replacing digitalWrite()
		5.10.1. Enabling Internal Pullup Resistors
		5.10.2. Bit Twiddling
	5.11. Replacing digitalRead()
		5.11.1. Toggling Output Pins
		5.11.2. Installing digitalToggle()
Chapter 6: Alternatives to the Arduino IDE
	6.1. PlatformIO
		6.1.1. Installing PlatformIO Core
		6.1.2. Testing PlatformIO Core
			6.1.2.1. Set Up Your Environment
			6.1.2.2. Set Up a New Project
			6.1.2.3. Initialize the Project
			6.1.2.4. Arduino-Style Projects
				6.1.2.4.1. Compiling Arduino Projects
				6.1.2.4.2. Uploading Arduino Projects
			6.1.2.5. AVR-Style Projects
				6.1.2.5.1. Compiling AVR Projects
				6.1.2.5.2. Uploading AVR Projects
		6.1.3. Burning Bootloaders
		6.1.4. PlatformIO in an IDE
			6.1.4.1. Set Up a New Code::Blocks Arduino Project
			6.1.4.2. Set Up a New Code::Blocks AVR Project
		6.1.5. PlatformIO Home
			6.1.5.1. Creating Projects
			6.1.5.2. Opening Projects
			6.1.5.3. Importing Arduino Sketches
		6.1.6. PlatformIO IDE
			6.1.6.1. Installation
			6.1.6.2. PIO Home Tab
			6.1.6.3. Creating a New Project
			6.1.6.4. Opening Existing Projects
			6.1.6.5. Editing the Project
			6.1.6.6. Compiling a Project
			6.1.6.7. Upload or Program a Project
	6.2. Arduino Command Line
		6.2.1. Obtaining the Arduino CLI
		6.2.2. Installing
		6.2.3. Configuring the CLI
		6.2.4. Creating Sketches
		6.2.5. Installing Platforms
		6.2.6. Compiling Sketches
		6.2.7. Uploading Sketches
		6.2.8. Uploading Sketches with an ICSP
		6.2.9. Burning Bootloaders
		6.2.10. Serial Usage
Chapter 7: ATmega328P Configuration and Management
	7.1.	 ATmega328P Fuses
		7.1.1. Low Fuse Bits
			7.1.1.1. SUT Fuse Bits
			7.1.1.2. CKSEL Fuse Bits
		7.1.2. Low Fuse Factory Default
		7.1.3. Arduino Low Fuse Settings
		7.1.4. High Fuse Bits
		7.1.5. High Fuse Factory Default
		7.1.6. Arduino High Fuse Settings
		7.1.7. Extended Fuse Bits
		7.1.8. Extended Fuse Factory Default
		7.1.9. Arduino Extended Fuse Settings
	7.2.	 Brown-Out Detection
	7.3.	 The Watchdog Timer
		7.3.1. Watchdog Timer Modes of Operation
		7.3.2. Amended Sketch setup() Function
		7.3.3. Watchdog Timer Reset
		7.3.4. The Watchdog Timer Control Register
		7.3.5. Enabling the Watchdog Timer
		7.3.6. Setting the Watchdog Timer Timeout
		7.3.7. Disabling the Watchdog Timer
		7.3.8. Putting the AVR to Sleep
		7.3.9. Sleep Modes
			7.3.9.1. Idle Sleep Mode
			7.3.9.2. ADC Noise Reduction Sleep Mode
			7.3.9.3. Power Down Sleep Mode
			7.3.9.4. Power Save Sleep Mode
			7.3.9.5. Standby Sleep Mode
			7.3.9.6. Extended Standby Sleep Mode
		7.3.10. Analogue Comparator
	7.4.	 Power Reduction
		7.4.1. Power Consumption
			7.4.1.1. Calculating Power Requirements
		7.4.2. Power Reduction Register
		7.4.3. Saving Arduino Power
		7.4.4. The Power Functions
	7.5.	 Bootloaders
		7.5.1. Flash Memory
		7.5.2. Lock Bits
			7.5.2.1. Device Lock Bits
			7.5.2.2. Bootloader Lock Bits
				7.5.2.2. Bootloader Lock Bits 0
				7.5.2.2. Bootloader Lock Bits 1
		7.5.3. Installing the Uno (Optiboot) Bootloader
		7.5.4. Optiboot Bootloader Operation
Chapter 8: ATmega328P Hardware: Timers and Counters
	8.1.	 Timer/Counters
		8.1.1. Timer/Counter 0 (8 Bits)
		8.1.2. Timer/Counter 1 (8, 9, 10, and/or 16 Bits)
		8.1.3. Timer/Counter 2 (8 Bits)
		8.1.4. Timer/Counter Clock Sources
		8.1.5. Timer/Counter Operating Modes
			8.1.5.1. Timers Disabled
				8.1.5.1.1. Disabling the Timers
			8.1.5.2. Normal Mode
				8.1.5.2.1. Setting Normal Mode
				8.1.5.2.2. Example Sketch
		8.1.6. Clear Timer on Compare Match Mode
			8.1.6.1. Setting CTC Mode
			8.1.6.2. Example Sketch
		8.1.7. PWM Modes
			8.1.7.1. Duty Cycle
			8.1.7.2. PWM Frequencies
			8.1.7.3. Fast PWM Mode
				8.1.7.3.1. Setting Fast PWM Mode
				8.1.7.3.2. Example Sketch
			8.1.7.4. Phase Correct PWM Mode
				8.1.7.4.1. Setting Phase Correct PWM Mode
				8.1.7.4.2. Example Sketch
			8.1.7.5. Phase and Frequency Correct PWM Mode
				8.1.7.5.1. Setting Phase and Frequency Correct PWM Mode
		8.1.8. Too Much to Remember? Try AVRAssist
	8.2.	 Counting
		8.2.1. Setting External Counting
		8.2.2. Counter Example
	8.3.	 Input Capture Unit
Chapter 9: ATmega328P Hardware: ADC and USART
	9.1. The Analogue Comparator
		9.1.1. Reference Voltage
		9.1.2. Sampled Voltage
		9.1.3. Digital Input
		9.1.4. Enable the Analogue Comparator
		9.1.5. Select Reference Voltage Source
			9.1.5.1. External Reference
			9.1.5.2. Internal Bandgap Reference
		9.1.6. Select Sampled Voltage Source Pin
			9.1.6.1. Sample Voltage on Pin AIN1
			9.1.6.2. Sample Voltage on Pins A0–A7
		9.1.7. Sampled Voltage Summary
		9.1.8. Comparator Outputs
		9.1.9. Comparator Example
	9.2. Analogue to Digital Converter (ADC)
		9.2.1. ADC Setup and Initiation
			9.2.1.1. Powering the ADC
			9.2.1.2. Selecting the Prescaler
			9.2.1.3. Selecting the Reference Voltage Source
			9.2.1.4. Left or Right Alignment?
			9.2.1.5. Selecting an Input Source
			9.2.1.6. Disable Digital Input
			9.2.1.7. ADC Interrupt
			9.2.1.8. Single-Shot or Auto Trigger?
			9.2.1.9. Enabling the ADC and Initiating Conversions
			9.2.1.10. ADC Conversions
		9.2.2. Noise Reduction
		9.2.3. Temperature Measurement
		9.2.4. ADC Example
	9.3. USART
		9.3.1. Baud Rates
		9.3.2. Double Speed
		9.3.3. Baud Rate Calculations
		9.3.4. Baud Rate Errors
		9.3.5. What Is a Frame?
		9.3.6. Parity
		9.3.7. Interrupts
			9.3.7.1. TX Complete Interrupt
			9.3.7.2. TX Data Register Empty Interrupt
			9.3.7.3. RX Complete
		9.3.8. Initializing the USART
			9.3.8.1. Powering the USART
			9.3.8.2. Choosing the USART Mode
			9.3.8.3. Baud Rate Setting
			9.3.8.4. Frame Settings
			9.3.8.5. Setting Parity
			9.3.8.6. Setting Stop Bits
			9.3.8.7. Setting Data Width
			9.3.8.8. Enabling Double-Speed Mode
			9.3.8.9. Enabling Interrupts
			9.3.8.10. Enabling Data Transmission
			9.3.8.11. Enabling Data Receipt
			9.3.8.12. Transmitting or Receiving 9-Bit Data
		9.3.9. USART Checks
			9.3.9.1. USART Receive Complete
			9.3.9.2. USART Transmit Complete
			9.3.9.3. USART Data Register Empty
			9.3.9.4. USART Frame Error
			9.3.9.5. USART Data Overrun
			9.3.9.6. USART Parity Error
		9.3.10. USART Example
Appendix A:
Arduino Paths
Appendix B:
ATmega328P Pinout
Appendix C:
ATmega328P Power Restrictions
	C.1. Power in Total
	C.2. Power per Port
	C.3. Power per Pin
Appendix D:
Predefined Settings
	D.1. Global Interrupts
	D.2. Timer/counter 0
	D.3. Timer/counters 1 and 2
	D.4. USART
	D.5. Analogue to Digital Converter
Appendix E:
ADC Temperature Measuring
Appendix F:
Assembly Language: Briefly
Appendix G:
Smallest Blink Sketch?
Appendix H:
NormDuino
Appendix I:
No ICSP? No Problem!
	I.1. ArduinoISP Sketch
	I.2. Connections
	I.3. Choose Your Programmer
	I.4. Burn the Bootloader
Appendix J:
Breadboard 8 MHz Board Setup
Appendix K: AVRAssist
	K.1. Components
	K.2. In Use
Index




نظرات کاربران